IPB

Welcome Guest ( Log In | Register )

3 Pages V   1 2 3 >  
Reply to this topicStart new topic
> Installing Vista/XP on USB disk, Tutorial: boot Vista/XP from USB wihout INF modification
marv
post Dec 29 2008, 07:20 AM
Post #1


Member
**

Group: Members
Posts: 10
Joined: 18-March 08
Member No.: 35,571



I decided to make Vista/XP booting from the USB drive while it keeps all drivers untouched and properly signed.
This tutorial is based on Dietmar technique http://www.911cd.net/forums//index.php?showtopic=14181

All you need is one working installation of XP (or better) and my self made service (source included).

The only reason why Dietmar edited INF files is that system overwrites registry values for usbstor, usbehci, usbohci, usbuhci, usbhub start / group when new USB device is inserted (the unsigned driver warning dialog can show up if you modify driver) to the hub. System automaticaly replaces these registry values from driver (INF file).

The only purpose of my service USB_BOOT is to check for change in usb driver registry values and automatically fix it to the proper USB boot ones. Simply, system reads the registry values when booting, not the driver INF files. whistling.gif

Ok, this is how to install Vista/XP on your USB harddrive or stick.
1) Start installing on the USB drive and break after first reboot. Then boot working OS and connect your USB drive there.

If you use Vista/2008 you might get error message (system cannot be installed on USB hdd blabla). Easiest way is to connect your USB hdd to your PC over sata/ide, start installation, and after first reboot, place it to your external USB case again (continue step 2, and continue installation from USB drive!!!). The harder way is to start installation somewhere else and after first reboot copy complete image of partition to your usb drive / I didnt tried this one yet pinch.gif

2) In working OS simply run usb_boot.bat and enter your USB drive system32 path

3) Continue installation from USB drive.

4) If you get bluescreen after installation reboots, repeat step 2.

5) Done sorcerer.gif

! Update - group is now set as Boot Bus Extender, thanks cdob
Attached File  Tutorial_31_12_2008.zip ( 89.74K ) Number of downloads: 12376


---
I created new improved version of the service with configuration file!
usbbootwatcher.conf
CODE
[usbstor]
Start@REG_DWORD=0
Group@REG_SZ="Boot Bus Extender"
[usbehci]
Start@REG_DWORD=0
Group@REG_SZ="Boot Bus Extender"
[usbohci]
Start@REG_DWORD=0
Group@REG_SZ="Boot Bus Extender"
[usbuhci]
Start@REG_DWORD=0
Group@REG_SZ="Boot Bus Extender"
[usbhub]
Start@REG_DWORD=0
Group@REG_SZ="Boot Bus Extender"


to see supported commands
CODE
usbbootwatcher.exe /?

to install service on current system (copy to system32 before). Remove old service first (sc stop "USBBOOT" and sc delete "USBBOOT")
CODE
usbbootwatcher.exe /install

uninstall
CODE
usbbootwatcher.exe /uninstall

to prepare registry for usb boot on another disk - update registry (as set in .conf file) and create service USBBOOT
CODE
usbbootwatcher.exe /prepare e:\windows\system32


! 5.1.2009 fixed issue while reading registry file

This post has been edited by marv: Jan 5 2009, 07:32 AM
Attached File(s)
Attached File  UsbBootWatcher.zip ( 117.72K ) Number of downloads: 5839
Attached File  UsbBootWatcher_src.zip ( 12.8K ) Number of downloads: 1593
 
Go to the top of the page
 
+Quote Post
jaclaz
post Dec 29 2008, 07:41 AM
Post #2


Platinum Member
*****

Group: Moderator
Posts: 4,954
Joined: 25-July 04
From: Italy
Member No.: 6,779



Could you expand of what exactly USB_BOOT.EXE does?

Which keys changes, with what data, etc....

Would you think possible to use migrate.inf or edit SETUPREG.HIV to avoid a couple of steps? unsure.gif

jaclaz


--------------------
- Fighting against bloatware since 2004, and proud of it. -
Go to the top of the page
 
+Quote Post
marv
post Dec 29 2008, 09:52 AM
Post #3


Member
**

Group: Members
Posts: 10
Joined: 18-March 08
Member No.: 35,571



QUOTE (jaclaz @ Dec 29 2008, 07:41 AM) *
Could you expand of what exactly USB_BOOT.EXE does?

Which keys changes, with what data, etc....

Would you think possible to use migrate.inf or edit SETUPREG.HIV to avoid a couple of steps? unsure.gif

jaclaz


usb_boot.exe is service and it check for changes in registry

for all of these
SYSTEM\CurrentControlSet\Services\usbstor
SYSTEM\CurrentControlSet\Services\usbehci
SYSTEM\CurrentControlSet\Services\usbohci
SYSTEM\CurrentControlSet\Services\usbuhci
SYSTEM\CurrentControlSet\Services\usbhub
it sets Start to 0 and Group to System Reserved when changed to diffrent

Im not sure if its possible to start service while setup, but I try later and let you know

This post has been edited by marv: Dec 29 2008, 09:57 AM
Go to the top of the page
 
+Quote Post
jaclaz
post Dec 29 2008, 10:30 AM
Post #4


Platinum Member
*****

Group: Moderator
Posts: 4,954
Joined: 25-July 04
From: Italy
Member No.: 6,779



I see. smile.gif

VERY good idea/approach! thumbsup.gif

If you are positive that the data comes from .INF files, what if one changes the .INF themselves? unsure.gif

Definitely it is possible to add usb_boot.exe to the build in TXTSETUP.SIF, and there is definitely some way to start it.

In the archive posted there is NO usb_boot.bat. w00t.gif

jaclaz


--------------------
- Fighting against bloatware since 2004, and proud of it. -
Go to the top of the page
 
+Quote Post
cdob
post Dec 29 2008, 10:34 AM
Post #5


Platinum Member
*****

Group: Moderator
Posts: 3,257
Joined: 31-October 03
Member No.: 2,304



Thanks for this service. This come in handy.

QUOTE (marv @ Dec 29 2008, 03:52 PM) *
it sets Start to 0 and Group to System Reserved when changed to diffrent
Why do you set all USB services to System Reserved?

Compare HKLM\SYSTEM\CurrentControlSet\Control\ServiceGroupOrder\List
System Reserved is real early. There are timing errors at some machines.

I'm used "Boot Bus Extender" for usb?hci.
And "System Bus Extender" for usbhub and usbstor.

boot_usb_start0_CurrentControlSet.reg
CODE
REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbohci]
"Start"=dword:00000000
"Group"="Boot Bus Extender"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbuhci]
"Start"=dword:00000000
"Group"="Boot Bus Extender"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbehci]
"Start"=dword:00000000
"Group"="Boot Bus Extender"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbhub]
"Start"=dword:00000000
"Group"="System Bus Extender"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbstor]
"Start"=dword:00000000
"Group"="System Bus Extender"


QUOTE
Im not sure if its possible to start service while setup, but I try later and let you know

Import usb_boot.reg to setupreg.hiv.

I can't test fully myself:
I'm getting "(system cannot be installed on USB hdd blabla)".
I install windows at VMware Player and copy files to USB flash.
Go to the top of the page
 
+Quote Post
marv
post Dec 29 2008, 10:38 AM
Post #6


Member
**

Group: Members
Posts: 10
Joined: 18-March 08
Member No.: 35,571



QUOTE (jaclaz @ Dec 29 2008, 10:30 AM) *
I see. smile.gif

VERY good idea/approach! thumbsup.gif

If you are positive that the data comes from .INF files, what if one changes the .INF themselves? unsure.gif

Definitely it is possible to add usb_boot.exe to the build in TXTSETUP.SIF, and there is definitely some way to start it.

In the archive posted there is NO usb_boot.bat. w00t.gif

jaclaz


if you change .INF files, digital signature wont be valid anymore bounce.gif
Go to the top of the page
 
+Quote Post
marv
post Dec 29 2008, 10:51 AM
Post #7


Member
**

Group: Members
Posts: 10
Joined: 18-March 08
Member No.: 35,571



QUOTE (cdob @ Dec 29 2008, 10:34 AM) *
Thanks for this service. This come in handy.

QUOTE (marv @ Dec 29 2008, 03:52 PM) *
it sets Start to 0 and Group to System Reserved when changed to diffrent
Why do you set all USB services to System Reserved?

Compare HKLM\SYSTEM\CurrentControlSet\Control\ServiceGroupOrder\List
System Reserved is real early. There are timing errors at some machines.

I'm used "Boot Bus Extender" for usb?hci.
And "System Bus Extender" for usbhub and usbstor.
...

Thank for your reply. You are right, well, I used System Reserved wihout problems. I will fix to Boot Bus Extender
Go to the top of the page
 
+Quote Post
corsair
post Dec 29 2008, 06:23 PM
Post #8


Member
**

Group: Members
Posts: 31
Joined: 12-November 07
Member No.: 33,180



Excellent work on getting a monitoring service going!
Looks like a simpler version of the usboot.org I like it.

I have 3 statements/questions:

1) I only see services modification in your bat file, assuming exe only monitors changes to these services correct?
2) Do you not need usb device entry for the OS to actually boot your USB disk? It cannot add it on the fly as it is the OS?
This will work for vista, not sure about xp seeing the device even after drivers being loaded.
Reading variation of tutorials, seems like you need the USB drive device registered in xp before xp will boot from it.
3) In my workings I have seen HKLM\system\control*\services\USB*\Tag Dword playing a role in usb drive detection.
If those are set in a particular order #, boot bus extender or system reserved start flags dont load the USB drive device.
(drivers load, drive doesnt load to the OS showing BSOD)
Go to the top of the page
 
+Quote Post
marv
post Dec 31 2008, 04:14 AM
Post #9


Member
**

Group: Members
Posts: 10
Joined: 18-March 08
Member No.: 35,571



1) usb_boot.exe is service which fixes start and group for USB drivers, which is changed (from INF values, but this method doesnt touch INF files to keep digital signature) for example when you insert new USB device to hub, drivers update and so.
2) Yes, you have to force system (XP or Vista) to load usb drivers when booting / nt loader reads stuff from registry, as set in active ControlSetXXX, in running system - CurrentControlSet.
3) Hmm, such things are hard to test and never happened to me.

This post has been edited by Ed_P: Dec 31 2008, 03:31 PM
Reason for edit: Removed needless quote. Please use the Add REPLY button.
Go to the top of the page
 
+Quote Post
ktp
post Dec 31 2008, 10:14 AM
Post #10


Silver Member
***

Group: Members
Posts: 195
Joined: 14-February 07
Member No.: 25,175



Excellent! I will try this under Vista. I assume that the install batch file must be run with administrator rights (to be documented in the readme).
Go to the top of the page
 
+Quote Post
2kx2
post Jan 3 2009, 02:50 AM
Post #11


Newbie
*

Group: Members
Posts: 9
Joined: 2-January 09
Member No.: 44,364



I tried this and when I ran the bat file it displayed the correct drive for where the install was located. It completed the backup of the registry, then it ran into an error and displayed that access is denied over and over again.

Any ideas on why this is failing. It says that the current control set is currentcontrol000 before it begins to error.

I have a version running with the inf change and it works fine but it gets annoying having to accept every time I insert a usb device and have to click continue anyway. If this will resolve this issue while still letting me use the bootable usb I would really like to use it.

Thanks in advance.

This post has been edited by 2kx2: Jan 3 2009, 02:52 AM
Go to the top of the page
 
+Quote Post
marv
post Jan 3 2009, 03:38 AM
Post #12


Member
**

Group: Members
Posts: 10
Joined: 18-March 08
Member No.: 35,571



QUOTE (2kx2 @ Jan 3 2009, 03:50 AM) *
I tried this and when I ran the bat file it displayed the correct drive for where the install was located. It completed the backup of the registry, then it ran into an error and displayed that access is denied over and over again.

Any ideas on why this is failing. It says that the current control set is currentcontrol000 before it begins to error.

I have a version running with the inf change and it works fine but it gets annoying having to accept every time I insert a usb device and have to click continue anyway. If this will resolve this issue while still letting me use the bootable usb I would really like to use it.

Thanks in advance.


did you run usb_boot.bat on your USB windows? If you want to update your current USB windows, simply create service for USB_BOOT.exe (copy it to system32)
Install with these commands:
CODE
sc create "USBBOOT" binpath= C:\WINDOWS\System32\usb_boot.exe start= auto
sc start "USBBOOT"


and restore your .inf files from original CD. Should works.

This post has been edited by marv: Jan 3 2009, 03:50 AM
Go to the top of the page
 
+Quote Post
2kx2
post Jan 3 2009, 10:59 AM
Post #13


Newbie
*

Group: Members
Posts: 9
Joined: 2-January 09
Member No.: 44,364



Marv, I haven't tried it on my current XP USB.

Where do I need to do the following and how do I do it?

CODE
sc create "USBBOOT" binpath= C:\WINDOWS\System32\usb_boot.exe start= auto
sc start "USBBOOT"



I didn't know if I could simply copy the usb_boot.exe to system32 and run the executable.

Thanks
Go to the top of the page
 
+Quote Post
cdob
post Jan 3 2009, 01:02 PM
Post #14


Platinum Member
*****

Group: Moderator
Posts: 3,257
Joined: 31-October 03
Member No.: 2,304



QUOTE (2kx2 @ Jan 3 2009, 08:50 AM) *
Marv, I haven't tried it on my current XP USB.

Where do I need to do the following and how do I do it?

Boot current XP USB.

Open a command prompt.
Copy and paste first line, press enter.
Copy and paste second line, press enter.

Copy file usb_boot.exe to system32 too.
Go to the top of the page
 
+Quote Post
2kx2
post Jan 3 2009, 05:48 PM
Post #15


Newbie
*

Group: Members
Posts: 9
Joined: 2-January 09
Member No.: 44,364



When I enter the sc start "USBBOOT" I get an error

[SC] StartService: OpenService FAILED 1060:

The specified service dows not exist as an installed service.
Go to the top of the page
 
+Quote Post
cdob
post Jan 3 2009, 06:10 PM
Post #16


Platinum Member
*****

Group: Moderator
Posts: 3,257
Joined: 31-October 03
Member No.: 2,304



Did you copy file usb_boot.exe first?

Did first line process without error?
Just reboot. Open taks manager: is usb_boot loaded?
Go to the top of the page
 
+Quote Post
2kx2
post Jan 3 2009, 06:33 PM
Post #17


Newbie
*

Group: Members
Posts: 9
Joined: 2-January 09
Member No.: 44,364



QUOTE (cdob @ Jan 3 2009, 06:10 PM) *
Did you copy file usb_boot.exe first?

Did first line process without error?
Just reboot. Open taks manager: is usb_boot loaded?


Copied it over. When I ran the first line it gave me the options and syntax options. usb_boot isn't running either.

This post has been edited by 2kx2: Jan 3 2009, 06:34 PM
Go to the top of the page
 
+Quote Post
nuMe
post Jan 3 2009, 06:53 PM
Post #18


Silver Member
***

Group: Members
Posts: 251
Joined: 11-July 07
Member No.: 28,859



If you cut & pasted the lines as posted I doubt they will work. They need to be

CODE
sc create "USBBOOT" binpath=C:\WINDOWS\System32\usb_boot.exe start=auto
sc start "USBBOOT"

not

CODE
sc create "USBBOOT" binpath= C:\WINDOWS\System32\usb_boot.exe start= auto
sc start "USBBOOT"


No spaces after the "=" signs.
Go to the top of the page
 
+Quote Post
2kx2
post Jan 3 2009, 06:58 PM
Post #19


Newbie
*

Group: Members
Posts: 9
Joined: 2-January 09
Member No.: 44,364



If this does work how do I replace the inf files with the correct ones from the windows xp cd?
Go to the top of the page
 
+Quote Post
marv
post Jan 4 2009, 04:00 PM
Post #20


Member
**

Group: Members
Posts: 10
Joined: 18-March 08
Member No.: 35,571



there must be space " " after "=" signs. see "sc create /?" for more informations.
If you would like to remove service and install new one, simply
CODE
sc stop "USBBOOT"
sc delete "USBBOOT"

and remove usb_boot.exe.
Go to the top of the page
 
+Quote Post

3 Pages V   1 2 3 >
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



Lo-Fi Version Time is now: 9th September 2010 - 02:22 AM