It’s great to finally solve a Blue Screen of Death (BSOD)

I've been using VMWare Workstation for over 8 years, and I love how it allows me to setup different operating systems on my workstation for evaluation, test, special connectivity, or software installation and operational testing without any risk to my base OS installation. I am currently running Vista Ultimate x64 with VMWare Workstation 6.5.

Recently, after upgrading to the latest build of VMWare Workstation, I started experiencing computer freezes when I would turn on the monitor in the morning. I would have to reset my workstation, and 9 times out of 10, one of my RAID 0 arrays would need rebuilding, which required me to boot into Safe Mode, allow the rebuild to complete, and then reboot normally. This time lost was starting to mount, and I was getting extremely tired of it. Late last week, upon re-booting, I got a so-called Blue Screen of Death (BSOD) indicating an INTERNAL_POWER_ERROR (0xA0).  And I couldn’t even boot into Safe Mode, despite repeated tries with some intervening reversions to BIOS defaults. I wasn’t able to find a lot of good information (via a web search) on this BSOD, until I happened on an article on Scott Hanselman’s Blog. Hmm, he says VMWare might be to blame. And it turns out it’s a power transition issue with the USB connection that Bluetooth wireless keyboards and/or mice use via their dongle. I have a Microsoft Bluetooth Wireless Elite Keyboard & Mouse, and with unplugging the Bluetooth dongle or uninstalling VMWare being the only workarounds, I was in a bind. Heck, I couldn’t even find the supposed offending driver, VMKbd.sys on my system! After a lot of searching and testing, I think I found a solution buried deep down in one of the VMWare Community forums postings. Here’s the essential part of that forum post located in the middle of this page:

1. Open Regedit.

2. Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E96B-E325-11CE-BFC1-08002BE10318}.

Here you will find an "UpperFilters" param of type REG_MULTI_SZ with a value like: "kbdclass vmkbd". If you open it up to modify it, you will see one driver name per line; notice that vmkbd by default is the last in the list. Edit (Cut and Paste) that parameter by putting the vmkbd entry to be the first in the list.

Note that in some cases "vmkbd" can be named differently: vmkbd2, vmkbd3 - it does not matter. It is probably because you have installed a newer version of VMWare over the old one or something like that, and the previous driver was not able to be delete it from the registry. Remember to re-check this registry entry the next time you upgrade VMWare.

3. Reboot and you should no longer have any BSOD’s related to this issue.

I’ve had no problems re-booting after a critical out-of-band security patch and some Windows Updates, no freezes have greeted me upon arising, and I’ve had the chance to actually get some work done this week. Hope this helps.

Bob Baker

posted @ Wednesday, October 29, 2008 10:53 AM



Comments have been closed on this topic.