Windows XP was built to run on internal system hard drives. It has no simple set-up 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.
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.
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.
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.
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.
Open the files using a simple text editor such as Notepad. Edit them according to the section below titled \"Editing Files.\"
Open the previously created ISO file and delete the files you extracted earlier. Replace them with the newly modified files.
Save the ISO files and burn them to a CD using the burning software of your choice.
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 start-up to choose boot options. When asked, choose the external USB hard drive to install Windows XP.
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
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
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
Insert the following commands into the [SourceDisksFiles] section:
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
Open USB.INF and change lines in the [StandardHub.AddService] and [CommonClassParent.AddService] sections to look like this:
Open usbport.inf and change lines in the [EHCI.AddService], [OHCI.AddService] , [UHCI.AddService] and [ROOTHUB.AddService] sections to look like this:
Open usbstore.inf and change lines in the [USBSTOR.AddService] section to look like this:
Create a new file called USBBOOT.INF in the same directory as the other modified files, and paste the following content into it: [usbservices]
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