How to solve 'DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS' caused by intelppm.sys?

The DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS bug check has a value of 0x000000CE. This indicates that a driver failed to cancel pending operations before unloading.

More details and fixes here: http://msdn.microsoft.com/en-us/library/windows/hardware/ff560226%28v=vs.85%29.aspx

If you are seeing this problem repeatedly you can manually disable these drivers (with no negative side effect) by going to the following location in the registry:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Processor and changing the Start value to '4'. Or
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Intelppm and changing the Start value to '4'.

If that doesn't work then try to:

  1. Boot in Safe Mode + Networking (F8 at startup)
  2. Go to %Systemroot%\Inf\ and delete all OEM#.inf
  3. Search for intelppm.sys in the c:\windows\ (search for hidden directories and system files) - Delete the 3 results of intelppm.sys
  4. Reboot the Guest normally

The suggestion above (and more) is from VirtualBox forum

HOWEVER, your issue may not be due to the Virtual Box as it mentions the intelppm.sys

So, if the above doesn't work, try

  1. Boot in Safe Mode + Networking (F8 at startup)
  2. Delete the files intelppm.* existing in the c:\windows\ and sub-dirs.
  3. Go to %Systemroot%\Inf\ and delete all OEM*.inf
  4. Re-install Guest Additions.
  5. Reboot

As you can see from the BSOD text, the problem originates from intelppm.sys. This is one of the available CPU drivers that Windows XP ships. I hit this issue when converting a Virtual Box disk image to QEMU. In my case, the file processr.sys was mentioned instead.

Symptoms:

  • Initially the image boots, but you get a BSOD (DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS) on shutdown.
  • You get a BSOD (with the above text) on boot.

Solution(s):

  • Disable the processor and/ or intelppm services as demonstrated by Dave Rook. (Go to HKLM\System\ControlSet001\Services\<service name> and change Start to 4 to disable the service completely.)
  • Prevent installation of these drivers in the first place by removing C:\Windows\inf\cpu.inf.

Extra information:

  • The drivers probably provides functionality like CPU scaling which are likely not supported by these virtualization platforms. You won't notice any missing functionality.

If you are looking for a way to prepare an image for QEMU, have a look at this tool: https://github.com/Lekensteyn/qemu-tools/blob/master/vbox-to-qemu.py