How to Install XP on an External Hard Drive

Windows XP was built to run on internal system hard drives. It has no simple setup or configuration option to run on an external hard drive. It is possible to \"make\" XP run on an external hard drive, but it involves a lot of tweaking, including making the external drive bootable and editing boot files.

...

Creating the Windows XP Boot Image

Step

Set your BIOS so that USB booting is enabled. (Your BIOS must support boot from USB.) Connect the USB external hard drive directly to your computer.

Step

Make an ISO image (an .iso file is an archive disk image of an optical disk) from the Windows XP CD-ROM using your preferred software. Save to your hard drive.

Step

Open the ISO file you just created. Navigate to the I386 folder, and select the following files: TXTSETUP.SIF, DOSNET.INF, USB.IN, USBPORT.IN, and USBSTOR.IN_. Extract the files and put them into a folder to work with.

Step

Open a command prompt and use Cab SDK to extract the contents of the .IN files; Cab SDK is a Microsoft compression and decompression program available as an .exe file in your Windows directory. Each of the .IN files contains exactly one .inf file. An example command line would be: \"cabarc x USBSTOR.IN\" . You should end up with three new files in the folder, called USB.inf, usbport.inf and usbstor.inf. Delete the .IN files.

Step

Open the files using a simple text editor such as Notepad. Edit them according to the section below titled \"Editing Files.\"

Step

Open the previously created ISO file and delete the files you extracted earlier. Replace them with the newly modified files.

Step

Save the ISO files and burn them to a CD using the burning software of your choice.

Step

Insert the CD you created and restart the computer. Make sure it is set to boot from CD. Most computers will do this automatically, but if not, hit F8 on startup to choose boot options. When asked, choose the external USB hard drive to install WIndows XP.

Editing Files

Step

Open TXTSETUP.SIF and move the following entries from [InputDevicesSupport.Load] to the [BootBusExtenders.Load]: usbehci = usbehci.sys usbohci = usbohci.sys usbuhci = usbuhci.sys usbhub = usbhub.sys usbstor = usbstor.sys

Step

Move the following entries from [InputDevicesSupport] to [BootBusExtenders]: usbehci = \"Erweiterter Hostcontroller\",files.usbehci,usbehci usbohci = \"Open Hostcontroller\",files.usbohci,usbohci usbuhci = \"Universeller Hostcontroller\",files.usbuhci,usbuhci usbhub = \"Standard-USB-Hubtreiber\",files.usbhub,usbhub usbstor = \"USB-Speicherklassentreiber\",files.usbstor,usbstor

Step

Insert the following in the [HiveInfs.Fresh] section: AddReg = hivedef.inf,AddReg AddReg = hivesys.inf,AddReg AddReg = hivesft.inf,AddReg AddReg = hivecls.inf,AddReg AddReg = hiveusd.inf,AddReg AddReg = dmreg.inf,DM.AddReg AddReg = usbboot.inf,usbservices

Step

Insert the following commands into the [SourceDisksFiles] section:

Step

Open DOSNET.INF and change the second [Files] section to look like this: [Files] d1,usbboot.inf d1,_default.pif d1,12520437.cpx d1,12520850.cpx

Step

Open USB.INF and change lines in the [StandardHub.AddService] and [CommonClassParent.AddService] sections to look like this:

Step

Open usbport.inf and change lines in the [EHCI.AddService], [OHCI.AddService] , [UHCI.AddService] and [ROOTHUB.AddService] sections to look like this:

Step

Open usbstore.inf and change lines in the [USBSTOR.AddService] section to look like this:

Step

Create a new file called USBBOOT.INF in the same directory as the other modified files, and paste the following content into it: [usbservices]

Step

Delete your original extracted .IN files. Open the command prompt and navigate to the folder with your changed files. Execute these commands to repack the files: cabarc n USB.IN USB.inf cabarc n USBPORT.IN usbport.inf cabarc n USBSTOR.IN usbstor.inf