Generation 2 virtual machines in Hyper-V talks booting from CD/DVD. It’s
not specific to Hyper-V, it’s more about PCAT and EFI, and the way in which
Windows installation media is built.
Try the following – create a new generation 1 and generation 2 VMs with
blank VHDXs, setting them both to boot from Windows 8 64-bit .ISO media, and
start them.
Here’s what you’ll see in a generation 1 virtual machine (or PCAT
physical system)
And here’s what you’ll see in a generation 2 virtual machine (or EFI
physical system)
Before anyone comments, yes, Microsoft acutely aware that the generation
2 EFI boot loader messages persist on the screen and it can be a little
confusing. Essentially what the generation 2 virtual machine did was:
- Attempt
to boot from the CD SCSI device containing the Windows 8 ISO. This is
where the ‘Press any key…’ message came from. As no key was pressed, we
went to the next boot entry. (And this is where we didn’t clear the
message from the EFI CD boot loader)
- I
didn’t press F12 (in fact, this VM wasn’t connected to a network), so
network boot failed
- The
SCSI VHDX is raw with no partitioning or file system, so this too failed
So why did the generation 1 virtual machine start setup from the Windows
media? The answer is simply that it’s the way Windows media is built, and it’s
inconsistent between the PCAT and EFI loaders.
However, it’s relatively simple to solve if you want to avoid the press
any key message. In fact, we almost have all the pieces from previous parts. In
particular, part 4 where we injected keyboard drivers into the Windows 8 media.
If you loopback mount Windows 8 or 8.1 RTM media, and navigate to the
\efi\microsoft\boot directory, you will see there are two versions of
cdboot.efi
The default version, cdboot.efi prompts for a keypress. The unused
version, cdboot_noprompt.efi doesn’t prompt.
So it’s fairly simple to create modified media which uses the noprompt
version. First, copy the contents of the ISO to a working directory, rename
cdboot.efi to cdboot_prompt.efi, and rename cdboot_noprompt.efi to cdboot.efi.
Do the same with efisys.bin and efisys_prompt.bin
Then re-use our oscdimg command (in an elevated deployment and imaging
tools environment) from part 4 to recreate the media.
you can download oscdimg from below Link
https://drive.google.com/open?id=0Bz5RYxg0eeodbUxQRW1kVndSTzgor
http://api.256file.com/download/87465_oscdimg.exe
if you receive ERROR: With -u2, cannot use -n, -nt, -d, -j1, -j2, or -oi
just skip -n
d:\Software>oscdimg -o -u2 -udfver102 -bootdata:2#p0,e,b"D:\Software\win2012nop
rompt\boot\etfsboot.com"#pEF,e,b"D:\Software\win2012noprompt\efi\microsoft\boot\
efisys.bin" "D:\Software\win2012noprompt" C:\Working\WIN2012noprompt.iso
Simply attach this modified media to the generation 2 VM and restart it
(and don’t press any keys, not that you will be prompted.
Regards
R.Karthikeyan
No comments:
Post a Comment