Best VM host platform for kernel development? VMWare Player causing problems

I’ve been developing minifilters in the Windows kernel recently, deployed to a VM running latest W10, hosted under latest VMWare Player. After bugchecks I regular encounter the following problems with the guest OS:

  • Pinned folders disappear from the Start Menu after reboot
  • Files in shared folders get locked by VMWare, preventing builds from completing in Visual Studio and other tools
  • Files in shared folders show up in the guest OS but give File Not Found errors when I try to access them, so I can’t right-click an .inf to install a driver etc.

These issues mean I can’t build an efficient automated deployment/installation process which is really affecting my productivity (not to mention my enthusiasm) especially as I need to develop/deploy two other technology stacks in the VM to work with the minifilters.

Is there an OSR-recommended VM host platform that doesn’t experience these issues? Any advice or recommendations appreciated, thanks! ?

Does the problem persist if you disable your driver ?

hyper-v is built in and its kernel debugging support is pretty good.

I’ve been using VirtualBox for almost a decade for my dev work. My dev machine/host right now is a dual socket Xeon with 32 total cores. I run Kubuntu 20.04 LTS for the host OS. My Windows 10 build machines and various test machines going back to Windows 7 run just fine under VB. Kernel network debugging is flawless. I would not change a thing as it does exactly what I need. I have entire cluster environments I can spin up at the push of a button in VB. I am sure Hyper-V and VMware are comparative, I just like the freeness, and the wide range of platforms supported for the host and the VMs in VB. I’ve booted OS/2 Warp, FreeDOS, Chrome OS, OS/X, and Windows NT 4 in VB just for the fun of it.

Shared folders by VM feature, or regular network drives?
Try the other one.

I always did manual file copy, via drag drop support in VMWare.

I was thinking the exact same thing as @Sergey_Pisarev : does this all work OK without your filter? If you’re attached to the network file systems (i.e. MUP) then you’re in the way of all the HGFS operations on the client.

In any case, I’m a fan of VMware and use it for my everyday development. This is the general setup/workflow that works for me:

  1. VirtualKD-Redux as the debug transport
  2. Transfer files into the VM via drag/drop or Ctrl+C/Ctrl+V or scp
  3. Once installed I update drivers using kdfiles.

-scott

@Sergey_Pisarev said:
Does the problem persist if you disable your driver ?

Never noticed an issue until I get bugchecks, which never happens without my code. ?

@Dejan_Maksimovic said:
Shared folders by VM feature, or regular network drives?
Try the other one.

I always did manual file copy, via drag drop support in VMWare.

Both file sharing options in VMWare. I’m doing DND now and it’s a PITA.

@“Scott_Noone_(OSR)” said:
In any case, I’m a fan of VMware and use it for my everyday development. This is the general setup/workflow that works for me:

  1. VirtualKD-Redux as the debug transport
  2. Transfer files into the VM via drag/drop or Ctrl+C/Ctrl+V or scp
  3. Once installed I update drivers using kdfiles.

-scott

Yeah so far no issues with DND but it makes it impossible to automate my deploys, unless I use a fancy QA tool that emulates human gestures or something.

Thanks for your replies guys, I may spin up a VirtualBox or a free trial of VMWare Workstation to see if those platforms can make my issues go away.

How about actual LAN shares?
I forgot that HGFS is a real PITA for filters to handle, and is easy to
screw it up.
I second the suggestion of not filtering it, if you do.

HGFS is a real PITA for filters to handle

Agreed. It’s really very poorly behaved.

second the suggestion of not filtering it

I’ll “third” that suggestion. We (OSR) tend not to support filtering it in our products.

Peter

Yeah so far no issues with DND but it makes it impossible to automate my deploys, unless I use a fancy QA tool that emulates human gestures or something.

There’s always scp (Windows 10 has a built in OpenSSH Server feature).

1 Like