Lamp Post Posted May 16, 2009 Share Posted May 16, 2009 So, I recently tried to install various versions of Windows to VHD files through Windows Virtual PC in Win7, for then to try boot natively from them. But when I do that, the following happens: The Win7 VHD starts the loading screen and then after a second gives me a bluescreen (STOP 0x0000007B). The Vista VHD starts the loading screen, and then goes into Startup Recovery mode (which doesn't fix the problem). So, does anyone have any idea why this happens and how to fix it? I'm thinking it could have something to do with drive letters or similar, but I am not sure... Link to comment Share on other sites More sharing options...
Kris Kris Posted May 17, 2009 Share Posted May 17, 2009 Different hardware environment between real PC and virtual PC? Link to comment Share on other sites More sharing options...
unawave Posted May 17, 2009 Share Posted May 17, 2009 Different hardware environment between real PC and virtual PC?Yes, I think this is the problem.So, I recently tried to install various versions of Windows to VHD files through Windows Virtual PC in Win7, for then to try boot natively from them. But when I do that, the following happens:I think it's not necessary to install Windows 7 in a virtual machine because you can install it natively.But Vista could be interesting. Have you tried this: Whilst installation Vista boots several times. Until the fist reboot only the installation files where copied to the VHD file and no hardware detection was made. Whilst the first reboot shut down the virtual machine. Try to boot this "pre installation" natively. Does this work ? Link to comment Share on other sites More sharing options...
Jiggah Posted May 17, 2009 Share Posted May 17, 2009 Only VHD images created in a Hyper-V environment will boot. Also, I think installs can be done using imagex and the install.wim from a disc. Link to comment Share on other sites More sharing options...
hdood Posted May 17, 2009 Share Posted May 17, 2009 Yes, I think this is the problem.I think it's not necessary to install Windows 7 in a virtual machine because you can install it natively. But Vista could be interesting. Have you tried this: Whilst installation Vista boots several times. Until the fist reboot only the installation files where copied to the VHD file and no hardware detection was made. Whilst the first reboot shut down the virtual machine. Try to boot this "pre installation" natively. Does this work ? Only Windows 7 can boot from a VHD as it requires a special driver. You can't do it with Vista or any other version. If you're feeling extra adventurous though, you can try to install Windows 7 natively directly to a VHD by booting the DVD and hitting shift+F10 in the installer to bring up a command line. There you can run DiskPart and create/attach a VHD and then return to the installer and install to it. I.e.: DISKPART> list vol (find drive letter of the volume you want the VHD on) DISKPART> create vdisk file="c:\foo.vhd" maximum=20480 DISKPART> select vdisk file="c:\foo.vhd" DISKPART> attach vdisk DISKPART> exit Link to comment Share on other sites More sharing options...
Lamp Post Posted May 17, 2009 Author Share Posted May 17, 2009 Yes, I think this is the problem.I think it's not necessary to install Windows 7 in a virtual machine because you can install it natively. But Vista could be interesting. Have you tried this: Whilst installation Vista boots several times. Until the fist reboot only the installation files where copied to the VHD file and no hardware detection was made. Whilst the first reboot shut down the virtual machine. Try to boot this "pre installation" natively. Does this work ? Well, a bit of the point was that if I could do this, it would mean I could basically install the OS while doing other stuff with the computer, and not actually boot it before stuff was installed etc. Gonna try that other thing, though, maybe that works. Still only half of what I want to achieve, though. :p Only VHD images created in a Hyper-V environment will boot.Also, I think installs can be done using imagex and the install.wim from a disc. What is Hyper-V? Is it something else than Virtual PC? Only Windows 7 can boot from a VHD as it requires a special driver. You can't do it with Vista or any other version.If you're feeling extra adventurous though, you can try to install Windows 7 natively directly to a VHD by booting the DVD and hitting shift+F10 in the installer to bring up a command line. There you can run DiskPart and create/attach a VHD and then return to the installer and install to it. I.e.: DISKPART> list vol (find drive letter of the volume you want the VHD on) DISKPART> create vdisk file="c:\foo.vhd" maximum=20480 DISKPART> select vdisk file="c:\foo.vhd" DISKPART> attach vdisk DISKPART> exit Oh... I thought it virtualized the harddrive and made it appear as a real harddrive to the guest host? When I boot the Vista from VHD, I get the Startup Recovery tool that automatically try to fix the issue. After that cannot do anything to fix it, I can enter Command Propmt. I did a check on harddrive X: (isn't that just the placeholder drive letter while you install and it need to show a drive as something?), and it contains the files stored in the VHD it looked like (though, it only have the "Public" folder in X:\Users, no folder for the actual user). So, I don't think a driver is the real issue here, or else it wouldn't been able to read the disk at all? Link to comment Share on other sites More sharing options...
hdood Posted May 17, 2009 Share Posted May 17, 2009 Oh... I thought it virtualized the harddrive and made it appear as a real harddrive to the guest host? It's not a "guest OS," because it isn't running in a virtual machine. When Windows 7 is booted natively from a VHD, nothing else is running other than Windows 7. There is no external program that emulates the hard drive, it is done by Windows 7 itself with the aid of a special driver. This driver doesn't exist in Vista. Link to comment Share on other sites More sharing options...
Lamp Post Posted May 17, 2009 Author Share Posted May 17, 2009 Different hardware environment between real PC and virtual PC? I'd expect that to be the reason the Win7 gets the bluescreen, though, how do I get around that? Can't I have it redetect hardware when I boot the VHD natively? But Vista could be interesting. Have you tried this: Whilst installation Vista boots several times. Until the fist reboot only the installation files where copied to the VHD file and no hardware detection was made. Whilst the first reboot shut down the virtual machine. Try to boot this "pre installation" natively. Does this work ? This did not work, it seems. =\ It's not a "guest OS," because it isn't running in a virtual machine. When Windows 7 is booted natively from a VHD, nothing else is running other than Windows 7. There is no external program that emulates the hard drive, it is done by Windows 7 itself with the aid of a special driver. This driver doesn't exist in Vista. But, as I understand it, it practically shouldn't have access to the content in the VHD when I boot Vista from the VHD, but yet it can show the loading screen of Vista? Where does it pull that from? It confuses me. :s Link to comment Share on other sites More sharing options...
Jiggah Posted May 17, 2009 Share Posted May 17, 2009 The most important component is the CPU. With Hyper-V, the virtualization allows for direct access to the hardware CPU and memory. VHDs created from Hyper-V environment, already tagged the CPU and therefore is more compatible when doing the VHD boot. Virtualization, like with VPC, are not able to report the physical CPU to the OS, it simply emulates part of a CPU. I would use imagex to do an install rather than a virtual environment. Link to comment Share on other sites More sharing options...
Lamp Post Posted May 17, 2009 Author Share Posted May 17, 2009 The most important component is the CPU. With Hyper-V, the virtualization allows for direct access to the hardware CPU and memory. VHDs created from Hyper-V environment, already tagged the CPU and therefore is more compatible when doing the VHD boot. Virtualization, like with VPC, are not able to report the physical CPU to the OS, it simply emulates part of a CPU.I would use imagex to do an install rather than a virtual environment. But when an OS is installed to a harddrive, you can use that very install with other hardware without any issues. I.e. you can install Windows, replace your CPU, it wouldn't make any fuzz about that. Why does that not apply in the same way when you create VHDs from a virtualized environment? Also, how would I go ahead and create a VHD from a Hyper-V environment? Link to comment Share on other sites More sharing options...
Jiggah Posted May 17, 2009 Share Posted May 17, 2009 But when an OS is installed to a harddrive, you can use that very install with other hardware without any issues. I.e. you can install Windows, replace your CPU, it wouldn't make any fuzz about that.Why does that not apply in the same way when you create VHDs from a virtualized environment? Also, how would I go ahead and create a VHD from a Hyper-V environment? Actually, most of the time, it does get all crazy. Have you done a physical install then proceed to completely change every hardware component. I'm pretty sure there will be errors somewhere. Hyper-V Server is tied to Windows Server 2008. It's not something you can get at the desktop level. Using imagex and the install.wim is a better alternative. Imagex is found in Windows Automated Install Kit, which is free to download. This method allows you to install a completely fresh version of the OS on a hard drive from within Windows itself. Link to comment Share on other sites More sharing options...
Recommended Posts