Jump to content











Photo
- - - - -

Bootable Win 7 VHD results in BSOD when moving to different PCs


  • Please log in to reply
11 replies to this topic

#1 Uncle_HQ

Uncle_HQ

    Newbie

  • Members
  • 28 posts
  •  
    United Arab Emirates

Posted 18 November 2009 - 06:24 PM

I created a Bootable Win 7 VHD (using diskpart) but did not activate my installation of Win 7. I then copied the .VHD to another laptop which was already running a physical Win XP Pro. I then modified the BCD to allow dual boot allowing my native Win XP and Win 7 VHD. When I try to boot to my Win 7 VHD on the laptop, I get BSOD 0x0000007B (0x80786A90, 0xC00000E, 0, 0).

The bootable Win Xp Partition lives on C: and my Bootable Win 7 VHD resides on a separate partition D: on the same hard drive. I understand that the problem is related to an inaccessible boot device. Why am I getting this error since I am not even using any external device ? Could it be due to differences in hardware or BIOS between the two machines ?

#2 maanu

maanu

    Gold Member

  • Advanced user
  • 1134 posts
  •  
    Pakistan

Posted 18 November 2009 - 08:45 PM

it can be a mass storage driver issue , try changing Hdd settings from SATA to IDE from your bios and see.

#3 Uncle_HQ

Uncle_HQ

    Newbie

  • Members
  • 28 posts
  •  
    United Arab Emirates

Posted 19 November 2009 - 04:43 PM

it can be a mass storage driver issue , try changing Hdd settings from SATA to IDE from your bios and see.


My BIOS does not support the option to change from SATA to IDE.

The VHD was created on a PC #1 (desktop) which uses a WesternDigital Raptor 160GB 10000RPM Serial ATA (SATA) 1.5GB/s Hard Drive Mfr P/N WD1600ADFD-60NLR5.

However, when I attempt to boot this Win 7 VHD on the below PC #2 (laptop):
WD1200BEVS-75UST0 Western Digital Scorpio 120GB 5400RPM SATA-150 8MB Cache,

then it gives the the BSOD 0x0000007B (0x80786A90, 0xC00000E, 0, 0).

Any ideas would be most appreciated. Thanks.

#4 appyface

appyface
  • Members
  • 5 posts
  •  
    United States

Posted 19 November 2009 - 05:58 PM

Not sure I can help, I am still n00b :dubbio: Please forgive if I am off base with my questions, I am interested in your topic too.

I interpret subject line as meaning, the VHD is able to boot from one PC but does not boot when moved to another PC? But later it sounds like maybe VHD has never booted even on machine that created it? Maybe I misunderstand, could you please clarify for me?

So, going for a moment with idea maybe VHD has never booted, what version of Win7 did you create as the VHD? Ultimate/Enterprise is the only one to support bios booting, to best of my knowledge... Pro for example can be created as "bootable VHD" (so it says) but it won't boot. What version of Win7 is VHD?

Kind regards,
--appyface

#5 Uncle_HQ

Uncle_HQ

    Newbie

  • Members
  • 28 posts
  •  
    United Arab Emirates

Posted 19 November 2009 - 07:22 PM

Not sure I can help, I am still n00b :cheers: Please forgive if I am off base with my questions, I am interested in your topic too.

I interpret subject line as meaning, the VHD is able to boot from one PC but does not boot when moved to another PC? But later it sounds like maybe VHD has never booted even on machine that created it? Maybe I misunderstand, could you please clarify for me?

So, going for a moment with idea maybe VHD has never booted, what version of Win7 did you create as the VHD? Ultimate/Enterprise is the only one to support bios booting, to best of my knowledge... Pro for example can be created as "bootable VHD" (so it says) but it won't boot. What version of Win7 is VHD?

Kind regards,
--appyface


I am using Windows 7 Enterprise Edition for all my test cases. The VHD boots perfectly when booted on the PC from which it was originally created. But does not boot (i.e. gives the BSOD 0x0000007B) error when moved to another PC. I have tried 2 different Bootable Win 7 Enterprise VHDs (32 bit & 64 bit).

I have attached a summary of scenarios which I have tried along with my recorded results. This is a very simple concept which should be easy to re-create. Basically, if you create a bootable Win 7 VHD on one PC, then why can't you copy it to another PC and be able to boot from it ? This makes no sense to me. Has anyone tried to do this. I thought the whole idea and benefit of having bootable VHDs was portability from PC to PC and being able to adapt to different hardware configurations. But based on my experience, I have not been able to achieve this. I keep getting the BSOD 0x0000007B error whenever I try to boot the VHD on a different PC (from which the VHD was originally created). In other words, the VHD only boots successfully on the specific hardware from which it was created.

If anyone can shed some light on why this is happening, then I would be most greatful. Thanks.

Regards,
Uncle_HQ

Attached Files



#6 appyface

appyface
  • Members
  • 5 posts
  •  
    United States

Posted 19 November 2009 - 07:51 PM

Thank you for clarifying! Makes more sense to me now.

Myself, I've not seen VHD to be portable (as in "universal") so much as being easier to backup and manage revisions, especially on bare-metal hypervisor such as what I use at my employer's.

As I'm sure you're already aware, restoring an image of an installed OS partition, or even moving the OS installed disk itself, onto another PC often results in BSOD -- if driver set is not sufficient for hardware profile to boot. Have you tried booting VHD on the machine it works on, accessing hardware profile and setting it to absolute minimum generic profile needed to boot (especially plain VGA graphics driver default, etc.)? Then taking that VHD to other machine to try to boot?

That is how I have been able to restore an installed OS image to another machine or move a physical OS disk, it's also how I have made VHD boot on bare metal hypervisor with different hardware.

If I am missing the point on VHD and it *should* be more 'universal' I'd be grateful for education. My limited experience indicates it's no different than OS image or moving a physical disk with installed OS, has all the same pitfalls as far as I'm aware. Would be good to know different :-)

Kind regards,
--appyface

#7 Uncle_HQ

Uncle_HQ

    Newbie

  • Members
  • 28 posts
  •  
    United Arab Emirates

Posted 19 November 2009 - 08:40 PM

Thank you for clarifying! Makes more sense to me now.

Myself, I've not seen VHD to be portable (as in "universal") so much as being easier to backup and manage revisions, especially on bare-metal hypervisor such as what I use at my employer's.

As I'm sure you're already aware, restoring an image of an installed OS partition, or even moving the OS installed disk itself, onto another PC often results in BSOD -- if driver set is not sufficient for hardware profile to boot. Have you tried booting VHD on the machine it works on, accessing hardware profile and setting it to absolute minimum generic profile needed to boot (especially plain VGA graphics driver default, etc.)? Then taking that VHD to other machine to try to boot?

That is how I have been able to restore an installed OS image to another machine or move a physical OS disk, it's also how I have made VHD boot on bare metal hypervisor with different hardware.

If I am missing the point on VHD and it *should* be more 'universal' I'd be grateful for education. My limited experience indicates it's no different than OS image or moving a physical disk with installed OS, has all the same pitfalls as far as I'm aware. Would be good to know different :-)

Kind regards,
--appyface


Thanks for your suggestions. I have not tried to do the generic settings. Due to my limited knowledge of Win 7, I was somehow under the impression, that Microsoft invented some special kind of magic with Windows 7, which would allow it to adapt and auto-configure the device settings based on the hardware on which it was running, thus enabling it to "auto-adapt" to any bare machine. This was my incorrect assumption, and I have come to know the hard way. Perhaps this concept may one day be invented as we get closer to utopia.

I was also under the wrong impression that MS was creating a new trend of having universal VHDs that would always boot and run on any machine, thus making them 100% portable. I guess I was too naaive. My bad. Your suggestion to use generic settings would obviously require a trial and error, iterative process, and may also still not work on some machines.

Bottom line that I have learned from this exercise, is that Win 7 bootable VHDs are not portable between different machines.

If anyone has found otherwise and you don't agree with my conclusion, then I would love to stand corrected. Thanks.

Regards,
Uncle HQ

#8 appyface

appyface
  • Members
  • 5 posts
  •  
    United States

Posted 19 November 2009 - 09:15 PM

Please do try the generic hardware profile and see if you are able to move your VHD?

This has been only way for me. Graphics driver has been main culprit and needs to be set to 'vanilla' 640x480 VGA using only generic windows driver support. Other main culprit as already mentioned is mass storage driver. Also having something like Intel Matrix Storage Manager (or the nVidea equivalent) installed is problematic and must be reverted to plain Windows driver for simple IDE, in my experience as well.

Yes would be very nice if VHD could be moved to different machines at will and without worry, with new drivers installed automatically from windows hardware driver database, or are prompted for as needed :-) I see it possible that Microsoft licensing and activation model maybe having some trouble with that (corporate volume license server included), since continued hardware change may be interpreted as illegal product installation, multiple copy pirating... etc. etc. etc.

Please do try and let us know if the generic hardware driver profile enables you to move and boot the VHD, even though it probably means installing new drivers during bootup and/or even performing a repair-install. In my experience this much should work for you, though it does fall very short of utopia :cheers:

Kind regards,
--appyface

#9 Uncle_HQ

Uncle_HQ

    Newbie

  • Members
  • 28 posts
  •  
    United Arab Emirates

Posted 20 November 2009 - 04:50 PM

After reading the tutorial posts by karyonix on how to boot Win 7 from a USB, it seems I am looking to achieve the same result...a fully portable universal bootable Win 7 VHD, that can run on different PCs. I wasn't trying to re-invent the wheel here. Lots of guys have collaborated to put together a great piece of work..and it seems like I was trying to figure out how to achieve the same result. There is no reason why I can't follow the same approach. The last step in karyonix's step says to set the BCD store to boot the VHD from the USB drive..where, I could instead tell it to boot the same VHD build from my physical hard drive ? Right ? Should work....?? In essence, all I want is a fully portable universal Win 7 bootable VHD which will run on any PC.

#10 appyface

appyface
  • Members
  • 5 posts
  •  
    United States

Posted 20 November 2009 - 05:55 PM

Interesting ideas, please post back what you try and what happens? :dubbio:

Kind regards,
--appyface

#11 karyonix

karyonix

    Frequent Member

  • Advanced user
  • 481 posts
  •  
    Thailand

Posted 22 November 2009 - 07:37 AM

When you move Windows (in normal disk partition or in VHD) to different PC, it cannot boot because disk controller (IDE/SATA/RAID/SCSI) driver for new computer is not loaded early enough.
Windows 7 has many disk controller drivers installed. Most of them have Start value = 3 (SERVICE_DEMAND_START) by default.
The driver for disk controller that is used to access system drive have Start=0 (SERVICE_BOOT_START).

Try changing Start value of SATA driver for your target machine to Start=0.
  • Boot from from VHD in the original computer.
  • Open registry editor.
  • Goto key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services.
  • If you know which service is the correct SATA driver for target machine change its Start value from 3 to 0.
    Otherwise, look for services which have name *ide (such as intelide, viaide)
    and services which have Group value ="SCSI Miniport".
    Changes their Start value from 3 to 0. Skip services that you know they are not used in your target machine.


#12 Uncle_HQ

Uncle_HQ

    Newbie

  • Members
  • 28 posts
  •  
    United Arab Emirates

Posted 22 November 2009 - 08:27 PM

I have made some progress on this issue by following your advice. I went thru my registry settings and changed many of the services' start value to 0 as you had suggested. Now, I am not getting the BSOD 07b, but many of my devices are not fully functioning correctly, and I am getting the yellow exclamation sign in device manager. I think from this point onwards, it will be a process of elimination and trial and error. I must have changed more services start value to 0 than I needed to. I will do a few at a time, and narrow down the final settings, until I get all my devices working without the BSOD. Once I am done with this exhaustive exercise, I will report back with my findings. Thanks for your support.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users