Does anybody understand how VHD boot works?

sebus

New Member
#1
Win7 Ultimate/Enterprise & Win Server 2008 R2 can boot from vhd

Does anybody understand the process(es) involved?

Why Win7 Home/Pro can not boot from vhd? What stops it?
Why Vista/Server 2008 can not boot from vhd at all?

vboot from vmlite is coming soon to allow it to happen, but I would like to know how M$ does it

Thanks

sebus
 

mqudsi

Mostly Harmless
Staff member
#2
They don't have the needed drivers to know how to read their own files from the virtual disk.

There are hacks & workarounds to make Vista and Windows 7 home boot from a VHD.
 
#3
I am sorry, but I think you are mistaken here, the hacks that exist allow booting Win7 Ult/Ent or Server 2008R2 when Vista is the host on a machine (but for that matter one can boot such vhd from bare metal machine, it is only Win7 bootloader that is needed!) - which is not the same as booting Vista from vhd!

I never came across anything that would allow booting of Win 7 Home from vhd

Of course it is the driver issue, hence the question, does anybody actually understand the process (in depth)

sebus
 
Last edited:

mqudsi

Mostly Harmless
Staff member
#4
No, I meant what I said.

How to boot Vista from VHD in Windows 7
http://blogs.techrepublic.com.com/networking/?p=1262

As to your question, I'm not sure what you mean.. There really isn't anything "in-depth" about it, it's fairly straight forward.

At boot time, Windows loads the needed drivers to access the disk. If it's unable to do so, booting will not proceed. Windows 7 Ultimate Edition is configured in the registry to load the needed virtual hard disk drivers at boot time. Other OSes either don't have the drivers or else are not configured to load them at boot time.
 
#5
Well, do not believe all that you find written on the Internet!

Sorry, but the link is a total rubbish, only W7 Ult/Ent & Server 2008 R2 will boot from VHD (and NOTHING else so far!) due to Kernel-NativeVHDBoot instructions
If you do not believe me, then try yourself
The is more to it then just a set of drivers!
If it was drivers only then somebody would manage to get them loaded in other version of W7 and/or Vista/Server 2008

Hence my question, how in depth the process happens (because it is NOT only drivers)

Of course one can have ANYTHING in the booloader menu, it does not mean that such entry actually boots anything successfully!

sebus
 

mqudsi

Mostly Harmless
Staff member
#6
No matter, I am working on my own solution that can boot anything from a virtual disk. So far I have managed to boot Windows XP from a VHD, but it's not a Microsoft VHD but my own.
 

mqudsi

Mostly Harmless
Staff member
#8
I'm working on it :smile:
 
#12
Any updates? or care to share the juicy technicaly how I might be able to create my own VHD and boot XP? maybe some special Winload.exe or custom boot-manager ?
So far I have managed to boot Windows XP from a VHD, but it's not a microsoft VHD but my own.
Also the wiki says:
...though workarounds exist for other operating systems.
https://neosmart.net/wiki/display/EBCD/Booting+into+Microsoft+VHD+Images
where or how are these workarounds done? source? (so many questions hehe :tongueout:)
 
Last edited:

mqudsi

Mostly Harmless
Staff member
#13
Honestly it was a very complicated undertaking and the results were not worth it. It basically involved intercepting BIOS calls made by the OS for disk management but ultimately it is too much work invested into a dying platform (let's face it, as much as we love XP, the number of users is only going to go down).