Jump to content











Photo
- - - - -

Boot Windows 7 from USB hard disk


  • Please log in to reply
137 replies to this topic

#51 Marietto

Marietto

    Frequent Member

  • Advanced user
  • 268 posts
  • Location:Italy
  • Interests:Computers,movies,read/write,talking about philosophy and religion.
  •  
    Italy

Posted 19 September 2009 - 07:25 AM

No, I didn't. Now we also know that power management and usb management are connected,because when Windows 7 freeze you have to reboot your computer and run usbbootwatcher again.

#52 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7101 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 19 September 2009 - 09:22 AM

Well, this can anyway be eliminated for the sake of the experiment, I mean, both Power Management and Hybernation should be on the very bottom on the priorities list.
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. :(

:unsure:

jaclaz

#53 karyonix

karyonix

    Frequent Member

  • Advanced user
  • 481 posts
  •  
    Thailand

Posted 19 September 2009 - 03:07 PM

Last night, I install Windows 7 RC 32-bit in a SATA harddisk and change services Start and Group value in registry and manage to boot it from USB docking station.
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 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7101 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 19 September 2009 - 04:25 PM

That means usbstor don't work

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


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 Marietto

Marietto

    Frequent Member

  • Advanced user
  • 268 posts
  • Location:Italy
  • Interests:Computers,movies,read/write,talking about philosophy and religion.
  •  
    Italy

Posted 19 September 2009 - 04:54 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

#56 Marietto

Marietto

    Frequent Member

  • Advanced user
  • 268 posts
  • Location:Italy
  • Interests:Computers,movies,read/write,talking about philosophy and religion.
  •  
    Italy

Posted 19 September 2009 - 07:14 PM

Can you explain to me how can I help you ? I need that you explain to me a method if I want to explore the Windows registry keys without becoming crazy.

#57 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7101 posts
  • Location:Gone in the mist
  •  
    Italy

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 Marietto

Marietto

    Frequent Member

  • Advanced user
  • 268 posts
  • Location:Italy
  • Interests:Computers,movies,read/write,talking about philosophy and religion.
  •  
    Italy

Posted 19 September 2009 - 07:26 PM

We are using the wrong approach. Certainly aren't single elements that do not allow to run Windows on multiple computers,but a set of elements,so we have to tighten the search field and to do it we have to use a different kind of software,like something that start to check the registry as soon as it begins to be used and that the monitoring can be stopped by pressing a button.

#59 Marietto

Marietto

    Frequent Member

  • Advanced user
  • 268 posts
  • Location:Italy
  • Interests:Computers,movies,read/write,talking about philosophy and religion.
  •  
    Italy

Posted 19 September 2009 - 11:57 PM

This is the regshot of the eee pc 8g (computer 3). I remember to you that if you use your USB disk on computer 3 and on computer 1,you don't need to run usbbootwatcher again,but you can't use the USB disk with Windows 7 from computers running the Intel cpu and put it on computers running AMD cpu :

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 karyonix

karyonix

    Frequent Member

  • Advanced user
  • 481 posts
  •  
    Thailand

Posted 20 September 2009 - 02:43 AM

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

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.
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 seaking

seaking
  • Members
  • 2 posts
  •  
    United Kingdom

Posted 20 September 2009 - 05:32 AM

Read up details on Windows Activation - It explains how it activates using the BIOS OEM ID ie - multple computer with the same BIOS OEM ID will boot windows 7 from USB without problems.

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 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7101 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 20 September 2009 - 09:10 AM

@marietto2009
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. :cheers: :loleverybody: B)

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. :cheers:

@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. B)

:cheers:

jaclaz

Attached Files



#63 Marietto

Marietto

    Frequent Member

  • Advanced user
  • 268 posts
  • Location:Italy
  • Interests:Computers,movies,read/write,talking about philosophy and religion.
  •  
    Italy

Posted 20 September 2009 - 10:06 AM

Till now we know that windows 7 patched with usbbootwatcher runs very well if you use usb disks on computers running on the same type of cpu (luckily we have only two big kinds of cpu : intel and amd). This theory is still valid,because when I installed windows 7 on the computer n.5,I did it using an IDE disk (and also because karyonix did tests on computers running on SATA disk and with different CPUs),because for unknown reasons it is not able to boot from the usb disk (the error is : "A disk read error occurred,Press Ctrl+Alt+Del to restart"). To confirm or deny this theory I think I should make tests on another computer (with intel or amd cpu,it doesn't care),running on usb disk with windows 7 patched. If it worked on computer n.5,we would not need to do a big work,because it would enough to use two installations of windows 7,the first for each kind of intel cpu's and the second one for each kind of amd cpu's.
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 karyonix

karyonix

    Frequent Member

  • Advanced user
  • 481 posts
  •  
    Thailand

Posted 20 September 2009 - 11:40 AM

I have successfully move Windows 7 RC 32-bit in VHD from com1 (Intel) to com2 (AMD) and back to com1 and Windows Virtual PC RC on com1

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 cdob

cdob

    Gold Member

  • Expert
  • 1469 posts

Posted 21 September 2009 - 08:29 PM

Isn't there a way to modify something without re-mounting the .vhd and re-installing USBbootwatcher,exe?

No, I don't know to add Usb Boot Watcher that early.
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 seaking

seaking
  • Members
  • 2 posts
  •  
    United Kingdom

Posted 21 September 2009 - 09:02 PM

In reply to jaclaz - Not fully understanding my reply I will try and explain it a different way.

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 karyonix

karyonix

    Frequent Member

  • Advanced user
  • 481 posts
  •  
    Thailand

Posted 22 September 2009 - 01:24 AM

@seaking
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" /F
No 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 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7101 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 22 September 2009 - 08:23 AM

@cdob
Very good. :cheers:

So, this is the solution to the original problem is it? :loleverybody:

@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. B)

jaclaz

#69 Marietto

Marietto

    Frequent Member

  • Advanced user
  • 268 posts
  • Location:Italy
  • Interests:Computers,movies,read/write,talking about philosophy and religion.
  •  
    Italy

Posted 22 September 2009 - 08:31 AM

...

#70 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7101 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 22 September 2009 - 09:19 AM

...


???

jaclaz

#71 Marietto

Marietto

    Frequent Member

  • Advanced user
  • 268 posts
  • Location:Italy
  • Interests:Computers,movies,read/write,talking about philosophy and religion.
  •  
    Italy

Posted 22 September 2009 - 12:56 PM

This is what I did :

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 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7101 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 22 September 2009 - 01:32 PM

@Marietto2009
VERY good. ;)

I formatted your post as to make it more readable, please check if I inadvertedly changed anything.

@cdob
:loleverybody:

B)

jaclaz

#73 Marietto

Marietto

    Frequent Member

  • Advanced user
  • 268 posts
  • Location:Italy
  • Interests:Computers,movies,read/write,talking about philosophy and religion.
  •  
    Italy

Posted 22 September 2009 - 02:20 PM

I ask to cdob to check very carefully the values inside these USB configuration files and to tell us how should be correct,because maybe they are not coherent with each other and I don't want that in circumstances that we do not yet,they could be cause of errors :

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 karyonix

karyonix

    Frequent Member

  • Advanced user
  • 481 posts
  •  
    Thailand

Posted 22 September 2009 - 03:16 PM

I think you don't have to modify INF files.

----------

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 Marietto

Marietto

    Frequent Member

  • Advanced user
  • 268 posts
  • Location:Italy
  • Interests:Computers,movies,read/write,talking about philosophy and religion.
  •  
    Italy

Posted 22 September 2009 - 05:20 PM

karyonix,I can't do what you suggest,because :

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