Understanding boot order with Virtual PC 2007

If you press the 'del' key while booting a virtual machine under Virtual PC 2007, you can enter the BIOS and change the boot order configuration.  The Virtual PC BIOS allows you to configure the order in which it will attempt to boot off devices.  If any boot device fails, it will just move on and try to boot off the next device in the list.

The following boot options are available:

  1. Floppy. This is fairly straight forward - each virtual machine has one, and only one, floppy drive.  This option will attempt to boot off the floppy drive.
  2. CD-ROM.  Just like the floppy - each virtual machine has one, and only one, CD-ROM drive.  This option will attempt to boot off it.
  3. Hard Drive.  This option is a bit more interesting.  Under Virtual PC a virtual machine can have up to three virtual hard disks.  Unlike many computers, Virtual PC can boot off of any of these hard disks.  It will attempt to boot off the first hard disk, but if that fails it will then try to boot off the second and third hard disks.
  4. PXE UNDI.  This is the option to boot off of the PXE support in the network adapter of the virtual machine.  One boot option entry is made for each network adapter, unfortunately, all the entries have the same descriptive text, and can't be told apart (bummer).  By default the BIOS will be configured to try and boot off the first network adapter, then the second, then the third and then the fourth.
    Given that few people would actually need to configure a virtual machine to PXE boot off of a second or third network adapter, this is not a problem for most people - but you should be aware of this issue.


The above list is in the default ordering that is used by Virtual PC. 

One odd bug that exists in Virtual PC is that if you configure a virtual machine with a second or third hard disk - but no first hard disk - you will see a warning message when you try to start the virtual machine, stating that as you do not have a first hard disk configured you may not be able to boot the virtual machine. 

This error message exists because a long time ago we used to have a BIOS that would not boot in this configuration.

We can now boot in this configuration, but the error message never got removed as it is such a goofy configuration for a virtual machine that no one has ever reported hitting (outside of our test team - that is).