Install XP for physical system with vmware (stop 0x0000007B boot error)

Sometimes you want to install windows on a spare disk for some gaming without it eating your Linux partition or interrupting your other activities. If you happen to have vmware, there is a way to accomplish this.

Disclaimer: This installation is somewhat advanced as it requires you to improvise around the specifics of your system and success depends on your hardware. If you are uncertain the low tech way of unplugging your Linux drives and installing it on the remaining windows drive may be a better way to go.

Ingredients: Linux (I used Debian Etch), vmware (I used workstation 6.5), windows XP CD or iso, a spare hard disk, and a motherboard with a somewhat standard HD controller.

  1. In vmware, create a new image that uses your intended windows physical disk. In my case vmware had some trouble picking up my /dev/hda, so ln -sv hda sdc and then referring to /dev/sdc as physical disk allowed me to use it.
  2. Install XP on your physical disk.
  3. Since the virtual controller is different from your own, you’ll have to install some drivers by hand so your physical device will boot properly. (You’ll get a nasty blue screen stop 0x0000007B boot error otherwise) Visit http://support.microsoft.com/kb/314082/ and follow the instructions listed under ‘more information’ about adding to the registry and copying drivers under vmware.
  4. Add your new drive to grub menu.lst (usually located in /boot/grub/): (In this case, hd1,0 is my windows drive, make sure your drive is listed in device.map or it wont work

Title Microsoft Windows XP
map (hd0,0) (hd1,0)
map (hd1,0) (hd0,0)
chainloader +1

Thats all there is too it! After booting Windows will need to install drivers for everything, even your USB controller, so you might have to revert to a PS2 keyboard during this part.