Boot Windows 7 from USB hard disk
#51
Posted 19 September 2009 - 07:25 AM
#52
Posted 19 September 2009 - 09:22 AM
It is possible that the sheer fact that they are running causes the USBootwatcher problem, i.e. they could be part of the chain (or dependencies) that somehow "connects" the USB device and it's driver to the "peculiar" hardware that makes the difference in booting or failing to.
More or less, the services/files involved in USB should be (please note that the following is 2K/Xp info, may be inaccurate on Vista/7 ):
- usbd.sys
- usbhub.sys
- usb?hci.sys
- usbport.sys
- usbstor.sys
- usbui.dll
I doubt that the problem can be related to usbstor.sys (that should be linked to the actual USB device, that remains the same), but there could be enumeration differences, something somehow similar to the known (but not yet "fully" cleared .ph34r:) PARENTID prefix:
http://www.msfn.org/...-7-t137508.html
http://www.msfn.org/.../2-t131770.html
(these two threads may already contain, if not the solution, some "more targeted hints to get to it)
On the other hand:
- usbport is definitely "linked" to the onboard USB controller
- usbhub as above, actually usbhub is installed by usbport.inf, but it seems like not VEN&DEV linked
- usbd as above, actually usbhub is installed by usbport.inf, but it seems like not VEN&DEV linked
- usb?hci as above, actually usb?hci is installed by usbport.inf, but it seems like:
- usbehci is not VEN&DEV linked, but uses a coinstaller
- usbohci is not VEN&DEV linked
- usbuhci is not VEN&DEV linked
- as well usbui.dll is installed by usbport.inf and it shouldn't be hardware specific as it is the "USBHubPropPageProvider"
- usbhub.sys is also installed by usbport.inf, but it seems like not VEN&DEV linked
So, first thing to check would be USBPORT settings and device enumeration.
jaclaz
#53
Posted 19 September 2009 - 03:07 PM
It can boot on the same machine it was installed on (com1) which is Intel Core2Duo E8400, ASUS P5Q-PRO Intel P45 ICH10R.
I move it to another machine (com2) AMD Athlon 64x2 4000+ ASUS M2V-MX. It failed to boot with BSOD 0x0000007B (..., 0xC0000034, ..., ...) INACCESSIBLE_BOOT_DEVICE.
That means usbstor don't work. But usbstor can discover new USB Mass Storage Device and boot from it in com1, so usbstor should not be cause of problem. May be usbhub or usbehci did not started.
There are unknown value in usb* services registry key.
BootFlags = 4
I don't known what does it means. But It should not be cause of problem because it is already there from installation and com1 can boot from USB.
intelppm Start = 3. It it probably not involved yet.
usb?hci, usbhub, usbstor, disk have Start = 0 (boot start), ErrorControl = 1
acpi, pci, atapi also have Start = 0, but ErrorControl = 3
Are the ErrorControl values related to error 0x0000007B ?
Let's look into SYSTEM\Enum key
ROOT\ACPI_HAL\0000 (ACPI_HAL) -- exist in Enum key from both Windows installed on com1 and Windows installed on com2.
ACPI_HAL\PNP0C08\0 (ACPI) -- the same from both com1 and com1.
ACPI\PNP0A08\0 (pci) -- exist in Enum key from com1 only
ACPI\PNP0A03\0 (pci) -- exist in Enum key from com2 only
PCI device IDs and compatible IDs from 2 test computers are different.
pci on com1 has hardware ID and compatible ID *pnp0a08
pci on com2 has hardware ID and compatible ID *pnp0a03
Both IDs *pnp0a08 and *pnp0a03 exist in CriticalDeviceDatabase.
USB controller match compatible ID PCI#CC_0C0320 (usbehci) in CriticalDeviceDatabase.
USB root hub, hub match compatible ID USB#ROOTHUB20, USB#CLASS_09 (usbhub) in CriticalDeviceDatabase.
Mass Storage Device match compatible ID USB#Class_08&... in CriticalDeviceDatabase.
Does the difference of PCI hardware IDs + compatible IDs cause pci service error and with its ErrorControl=3 result in BSOD ?
#54
Posted 19 September 2009 - 04:25 PM
Not necessarily, the usbstor is "connected" to usbport/usbhub which are connected to the pci bus.That means usbstor don't work
As far as I can understand it, the 0x0000007b is not necessarily related to usbstor, or to the SATA driver (common cases) i.e. to the last or next to last ring in the chain, it could be a missing
Does the difference of PCI hardware IDs + compatible IDs cause pci service error and with its ErrorControl=3 result in BSOD ?
It could be.
That was the actual general idea behind this post:
http://www.boot-land...?...=9051&st=35
jaclaz
#55
Posted 19 September 2009 - 04:54 PM
http://rapidshare.co...36/CPU.rar.html
#56
Posted 19 September 2009 - 07:14 PM
#57
Posted 19 September 2009 - 07:15 PM
I'm starting to study the relations that could exist between the USB registry keys of Windows 7 running on computer n.1 (INTEL cpu) OR on computer n.2 (AMD cpu). I uploaded the reg shots made with paraglider. If you wanna make compares,they are here :
http://rapidshare.co...36/CPU.rar.html
Hmmm, I had hoped that the differences were limited to a bunch of keys.
The two Registries seem like completely different:
Keys deleted:12903
...
Total changes:505877
It will take some time to get anything from that.
jaclaz
#58
Posted 19 September 2009 - 07:26 PM
#59
Posted 19 September 2009 - 11:57 PM
http://rapidshare.co...85/eee.hiv.html
The list of computers with which I make tests is here :
http://www.boot-land...?...=9051&st=30
#60
Posted 20 September 2009 - 02:43 AM
That's right. I think usbstor don't work not because there is something wrong with its settings but because it is not even called.Not necessarily, the usbstor is "connected" to usbport/usbhub which are connected to the pci bus.
As far as I can understand it, the 0x0000007b is not necessarily related to usbstor, or to the SATA driver (common cases) i.e. to the last or next to last ring in the chain, it could be a missing
I check Enum and services registry key of all devices below usbstor. The most suspicious device+service is pci.
How can we check whether each driver (pci, usbehci,...) start ot not ?
#61
Posted 20 September 2009 - 05:32 AM
OEM Activated - cracked or not - will fail giving you STOP 0x0000007B meaning no bootable device found, ie the BIOS OEM ID is not matching Windows 7 thinks ther must be a corruption on the hard drive so reboots.
The only way you can get passed this is instead of Activating use something like TimerNuke which stops the activation clock - hopefully timerNuke method will still work after March 2010 but Automatic Microsoft Updates will fail.
#62
Posted 20 September 2009 - 09:10 AM
Yes, I had a look at the AMD/INTEL files, my guess at the moment is as well that we need a different approach, but because probably the install was "second hand" and it's difficult to understand whcih is which.
I mean, it is possible that the Windows 7 install has gone during the experiments backa and forth between the different PC's and a number of data somehow "overlapped" or however "polluted".
Get Winmerge:
http://winmerge.org/
And check the differences between the two files in the attachment.
They are a (ROUGH and incomplete, UNtidy) copy of ControlSet001 and ControlSet002, (the latter with references to ControlSet002 replaced by references to ControlSet001 in order to have "real" differnces).
Next step, should probably be the following (I know that it's a PITA, but right now I have no better ideas):
re-create a Win7 on USB from scratch on the (say) Intel.
- boot it on that Intel ONLY
- snapshot it
- try booting it on the AMD (let it FAIL the booting)
- re-add the USBootwatcher
- snapshot it BEFORE re-trying booting it on AMD
- try booting it on the AMD (successfully)
- snapshot it AGAIN
Instead of Regshot 1.8.2 or Paraglider's version use the 2.0 version, Russian page:
http://regshot.ru/20/
via google translate:
http://translate.goo...t...en&ie=UTF-8
When you start it, it will come out with the Russian interface, DON'T PANIC, in the bottom right hand corner there is a dropdownbox with the Russian flag, change it to the English flag.
Run each snapshot with it THREE times, first snapshotting the whole Registry, and second snapshotting ONLY HKEY_LOCAL_MACHINE and the third snapshotting ONLY HKEY_LOCAL_MACHINE\SYSTEM.
So you will have this set of 9 files:
- Intel.hiv
- Intel_HKLM.hiv
- Intel_HKML_S.hiv
- AMD_pre.hiv
- AMD_pre_HKLM.hiv
- AMD_pre_HKLMS.hiv
- AMD_after.hiv
- AMD_after_HKLM.hiv
- AMD_after_HKLMS.hiv
In Regshot set as REGEDIT4 the output and in Report set it to have both "All Values in Deleted Keys" AND All Values in new keys" SET.
Run a compare between 3. and 6. ->Report.1.html and Report.1.UndoReg.txt and Report.1.RedoReg.txt
Run a compare between 6. and 9. ->Report.2.html and Report.2.UndoReg.txt and Report.2.RedoReg.txt
Run a compare between 3. and 9. ->Report.3.html and Report.3.UndoReg.txt and Report.3.RedoReg.txt
Post a .zip (or a link to it if biggish) of just the .html's and .txt's
To be quite frank, I am not at all sure that this is the "right" way to go on, but it's the only possible path I can see at the moment.
Maybe before doing the above (which is quite a lot of work) you might want to wait a couple of days, and see if anyone has a better idea/approach.
@seaking
Hmmm, if whatever you are saying (which I only partially understand, since activation is an alltogether different thing) was actually related to the issue at hand, there would be NO way that re-installing USBootwatcher will make the thingy boot again on another hardware.
At the moment all we are trying to do is actually booting, no activation is needed at this stage.
@karyonix
Exactly.
jaclaz
Attached Files
#63
Posted 20 September 2009 - 10:06 AM
We would not need to know very well how and when the usb registry keys changes,because we would know for sure that the modifications made by usbbootwatcher would enough. The only thing that we should to do is to make a modified version of usbbootwatcher. It should run as service always on and it should check changes in the usb keys. When they changes (for example,they may change everytime you use the USB disk on another computer),it should fix them immediately. Now,the point is that I haven't another computer. So we have two options :
1) someone make tests using at least two computers running Intel or Amd cpu
2) we are able to boot windows 7 patched with the USB disk on computer n.5
#64
Posted 20 September 2009 - 11:40 AM
This is what I did.
1. I clone Windows from partition1 of USB disk (H:) to vw7.vhd (I:) in internal SATA disk.
Use psexec to run cmd in SYSTEM account. Xcopy files.
Change MountedDevices \DosDevices\C: in I:\Windows\system32\config\SYSTEM to match I:.
Change I:\Boot\BCD.
2. Try to boot vw7.vhd in Virtual Windows PC
BSOD 0x0000007B
3. Boot my USB drive in com1
In device Manager, I uninstalled "Microsoft ACPI-Compliant System".
4. Reboot into my normal Windows.
Copy H:\Windows\system32\config\SYSTEM to I:\Windows\system32\config\SYSTEM
Load hive I:\Windows\system32\config\SYSTEM
Change some services (mostly SCSI miniport) Start value from 3 to 0
Change some services ErrorControl value from 3 to 1
Unload hive
5. Boot vw7.vhd in Windows Virtual PC RC success.
6. Create partition2 in USB drive (I:), copy vw7.vhd to I:, mount I:\vw7.vhd as J: add entry in H:\Boot\BCD for boot from VHD.
Boot com1 from vw7.vhd in USB drive success.
7. Move to com2
Boot vw7.vhd in USB drive on com2 BSOD 0x0000007B.
8. Restore backup of SYSTEM hive from step 4. (after uninstall "Microsoft ACPI-Compliant System" but not boot in Windows Virtual PC)
to \Windows\config\system32 in vw7.vhd in partition2 of USB disk.
Load hive, Fix its MountedDevices \DosDevices\C: again. Unload hive.
9. Boot com2 from vw7.vhd in partition2 of USB disk success.
Reboot success.
10. Move USB disk back to com1.
Boot com1 from vw7.vhd in partition2 of USB disk success.
11. Boot com1 from internal harddisk.
Boot Windows Virtual PC RC in com1 from vw7.vhd success.
12. Move back to com2 not tested.
I don't use USB boot watcher but use this usbbootfix.bat to change Start and Group value of USB services.
EDIT 2009-09-23 Attachment deleted. New usbbootfix.bat is at #74.
--------
Update: 2009.09.21
After experiment on com2 many times, this is the result.
com1 = Intel Cor2Duo E8400, ASUS P5Q-PRO, Intel P45 + ICH10R
com2 = AMD Athlon64X2 4000+, ASUS M2V-MX, VIA K8M890 + 8237A
- Windows 7 installed in SATA disk in com1 use iastorv service.
- After install usbbootfix.bat it is bootable from USB on com1.
- For Windows 7 RC from com1, cloned to VHD, attached to Windows Virtual PC RC,
the minimal change that make it bootable is in SYSTEM\ControlSet001\services\intelide key, change Start value from 3 to 0.
- For Windows 7 RC from com1 cloned to VHD in USB disk, connected to USB port on com2,
the minimal change that make it bootable is in SYSTEM\ControlSet001\services\viaide key, change Start value from 3 to 0.
- All other changes I have tried yesterday such as uninstalling "Microsoft ACPI-Compliant System" are unnecessary.
- If I disable IDE controller in BIOS, Windows 7 in USB disk will not be able to boot.
#65
Posted 21 September 2009 - 08:29 PM
No, I don't know to add Usb Boot Watcher that early.Isn't there a way to modify something without re-mounting the .vhd and re-installing USBbootwatcher,exe?
However this is not necessary. No need to open the VHD file.
Adjust Dietmar's F6 USB floppy to Windows 7.
Copy some USB drivers and inf files to a new directory.
Edit the inf files, adjust StartType and LoadOrderGroup.
New: edit BootFlags too, the manufacturer plays silly games.
[codebox]Copy files to a new directory:usbhub.sysusbehci.sysusbohci.sysusbstor.sysusbuhci.sysusbport.sysusb.infusbport.infusbstor.infEdit filesusb.inf;[SignatureAttributes];usbccgp.sys=SignatureAttributes.DRM;usbhub.sys=SignatureAttributes.DRM[StandardHub.AddService]DisplayName = %StandardHub.SvcDesc%ServiceType = 1 ; SERVICE_KERNEL_DRIVER;StartType = 3 ; SERVICE_DEMAND_STARTStartType = 0 ; SERVICE_BOOT_STARTErrorControl = 1 ; SERVICE_ERROR_NORMALServiceBinary = %12%\usbhub.sys;LoadOrderGroup = BaseLoadOrderGroup = System Bus Extenderusbport.inf[ControlFlags];BasicDriverOk = *;ExcludeFromSelect = *;[SignatureAttributes];usbehci.sys=SignatureAttributes.DRM;usbhub.sys=SignatureAttributes.DRM;usbohci.sys=SignatureAttributes.DRM;usbport.sys=SignatureAttributes.DRM;usbuhci.sys=SignatureAttributes.DRM;[SignatureAttributes.DRM];DRMLevel=1300[EHCI.AddReg.NT]HKR,,EnumPropPages32,,"usbui.dll,USBControllerPropPageProvider"HKR,,Controller,1,01;HKLM,System\CurrentControlSet\Services\usbehci,BootFlags,0x00010003,4[EHCI.AddService]DisplayName = %EHCIMP.SvcDesc%ServiceType = 1 ; SERVICE_KERNEL_DRIVER;StartType = 3 ; SERVICE_DEMAND_STARTStartType = 0 ; SERVICE_BOOT_STARTErrorControl = 1 ; SERVICE_ERROR_NORMALServiceBinary = %12%\usbehci.sys;LoadOrderGroup = BaseLoadOrderGroup = Boot Bus Extender[OHCI.AddReg.NT]HKR,,EnumPropPages32,,"usbui.dll,USBControllerPropPageProvider"HKR,,Controller,1,01;HKLM,System\CurrentControlSet\Services\usbohci,BootFlags,0x00010003,4[OHCI.AddService]DisplayName = %OHCIMP.SvcDesc%ServiceType = 1 ; SERVICE_KERNEL_DRIVER;StartType = 3 ; SERVICE_DEMAND_STARTStartType = 0 ; SERVICE_BOOT_STARTErrorControl = 1 ; SERVICE_ERROR_NORMALServiceBinary = %12%\usbohci.sys;LoadOrderGroup = BaseLoadOrderGroup = Boot Bus Extender[UHCI.AddReg.NT]HKR,,EnumPropPages32,,"usbui.dll,USBControllerPropPageProvider"HKR,,Controller,1,01;HKLM,System\CurrentControlSet\Services\usbuhci,BootFlags,0x00010003,4[UHCI.AddService]DisplayName = %UHCIMP.SvcDesc%ServiceType = 1 ; SERVICE_KERNEL_DRIVER;StartType = 3 ; SERVICE_DEMAND_STARTStartType = 0 ; SERVICE_BOOT_STARTErrorControl = 1 ; SERVICE_ERROR_NORMALServiceBinary = %12%\usbuhci.sys;LoadOrderGroup = BaseLoadOrderGroup = Boot Bus Extender[ROOTHUB.AddReg.NT]HKR,,EnumPropPages32,,"usbui.dll,USBHubPropPageProvider";HKLM,System\CurrentControlSet\Services\usbhub,BootFlags,0x00010003,4[ROOTHUB.AddService]DisplayName = %ROOTHUB.SvcDesc%ServiceType = 1 ; SERVICE_KERNEL_DRIVER;StartType = 3 ; SERVICE_DEMAND_STARTStartType = 0 ; SERVICE_BOOT_STARTErrorControl = 1 ; SERVICE_ERROR_NORMALServiceBinary = %12%\usbhub.sys;LoadOrderGroup = BaseLoadOrderGroup = System Bus Extenderusbstor.inf[USBSTOR.AddService]DisplayName = %USBSTOR.SvcDesc%ServiceType = 1;StartType = 3StartType = 0ErrorControl = 1ServiceBinary = %12%\USBSTOR.SYSLoadOrderGroup = System Bus Extender[/codebox]Boot Windows 7 install, create a VHD file.Load the edited USB drivers. Continue installation to VHD file.This is sufficient to finish installation.Install Usb Boot Watcher now. Copy UsbBootWatcher.* to %SystemRoot%\system32Import this file[code]REGEDIT4[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\UsbBootWatcherService]"Type"=dword:00000010"Start"=dword:00000002"ErrorControl"=dword:00000000"ImagePath"=hex(2):25,53,79,73,74,65,6d,52,6f,6f,74,25,5c,73,79,73,74,65,6d,33,\ 32,5c,55,73,62,42,6f,6f,74,57,61,74,63,68,65,72,2e,65,78,65,00"DisplayName"="Usb Boot Watcher Service""ObjectName"="LocalSystem"[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\UsbBootWatcherService][HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\UsbBootWatcherService][HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\pciide]"Start"=dword:00000000[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\intelide]"Start"=dword:00000000[/code]This enables UsbBootWatcher at SafeBoot too.
In addition set IDE drivers to boot start, e.g. pciide.sys and intelide.sys.
If necessary copy \Boot\ and \bootmgr to USB drive.
The same VHD image boots at AMD and Intel CPU machines, 32 bit windows 7 and dual processor machines used.
No idea about 64 bit windows 7. Unsigned inf files maybe prohibited.
#66
Posted 21 September 2009 - 09:02 PM
1. When booting from Windows 7 on usb as long as you have the inf files set and the reg keys set for usb ie Group = boot bus extender and Start of 0x0 etc. etc. it will happily boot from usb every single time on the computer it was installed from.
2. Once it has been activated through a crack or official the boot loader is changed to agree with activation for that specific BIOS ID (ie The BIOS ID manaufacter of the computer/hardware)
3. If you then move the USB drive and place it onto another PC the BIOS ID is different so the Boot Loader believe there is a corruption so claims the device is unaccessable failing boot - nothing to do with USB inf regedit changes it is the boot loader causing the failure to authenticate the activation (this also gives the 7B BSOD.
4. If new hardware is found when booting the device the inf registry changes are reverted back to Group = Base and Startup 0x3 not sure how Bootusbwatch etc works but this could be causing your 7B BSOD1 on boot. Never allow the machine to "Restart" always shutdown - makeing sure the inf and registry has the right parameters. How I achive this is editing gpedit.msc Windows Shutdown Script which runs a VB Sript file that applies the change to the registry and copies the INF files back to the windows INF folder which gaurentes these are correct allowing boot from USB everytime.
#67
Posted 22 September 2009 - 01:24 AM
3. That is not the case for Windows 7 RC.
If not activated, Windows 7 RC can run fine for 30 days.
After Windows 7 RC is activated, when boot on different hardware it does not show BSOD 0x7B.
It can boot to desktop. In Computer property, it says 3 days left for activation.
Windows 7 Final release may be different. I have not tested it.
--------
When new devices are installed, Windows generates events. You can see these events in Event Viewer\Windows Logs\System.
You can use Task Scheduler to create a task that will run every time these events occur.
A task can also be created from command line or batch file.
Example:
SCHTASKS /Create /RU SYSTEM /SC ONEVENT /MO "*[System[Provider[@Name='Microsoft-Windows-UserPnp'] and EventID=20003]]" /EC System /TN USBBootFix /TR "'%SystemRoot%\system32\usbbootfix.bat' fix" /FNo worry about Start and Group values of USB drivers anymore.
Start values of IDE drivers have to be set to 0 only once. They don't change back to 3 automatically.
#68
Posted 22 September 2009 - 08:23 AM
Very good.
So, this is the solution to the original problem is it?
@Marietto2009
Can you try the proposed install method and report?
@seaking
3. If you then move the USB drive and place it onto another PC the BIOS ID is different so the Boot Loader believe there is a corruption so claims the device is unaccessable failing boot - nothing to do with USB inf regedit changes it is the boot loader causing the failure to authenticate the activation (this also gives the 7B BSOD.
Hmmm, if whatever you are saying (which I only partially understand, since activation is an alltogether different thing) was actually related to the issue at hand, there would be NO way that re-installing USBootwatcher will make the thingy boot again on another hardware.
We are saying the same thing, in different ways.
jaclaz
#69
Posted 22 September 2009 - 08:31 AM
#70
Posted 22 September 2009 - 09:19 AM
...
???
jaclaz
#71
Posted 22 September 2009 - 12:56 PM
1] Created the Windows PE 3.0 image file :
a) [codebox] ;[SignatureAttributes] ;usbccgp.sys=SignatureAttributes.DRM ;usbhub.sys=SignatureAttributes.DRM [StandardHub.AddService] DisplayName = %StandardHub.SvcDesc% ServiceType = 1 ; SERVICE_KERNEL_DRIVER ;StartType = 3 ; SERVICE_DEMAND_START StartType = 0 ; SERVICE_BOOT_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %12%\usbhub.sys ;LoadOrderGroup = Base LoadOrderGroup = System Bus Extender[/codebox] usbport.inf [codebox][ControlFlags] ;BasicDriverOk = * ;ExcludeFromSelect = * ;[SignatureAttributes] ;usbehci.sys=SignatureAttributes.DRM ;usbhub.sys=SignatureAttributes.DRM ;usbohci.sys=SignatureAttributes.DRM ;usbport.sys=SignatureAttributes.DRM ;usbuhci.sys=SignatureAttributes.DRM ;[SignatureAttributes.DRM] ;DRMLevel=1300 [EHCI.AddReg.NT] HKR,,EnumPropPages32,,"usbui.dll,USBControllerPropPageProvider" HKR,,Controller,1,01 ;HKLM,System\CurrentControlSet\Services\usbehci,BootFlags,0x00010003,4 [EHCI.AddService] DisplayName = %EHCIMP.SvcDesc% ServiceType = 1 ; SERVICE_KERNEL_DRIVER ;StartType = 3 ; SERVICE_DEMAND_START StartType = 0 ; SERVICE_BOOT_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %12%\usbehci.sys ;LoadOrderGroup = Base LoadOrderGroup = Boot Bus Extender [OHCI.AddReg.NT] HKR,,EnumPropPages32,,"usbui.dll,USBControllerPropPageProvider" HKR,,Controller,1,01 ;HKLM,System\CurrentControlSet\Services\usbohci,BootFlags,0x00010003,4 [OHCI.AddService] DisplayName = %OHCIMP.SvcDesc% ServiceType = 1 ; SERVICE_KERNEL_DRIVER ;StartType = 3 ; SERVICE_DEMAND_START StartType = 0 ; SERVICE_BOOT_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %12%\usbohci.sys ;LoadOrderGroup = Base LoadOrderGroup = Boot Bus Extender [UHCI.AddReg.NT] HKR,,EnumPropPages32,,"usbui.dll,USBControllerPropPageProvider" HKR,,Controller,1,01 ;HKLM,System\CurrentControlSet\Services\usbuhci,BootFlags,0x00010003,4 [UHCI.AddService] DisplayName = %UHCIMP.SvcDesc% ServiceType = 1 ; SERVICE_KERNEL_DRIVER ;StartType = 3 ; SERVICE_DEMAND_START StartType = 0 ; SERVICE_BOOT_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %12%\usbuhci.sys ;LoadOrderGroup = Base LoadOrderGroup = Boot Bus Extender [ROOTHUB.AddReg.NT]HKR,,EnumPropPages32,,"usbui.dll,USBHubPropPageProvider";HKLM,System\CurrentControlSet\Services\usbhub,BootFlags,0x00010003,4[ROOTHUB.AddService]DisplayName = %ROOTHUB.SvcDesc%ServiceType = 1 ; SERVICE_KERNEL_DRIVER;StartType = 3 ; SERVICE_DEMAND_STARTStartType = 0 ; SERVICE_BOOT_STARTErrorControl = 1 ; SERVICE_ERROR_NORMALServiceBinary = %12%\usbhub.sys;LoadOrderGroup = BaseLoadOrderGroup = System Bus Extender[/codebox]usbstor.inf[codebox]REGEDIT4[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\UsbBootWatcherService]"Type"=dword:00000010"Start"=dword:00000002"ErrorControl"=dword:00000000"ImagePath"=hex(2):25,53,79,73,74,65,6d,52,6f,6f,74,25,5c,73,79,73,74,65,6d,33,\32,5c,55,73,62,42,6f,6f,74,57,61,74,63,68,65,72,2e,65,78,65,00"DisplayName"="Usb Boot Watcher Service""ObjectName"="LocalSystem"[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\UsbBootWatcherService][HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\UsbBootWatcherService][HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\pciide]"Start"=dword:00000000[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\intelide]"Start"=dword:00000000[/codebox]10) Enabled Auto Reboot On System Crash11) Booted WIndows 7 from Sata disk and copied win7.VHD into USB disk12) Booted Windows 7 on USB disk and created entries to boot the VHD image file :c:\windows\system32>bcdedit /copy {current} /d "Boot From VHD"The entry was succesfully copied to {d1c322bc-0f4e-11de-a271-8c2cd1e4be0a}c:\windows\system32>bcdedit /set {d1c322bc-0f4e-11de-a271-8c2cd1e4be0a} device vhd=[C:]\win7.vhdc:\windows\system32>bcdedit /set {d1c322bc-0f4e-11de-a271-8c2cd1e4be0a} osdevice vhd=[C:]\win7.vhdc:\windows\system32>bcdedit /set {d1c322bc-0f4e-11de-a271-8c2cd1e4be0a} detecthal on c:\windows\system32>bcdedit /set {d1c322bc-0f4e-11de-a271-8c2cd1e4be0a} description "VHD Boot" 13) tried to boot the VHD image from the USB disk on Intel CPU and on AMD cpu and it worked perfectly on my computers. Btw I wanna make more tests,for example I wanna try on 64 bit computers. If someone can do it,let us know. It is a good idea to make a portable version of Windows 7 64 bit,too.
I'm very happy now,because we have been able to make something useful for everybody. Thanks to everybody.
#72
Posted 22 September 2009 - 01:32 PM
VERY good.
I formatted your post as to make it more readable, please check if I inadvertedly changed anything.
@cdob
jaclaz
#73
Posted 22 September 2009 - 02:20 PM
usb.inf
[ControlFlags]
(; --> yes or not) BasicDriverOk=*
(; --> yes or not) ExcludeFromSelect=*
[SignatureAttributes.DRM]
(; --> yes or not) DRMLevel=1300
[StandardHub.AddReg.NT]
(; --> yes or not) HKLM,System\CurrentControlSet\Services\usbhub,BootFlags,0x00010003,4
usbstor.inf
[ControlFlags]
(; --> yes or not) ExcludeFromSelect = *
(; --> yes or not) BasicDriverOk=*
[USBSTOR.AddService]
(; --> yes or not) AddReg=DeviceSpecific
Thanks.
#74
Posted 22 September 2009 - 03:16 PM
----------
Alternative installation instructions.
Install in SATA disk + USB SATA disk enclosure.
1. Attach SATA disk to computer (detach other disks to make sure BCD is created in correct disk)
2. Boot from Windows 7 DVD, create partition, install Windows 7 in SATA disk
3. Boot from SATA disk
4. Run usbbootfix.bat as administrator
5. Run cmd as administrator
@echo offif "%1"=="fix" goto :fixrem -- install taskcopy /y "%~f0" "%SystemRoot%\system32\usbbootfix.bat"SCHTASKS /Create /RU SYSTEM /SC ONEVENT /MO "*[System[Provider[@Name='Microsoft-Windows-UserPnp'] and EventID=20003]]" /EC System /TN USBBootFix /TR "'%SystemRoot%\system32\usbbootfix.bat' fix" /Frem -- apply other settingsreg add HKLM\SYSTEM\CurrentControlSet\services\pciide /v Start /t REG_DWORD /d 0x0 /freg add HKLM\SYSTEM\CurrentControlSet\services\intelide /v Start /t REG_DWORD /d 0x0 /freg add HKLM\SYSTEM\CurrentControlSet\services\viaide /v Start /t REG_DWORD /d 0x0 /frem -- run :fix once after install:fixcall :fixservice usbehci "Boot Bus Extender"call :fixservice usbohci "Boot Bus Extender"call :fixservice usbuhci "Boot Bus Extender"call :fixservice usbhub "System Bus Extender"call :fixservice usbstor "SCSI miniport"goto :eof:fixservicesetlocalset Start=set Group=for /f "skip=2 tokens=1,2,*" %%I in ('reg query HKLM\SYSTEM\CurrentControlSet\services\%~1') do ( if "%%I"=="Start" set Start=%%K if "%%I"=="Group" set Group=%%K)if not "%Start%"=="0x0" reg add HKLM\SYSTEM\CurrentControlSet\services\%~1 /v Start /t REG_DWORD /d 0x0 /fif not "%Group%"=="%~2" reg add HKLM\SYSTEM\CurrentControlSet\services\%~1 /v Group /t REG_SZ /d "%~2" /fendlocalgoto :eof
#75
Posted 22 September 2009 - 05:20 PM
1) if I put the SATA disk inside the USB SATA disk enclosure I will lose the warranty of my disk
2) I can't use Windows Virtual PC because I have no computers able to use the hardware virtualization
2 user(s) are reading this topic
0 members, 2 guests, 0 anonymous users