Monday, 6 December 2010

Windows XP Mode in virtualBox

In order to run Windows XP under virtualBox, I did the following:

Firstly, in order to activate the XP Mode VM in virtualBox, I set HKLM\SOFTWARE\Microsoft\Windows NT\WPAEvents\CurrentVersion\WPAEvents\OOBETimer to FF D5 71 D6 8B 6A 8D 6F D5 33 93 FD and then denied SYSTEM's permission to the WPAEvents key.

To check activation, run %systemroot%\system32\oobe\msoobe.exe /a. Bad idea, grace period (a.k.a. time bomb) still expires this way and can be reset at most 4 times using rundll32.exe syssetup,SetupOobeBnk.

Although both processors show up in Device Manager, they don't show up in Task Manager. The "Computer" tab does not show a multiprocessor ACPI. In order to allow multiple processors to be used inside the VM, I have to install the multiprocessor HAL halmacpi.dll and kernel ntkrnlmp.exe. I find those files in sp3.cab and copied them to %systemroot%\system32. Then I added the options /kernel=ntkrnlmp.exe /hal=halmacpi.dll to the last line in \boot.ini and rebooted. Edit \boot.ini by selecting Startup and Recovery Settings from the System Properties "Advanced" tab.

After rebooting, new hardware is detected and both processors now show up in Task Manager.

Finally, it's a good idea to turn off the login window by running control userpasswords2 and clearing the "users must enter a user name and password" tick box.