I’ve been digging and experimenting quite a bit with the boot processes in Windows 7 (64-bit only), trying to accomplish completely unsupported things.
Here’s a couple things I have learned that you might find helpful
- 32-bit Windows cannot boot uefi, nor can it be booted from a (microsoft) efi bootloader. This includes Thin PC.
- The actual windows partition and installation doesn’t seem to care how it is booted – and it doesn’t matter how it was installed:
- For UEFI, \Windows\system32\winload.efi is used to boot
- For BIOS, \Windows\system32\winload.exe is used instead
- Both sets of files exist regardless the type of system windows is installed on, and can be used interchangeably – I have taken a windows folder installed on a UEFI machine and booted in on a BIOS machine, and vice versa
- Windows Image Backups are always MBR, even if the source drive was GPT. (at least for the partition containing windows)
- Windows Image Backup’s recovery tool will not allow you to restore from a UEFI machine to a BIOS machine but…
- Because the image is MBR, you can boot it on a BIOS machine with a little work
- The image itself is unbootable because the partition offset of 64k is incompatible with a MBR boot. You need to have the bootloader on a separate drive.
- If it gives you errors when you try to boot from the separate drive, you may need to use some of the utilities listed here: http://idoneitmyself.wordpress.com/2009/11/15/windows-7-suddenly-wont-boot-reboot-and-select-proper-boot-device-or-insert-boot-media-in-selected-boot-device-and-press-any-key-repairing-the-windows-7-bootloader/
Although you can skip the bcdedit stuff and use bcdboot instead - bcdboot is your friend. It is available both on a running windows install and the windows recovery environment. Provided a path to a Windows installation and a drive letter, this tool creates the boot files, copies the boot loader, and configures the BCD store to just work.