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.