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
dietmar.stoelting@t-online.de
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
.
This happens during the detecting of new USB devices and will lead to
crash
07B, if is not corrected. Then, rightclick on USBSTOR permissions,
deny for
System. Now, no more USB device can be detected but in other case
with
every new USB device, start is set back to 3 and give you the next
time 07B.
You can later set back USBSTOR permissions for system to "allowed",
if you want to use another USB device.
9.)In the windows\system32\config\ of the fresh installed XP delete
all entries with
*.sav *.log *.evt This is only possible from outside (another
installed XP).
9.)Verify that boot.ini of the fresh XP is like
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP
Professional" /fastdetect
11.)Copy and paste the files of the fresh XP from another XP or
BartPE to your USB device. Recyled (Bin) and System Volume
Information copy not.
Look, whether the first partition there ist set ACTIV and has a
PARTITIONTABLE!
Fat, or Fat32 or NTFS doesnt matter.
Best for testing is for the first time a USB harddisk. SAVE your
registry SYSTEM hive from the fresh installed XP as OFT AS YOU CAN,
because you may need it later if something went wrong.
Later, format your USB stick with the HP format utility hpusbfw.exe ,
which gives You a FAT or FAT 32 or NTFS (all those work) partition
and the file allocation table and sets the first partition on the USB
stick itself as aktiv.
A nice USB stick is that from BUFFALO with 32 MByte/s.
You can install EWF RAM filter (thanks to S. Fiorito) to allow your
USB stick
to survive years.
There may be errors in the Tutorial.
I do my best.
Good luck
Dietmar
PS: Nice to hear from you, who succeeds USB booting with this
tutorial.
Please give us also the motherboard name.