[Tutorial] Boot Windows 7 from USB hard disk by karyonix
#51
Posted 08 January 2010 - 05:38 AM
I actually got the disk working again. I had to simply use my spare usb 2.0 case and then the drive started working.
#52
Posted 19 January 2010 - 12:17 PM
I have a problem booting Windows 7 using USB HDD with your method.
- I install Win7 under VMware workstation.
- After reboot, I run usbbootfix.bat, and reboot again : everything is OK.
- I take a disk image of the VMware virtual disk.
- I restore the image to an external USB hard disk.
- I boot the USB HDD : no problem with 2 machines, but I got
BSOD 0x7B on the machine hosting the VMware. Even if I booted with USB2 or with eSATA
(I have this port).
- If I run the USB HDD as real USB under VMWare (using PLoP boot manager), I also got BSOD 0x7B.
Do you have any idea how to solve this problem ? Thank you in advance.
#53
Posted 20 January 2010 - 11:56 AM
I think IDE/SATA/RAID driver for your machine has Start value = 3.
If you know its service name, check that service registry key and change its start value to 0.
This batch file sets Start value to 0 for ALL hard disk controller drivers referenced by CriticalDeviceDatabase.
StorageBootStart.bat
#54
Posted 20 January 2010 - 08:36 PM
Fantastic! Magic! It works now, after executing your batch file StorageBootStart.bat
(which creates by the way the undo batch StorageBootStart_Undo.bat which is very convenient).
Does it mean that usbbootfix.bat has to call StorageBootStart.bat systematically?
Also could the method work for XP too? I do not see any XP-specific in the batch files.
#55
Posted 22 January 2010 - 08:34 PM
Maybe is it related to VMWare hard disk services? How to find them and maybe set Start=0 as solution?
#56
Posted 23 January 2010 - 08:31 AM
Can you install VMWare's virtual disk controller driver or change virtual disk controller emulation to other type that Windows 7 can recognize without additional driver ?
#57
Posted 24 January 2010 - 11:59 AM
I will try to change all services with vm* prefix (with guess for VMware), changing Start to 0. Does the Group need to be changed too (like change to Boot bus extener, SCSI miniport), or is it not important?
#58
Posted 10 February 2010 - 04:50 PM
Finally I did not change anything in the registry. In the mean time I upgrade to the latest Vmware workstation version 7.0.1 from version 6.5.2, and now the BSOD 0x7B is no longer hit ! So far so good.
#59
Posted 24 February 2010 - 02:57 PM
Hello karyonix,
I have a problem booting Windows 7 using USB HDD with your method.
- I install Win7 under VMware workstation.
- After reboot, I run usbbootfix.bat, and reboot again : everything is OK.
- I take a disk image of the VMware virtual disk.
- I restore the image to an external USB hard disk.
- I boot the USB HDD : no problem with 2 machines, but I got
BSOD 0x7B on the machine hosting the VMware. Even if I booted with USB2 or with eSATA
(I have this port).
- If I run the USB HDD as real USB under VMWare (using PLoP boot manager), I also got BSOD 0x7B.
Do you have any idea how to solve this problem ? Thank you in advance.
ktp can you please tell me how did u make a VMWARE virtual disk and restore it in external USB Hardisk?? I have tried all the methods here but they are not working.. I installed clean Windows 7 on my SATA and then ran the usbbootfix.bat and StorageBootStart.bat and then copied the whole windows 7 from my SATA to USB Harddisk using Linux, Fedora 12.. I just copied the files from SATA to USB Harddisk with Fedora 12 Live CD. But when booting from USB Harddisk I get 0xc000000e...(The boot failed because a required device is inaccesible).. So can anyone please help me..
#60
Posted 24 February 2010 - 03:55 PM
> ktp can you please tell me how did u make a VMWARE virtual disk and restore it in external USB Hardisk??
Under Vmware, you use menu VM/Settings, tab Options, Shared Folders, then button Add to add a directory in your host in read/write mode.
Then you boot your Windows 7 virtual machine, afterwards you use one of your favorite disk image backup (DriveSnapshot, Acronis True Image, savepart etc...) to save the virtual machine disk to your host read/write directory (use the Network neighbourhood, you will find the VM shared folders).
Then under the host, you restore the image to USB hard disk.
#61
Posted 24 February 2010 - 04:47 PM
#62
Posted 06 March 2010 - 11:33 PM
So is there anyway to work around this without having to spend hours decrypting and recrypting my usb drive?
#63
Posted 07 March 2010 - 03:46 AM
Why can't you load the hive with other Windows installation ?
Can you mount truecrypt volume in other Windows installation and load hive ? If mount success but load hive failed, try copy system hive file to non-encrypted hard drive and load hive there. After finished modification, unload hive and copy system hive file back to encrypted drive.
Please make sure target machine's disk controller driver's Start value is 0.
#64
Posted 07 March 2010 - 06:40 AM
@worlddan
Why can't you load the hive with other Windows installation ?
Can you mount truecrypt volume in other Windows installation and load hive
Yes, I figured out how to do that with TC. There was box I was failing to tick in truecrypt so that's why it wouldn't work before.
But after loading the hive the entries were already set to zero. I double and triple checked. I also ran the batch file to make sure that all drive controllers were set to zero. (StorageBootStart.bat.)
Still won't boot on my laptop. Works fine on my desktop which was the drive I originally cloned.
#65
Posted 07 March 2010 - 08:24 AM
May be you are missing important driver IASTOR as being add by IMG_XP_Restore.exeStill won't boot on my laptop. Works fine on my desktop which was the drive I originally cloned.
Check also if intelppm has Start=3 and msahci Service has Start=0 required to prevent BSOD
http://www.911cd.net...showtopic=23553
#66
Posted 07 March 2010 - 08:01 PM
May be you are missing important driver IASTOR as being add by IMG_XP_Restore.exe
Check also if intelppm has Start=3 and msahci Service has Start=0 required to prevent BSOD
http://www.911cd.net...showtopic=23553
Intelppm and msachi have the correct values.
I suspect that the driver IASTOR is the problem because like the person in the thread you linked too I too am trying to switch from an AMD based desktop to a Intel based laptop. I could not find a registry listing for IASTOR.
However, I am unclear how to add that driver and registry setting for someone who followed the cloning (rather than the VM ware) procedure in the OP.
#67
Posted 07 March 2010 - 09:18 PM
IMG_XP_Restore.exe takes care of everything:
the correct registry settings and it will add IASTOR driver
#68
Posted 07 March 2010 - 10:49 PM
Well, I fixed it on my own. Thanks for all the feedback even if it didn't work.
It seems that my laptop is a newer Dell computer which uses Intel SATA IRRT technology. This is the problem. I'd actually thought it might be the problem last night so I just tuned it off but that didn't solve the problem. After doing some deep digging in the Dell forums I learned I was on the right track just gave up to soon. The BIOS needs to be set to emulate ATA. Any other BIOS setting (including just disabled) will cause it to BSOD.
So I set it to ATA and viola! a boot from the USB
#69
Posted 12 March 2010 - 05:21 AM
Just so you know I have to boot from USB because I need the eSATA port vacant for an external optical drive that I am working on otherwise I would just boot from eSATA and be done with it.
#70
Posted 12 March 2010 - 06:09 AM
It is not method 2. The second section of OP post describe how to do step 8 of the tutorial.I just used method 2 for your guide but I did find one thing (and I thought it was missing). You need to use the usbbootfix.bat from within the os install.
Thanks for feedback. I will modify the first post to reduce confusion to readers.
#71
Posted 17 April 2010 - 08:51 AM
I think this is related to the fact that my laptop hard disk is using a AHCI controller.
I would like to leave it switched on in the BIOS (I know there is a compatibility mode).
Anyone have a clue how to boot from USB and get past this error?
I already applied the usb_all.reg ...
Thanks!
Michaël
#72
Posted 25 April 2010 - 02:58 AM
I am trying to add the below usb_all.reg registry key offline (with a non-running Windows) using command prompt and I am having trouble doing it.
Can someone help me with that, please? I need to add while booted in another Windows 7 installation.
Thank you for your support.
OK after disabling the automatic reboot, I saw that the BSOD is with the dreaded stop code 0x7B. I am familiar with this, so on the laptop that boots fine, I just applied my great old usb_all.reg that changes important USB-related registry entries (usbehci, usbohci, usbuhci, usbccgp, usbhub, USBSTOR). Afterwards, now Windows 7 boots fine on both laptops from USB HDD !
Note that depending on the hardware, you are asked to reboot once to update the ACPIPIC/ACPIAPIC device (other drivers like network, sound... are already automatically searched and installed). So this is not 100% "portable" as with my current XP booting from USB HDD using usboot from usboot.org.
The method of usb_all.reg applied for Vista too already, so there is nothing new. usbwatcher.exe method seemingly tries to set to right values in registry, and karyonix's method seems to create a planned job that does same thing at initial boot time. I don't know why it does not work in my case.
Anyhow, to be sure, before any reboot, and especially after Windows update or driver update or USB plug-and-play, remember to apply usb_all.reg. This ensures that no BSOD 0x7B is hit on next boot. If ever you still get it, you have to offline change the registries (using RegEditPE or RegistryLoaderPE ) for these USB-related values (in fact the important key is Start which must be set to 0, usually we got BSOD 0x7B because Windows resets it to 3).
Here is usb_all.reg content:Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbccgp]"DisplayName"="Microsoft USB Generic Parent Driver""Group"="Boot bus extender""ImagePath"=hex(2):5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\ 74,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,64,00,72,\ 00,69,00,76,00,65,00,72,00,73,00,5c,00,75,00,73,00,62,00,63,00,63,00,67,00,\ 70,00,2e,00,73,00,79,00,73,00,00,00"ErrorControl"=dword:00000001"Start"=dword:00000000"Type"=dword:00000001[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbccgp\Enum]"0"="Root\\LEGACY_USBCCGP\\0000""Count"=dword:00000001"NextInstance"=dword:00000001[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbehci]"DisplayName"="Microsoft USB 2.0 Enhanced Host Controller Miniport Driver""Group"="Boot bus extender""ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\ 52,00,49,00,56,00,45,00,52,00,53,00,5c,00,75,00,73,00,62,00,65,00,68,00,63,\ 00,69,00,2e,00,73,00,79,00,73,00,00,00"ErrorControl"=dword:00000001"Start"=dword:00000000"Type"=dword:00000001"Tag"=dword:00000019[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbehci\Enum]"0"="PCI\\VEN_8086&DEV_24CD&SUBSYS_001F1025&REV_03\\3&18d45aa6&0&EF""Count"=dword:00000001"NextInstance"=dword:00000001[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbhub]"DisplayName"="Microsoft USB Standard Hub Driver""Group"="Boot bus extender""ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\ 52,00,49,00,56,00,45,00,52,00,53,00,5c,00,75,00,73,00,62,00,68,00,75,00,62,\ 00,2e,00,73,00,79,00,73,00,00,00"ErrorControl"=dword:00000001"Start"=dword:00000000"Type"=dword:00000001"Tag"=dword:0000001b[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbhub\Performance]"Library"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\ 74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,75,\ 00,73,00,62,00,70,00,65,00,72,00,66,00,2e,00,64,00,6c,00,6c,00,00,00"Open"="OpenUsbPerformanceData""Close"="CloseUsbPerformanceData""Collect"="CollectUsbPerformanceData""InstallType"=dword:00000001"PerfIniFile"="usbperf.ini""First Counter"=dword:00000d60"Last Counter"=dword:00000d82"First Help"=dword:00000d61"Last Help"=dword:00000d83[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbhub\Enum]"0"="Root\\LEGACY_USBHUB\\0000""Count"=dword:00000005"NextInstance"=dword:00000005"1"="USB\\ROOT_HUB\\4&b71b443&0""2"="USB\\ROOT_HUB\\4&1b0914a3&0""3"="USB\\ROOT_HUB\\4&33f1b84&0""4"="USB\\ROOT_HUB20\\4&dd5a51b&0"[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbohci]"DisplayName"="Microsoft USB Open Host Controller Miniport Driver""Group"="Boot bus extender""ImagePath"=hex(2):5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\ 74,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,64,00,72,\ 00,69,00,76,00,65,00,72,00,73,00,5c,00,75,00,73,00,62,00,6f,00,68,00,63,00,\ 69,00,2e,00,73,00,79,00,73,00,00,00"ErrorControl"=dword:00000001"Start"=dword:00000000"Type"=dword:00000001[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbohci\Enum]"0"="Root\\LEGACY_USBOHCI\\0000""Count"=dword:00000001"NextInstance"=dword:00000001[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR]"DisplayName"="USB Mass Storage Driver""ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\ 52,00,49,00,56,00,45,00,52,00,53,00,5c,00,55,00,53,00,42,00,53,00,54,00,4f,\ 00,52,00,2e,00,53,00,59,00,53,00,00,00"ErrorControl"=dword:00000001"Start"=dword:00000000"Type"=dword:00000001"Group"="Boot bus extender""Tag"=dword:00000008[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR\Enum]"0"="Root\\LEGACY_USBSTOR\\0000""Count"=dword:00000002"NextInstance"=dword:00000002"1"="USB\\VID_067B&PID_2506\\0"[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbuhci]"DisplayName"="Microsoft USB Universal Host Controller Miniport Driver""Group"="Boot bus extender""ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\ 52,00,49,00,56,00,45,00,52,00,53,00,5c,00,75,00,73,00,62,00,75,00,68,00,63,\ 00,69,00,2e,00,73,00,79,00,73,00,00,00"ErrorControl"=dword:00000001"Start"=dword:00000000"Type"=dword:00000001"Tag"=dword:00000018[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbuhci\Enum]"0"="PCI\\VEN_8086&DEV_24C2&SUBSYS_001F1025&REV_03\\3&18d45aa6&0&E8""Count"=dword:00000003"NextInstance"=dword:00000003"1"="PCI\\VEN_8086&DEV_24C4&SUBSYS_001F1025&REV_03\\3&18d45aa6&0&E9""2"="PCI\\VEN_8086&DEV_24C7&SUBSYS_001F1025&REV_03\\3&18d45aa6&0&EA"
#73
Posted 25 April 2010 - 08:30 AM
Hello there,
I am trying to add the below usb_all.reg registry key offline (with a non-running Windows) using command prompt and I am having trouble doing it.
Can someone help me with that, please? I need to add while booted in another Windows 7 installation.
Thank you for your support.
You need to mount the offline Registry as a temporary hive (under HKLM) and import to it the .reg.
In other words you have to modify the paths to it in TWO ways, example:
must become:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbccgp
HKEY_LOCAL_MACHINE\mytemphive\SYSTEM\
CurrentControlSet001\Services\usbccgp
The first change to allow the target to be your temporarily mounted hive (mounted on HKLM\mytemphive) and the second because CurrentControlSet ONLY exists in a booted environment, being it a "hard link" to either ControlSet001 or ControlSet002 (99.99% of the times is 001, you can make sure by peeking at the HKEY_LOCAL_MACHINE\SYSTEM\Select key).
A short explanation:
http://www.techbytes...techbyte75.html
Wonko
#74
Posted 30 June 2010 - 01:41 PM
I spent a lot of times investigating why I still have BSOD 0x7B, mostly on different systems with different
SATA controller (set as either IDE or AHCI). Finally it appear that one of the reason could be due to
usbbootfix.bat that does not seem to work. I have a trace (echo on) of part of its execution below.
Any idea?
setlocal set Start= set Group= for /F "skip=2 tokens=1,2,*" %I in ('reg query HKLM\SYSTEM\CurrentControlSet\services\') do ( if "%I" == "Start" set Start=%K if "%I" == "Group" set Group=%K ) ( if "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\" == "Start" set Start= if "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\" == "Group" set Group= ) ( if "Description" == "Start" set Start=MySQL Ser if "Description" == "Group" set Group=MySQL Ser ) ( if "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\\.NET" == "Start" set Start=Data if "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\\.NET" == "Group" set Group=Data ) ( if "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\\.NET" == "Start" set Start=Networking if "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\\.NET" == "Group" set Group=Networking ) ( if "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\\.NET" == "Start" set Start=Provider for Oracle if "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\\.NET" == "Group" set Group=Provider for Oracle ) ( if "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\\.NET" == "Start" set Start=Provider for SqlServer if "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\\.NET" == "Group" set Group=Provider for SqlServer ) ( if "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\\.NETFramework" == "Start" set Start= if "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\\.NETFramework" == "Group" set Group= ) ... ... ... ( if "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\\{B1B66155-D793-4A3C-898E-5651F83467A1}" == "Start" set Start= if "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\\{B1B66155-D793-4A3C-898E-5651F83467A1}" == "Group" set Group= ) ( if "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\\{C1C5A18F-807E-4B35-ADF4-C3C9E5193EC4}" == "Start" set Start= if "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\\{C1C5A18F-807E-4B35-ADF4-C3C9E5193EC4}" == "Group" set Group= ) if not "" == "0x0" echo reg add HKLM\SYSTEM\CurrentControlSet\services\ /v Start /t REG_DWORD /d 0x0 /f reg add HKLM\SYSTEM\CurrentControlSet\services\ /v Start /t REG_DWORD /d 0x0 /f if not "" == "" echo reg add HKLM\SYSTEM\CurrentControlSet\services\ /v Group /t REG_SZ /d "" /f endlocal
My system is Win7 Ultimate French version.
#75
Posted 30 June 2010 - 04:58 PM
You can try to use the approach of IMG_XP package.
http://www.911cd.net...showtopic=23553
Anyway IMG_XP_Restore.exe is doing things slightly different.
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users