We recently cerated some sysprep’d VHDs using Hyper-V to boot physical machines. We tried using the utility we authored back on the day, the B2VHD Assistant, but after rebooting the machine it would go into what seemed to be a repair mode.
After some research, we found the way to boot from a VHD that has Windows Server 2012 or Windows 8 installed. Here are the steps that we took:
- Using Hyper-V, we installed Windows Server 2012
- We sysprep’d the VHD and then had it turned off.
- We transferred the VHD to the machine where we wanted to boot from the VHD
- If using Windows 8/2012, right click the VHD, selected mount, and take note of the letter in which the VHD was mounted (if using Windows Server 2008 R2, use Server Manager to mount the VHD).
- Open a command prompt as administrator.
- Type the following command: bcdboot X:\Windows (assuming the VHD was mounted on the X: drive)
- You will receive a message saying that “Boot files were successfully created”.
- Unmount the VHD
- You can now open msconifg and see that the boot entry is there.
- Next time you reboot, the machine will boot from the VHD
Post in comments if you have issues.