Hi all,
here comes complete Tutorial (Version 2) how to do USB boot from any USB
device WITH NO NEED of that cracked ntdetect.com
I succeed to boot full, normal XP SP1 without any new driver direct
(not to RAM) from any USB Medium (USB Stick, USB harddisk) even USB
1.1 or USB 2.0 with 2 motherboards: ASUS P4C800-E Deluxe (Intel) and
Siemens D1607 (AMD)
It is stable.
NOW it is real: XP in pocket
Author: Dietmar Stölting, 26. Oktober 2005
(E-Mail Removed)
Germany
Here comes the Tutorial. (Version 2)
Believe me, it works! I say this, because dont give up:
I am a teacher having holidays and this I will show after my pupils.
1.) Set in Bios boot from USB harddisk and disable hyperthreading.
2.) The fresh XP SP1 has to be installed as first partition with NO
other harddrive or USB device together. Floppy, CD or DVD drives
can stay.
Install XP on a normal harddisk, dont put Intel chipsetdriver or so
on it because this generates new drivers, which may not be compatible
to USB boot.
All those things can be done later.
3.) Set pagefile on fresh XP to disabled.
4.)Then You HAVE TO plug in your USB device, from which you want to
start later.
Let it be detected from the fresh installed XP.
5.)Here is the copy of the 8 extra registry entries. Load and unload
hive SYSTEM (of your fresh installed XP) from another working XP, or
BartPE or do the changes to the fresh installed XP direct with
regedit in commandline.
Make a BACKUP of the original hive SYSTEM of the fresh installed XP!
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\usbehci]
"Start"=dword:00000000
"Type"=dword:00000001
"ErrorControl"=dword:00000001
"ImagePath"=hex(2):73,79,73,74,65,6d,33,32,5c,64,72,69,76,65,72,73,5c
,75,73,62,\
65,68,63,69,2e,73,79,73,00
"Group"="Boot Bus Extender"
"DisplayName"="Microsoft USB 2.0 Enhanced Host Controller Miniport
Driver"
"Tag"=dword:00000012
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\usbhub]
"Start"=dword:00000000
"Type"=dword:00000001
"ErrorControl"=dword:00000001
"ImagePath"=hex(2):73,79,73,74,65,6d,33,32,5c,64,72,69,76,65,72,73,5c
,75,73,62,\
68,75,62,2e,73,79,73,00
"Group"="Boot Bus Extender"
"DisplayName"="USB2 Enabled Hub"
"Tag"=dword:00000013
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\USBSTOR]
"Start"=dword:00000000
"Type"=dword:00000001
"ErrorControl"=dword:00000001
"ImagePath"=hex(2):73,79,73,74,65,6d,33,32,5c,64,72,69,76,65,72,73,5c
,55,53,42,\
53,54,4f,52,2e,53,59,53,00
"DisplayName"="USB Mass Storage Driver"
"Group"="Boot Bus Extender"
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\usbuhci]
"Start"=dword:00000000
"Type"=dword:00000001
"ErrorControl"=dword:00000001
"ImagePath"=hex(2):73,79,73,74,65,6d,33,32,5c,64,72,69,76,65,72,73,5c
,75,73,62,\
75,68,63,69,2e,73,79,73,00
"Group"="Boot Bus Extender"
"DisplayName"="Microsoft USB Universal Host Controller Miniport
Driver"
"Tag"=dword:00000011
The "ImagePath" is the path to your driver in HEXCODE and you dont
need to change this in your registry.
Here are the next 4 complete needed keys in registry which you have
to build by yourself, like ( this here is for Western Digital 160BB
USB harddrive)
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDataba
se\usb#root_hub]
"Service"="usbhub"
"ClassGUID"="{36FC9E60-C465-11CF-8056-444553540000}"
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDataba
se\usb#root_hub20]
"ClassGUID"="{36FC9E60-C465-11CF-8056-444553540000}"
"Service"="usbhub"
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDataba
se\USB#Vid_1058&Pid_0300]
"Service"="usbstor"
"ClassGUID"="{36FC9E60-C465-11CF-8056-444553540000}"
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDataba
se\USBSTOR#DiskWDC_____WD1600BB-00FTA0_15.0]
"ClassGUID"="{4D36E967-E325-11CE-BFC1-08002BE10318}"
"Service"="disk"
The first and the second COMPLETE key here have to be written AS THEY
ARE with NO modification to registry of your fresh XP (use copy and
paste).
The third and the fourth key is the special Vid_&Pid_ name of your
USB device and the hardwareID of your USB device.
Service and ClassGUID write ALWAYS AS THEY ARE HERE to registry of
fresh XP.
The Vid_&Pid_ name (in the third entry) of your USB device can be
found in ControlSet001\Enum\USB ,
if you have let detected the fresh XP YOUR USB device .
Syntax:
Vid_abcd&Pid_efgh where abcd and efgh are 4 numbers for your USB
device.
The rest of that key has do be exactly the same as mine.
The hardwareID can be found in ControlSet001\Enum\USBSTOR after if
you have let the fresh XP your USB device detected.
It is the first entry in the key HardwareID but you have to change \
against # .
The HardwareID is build as USBSTOR#Diskv(8)p(16)r(4)
where for v(8)p(16)r(4) you have to put
8 digits (for me WDC_____ ) as the vendor of device
16 digits (for me WD1600BB-00FTA0_ ) for device and
4 digits (for me 15.0 ) for versions number.
The complete Registry keys 1 - 8 needs only to be set up ONE TIME to
registry.
If you wish to put your fresh XP to another USB device, you need NO
MORE
new entry for that new device! Only let it be detected from your
fresh XP on harddisk.
After you put this 8 keys to the registry of fresh XP, you must do
the following also in the registry of fresh XP:
6.) Delete complete key HKLM\SYSTEM\MountedDevices.
7.) Delete HKLM\SYSTEM\Setup SystemPartition (complete key
SystemPartition) .
8.) Go to HKLM\SYSTEM\Services\USBSTOR . Set start=3 back to start=0