Installing Windowx XP on external hard disk

Hannibal09

Broken In
Hi friends,
I can't install windows on my other laptop. So got the that laptop hard disk in external casing and connected to other laptop. no can i install windows XP or any other operating system on this hard disk by USB and install back hard disk to faulty laptop?
 

Naxal

Little Kid
Please read more about Windows SysPrep command designed for this type of operations

What is Sysprep?
 

whitestar_999

Super Moderator
Staff member
looks like none of you understood what op meant.he wants to take out a laptop hard disk,connect it using usb to another pc,install xp on this usb connected hard disk & finally put it back into the original laptop.

P.S.sysprep is used to modify/create custom windows bootable images.
 
OP
H

Hannibal09

Broken In
looks like none of you understood what op meant.he wants to take out a laptop hard disk,connect it using usb to another pc,install xp on this usb connected hard disk & finally put it back into the original laptop.

That's exactly what i want. seems it is not possible then.
 

Vyom

The Power of x480
Staff member
Admin
Well, just a few days ago I used my friends HDD in my PC, and surprisingly the XP booted right to the desktop. The HDD had a fresh install of XP and it worked on my PC too maybe because of the similarity of configurations of the PC of me any my friend.

So, it's worth a shot. :p
 

whitestar_999

Super Moderator
Staff member
i have already seen it.most basic requirement is having corporate edition of xp.problem is that once you install xp on a hard disk attached to a system in normal way(for usb it is tricky since you have to modify & insert reg entries to create custom xp image) the HAL(hardware abstraction layer) is locked to that particular system only & it may work with limited functionality in a similar hardware configuration on a different system but with a radically different system(intel vs amd,core2duo vs core i etc)it will result in BSOD.in any case the op wants to re-insert hdd after installing xp on it through usb(not usual connection)so chances are even less.
 

Naxal

Little Kid
looks like none of you understood what op meant.he wants to take out a laptop hard disk,connect it using usb to another pc,install xp on this usb connected hard disk & finally put it back into the original laptop.

P.S.sysprep is used to modify/create custom windows bootable images.

Sorry, but SysPrep can be used for just this purpose also, where you can run a specific switch meant for this action where you can detach an Windows out from the present hardware platform and drivers in which it is running and imprint it to another platform (configuration) and go on with installation of drivers to run it there also..
 

CyberKID

In search for Tech Gyan!
I think this is possible. Just give a look to this article *www.ehow.com/how_8036441_install-os-external-hdd.html
 
Last edited:

whitestar_999

Super Moderator
Staff member
@cyberkid,i am really patient person but people here in this thread seems to be testing it.did any of you even understood what op want?i don't think so since you are still posting in this thread.at least Naxal's post has some value in suggesting an option which would work if not for the usb issue but yours is totally irrelevant.
looks like none of you understood what op meant.he wants to take out a laptop hard disk,connect it using usb to another pc,install xp on this usb connected hard disk & finally put it back into the original laptop.
 

CyberKID

In search for Tech Gyan!
Oops! I just misunderstood the head. It says install from external HDD. My apologies :-D.
Have corrected the article link in my previous post..
 
Last edited:

aaruni

The Linux Guy
A noobish question : Isn't it possible to have a generalized install and then swap hard drives then install hardware specific drivers :-?
 

whitestar_999

Super Moderator
Staff member
yes.by using sysprep /oobe /generalize switch or some imaging software with nice GUI but nowhere in this procedure is mentioned the use of usb hard disk.installing windows XP on usb hard disk require editing/modification of registry entries & certain system files which makes that install unique & running sysprep on such install will most likely result in bsod/error because of the already included system specific usb drivers & registry entries.windows 7 can do this but no mention of this for win XP.
 

ratul

█████████████████
sorry for late reply, i saw this thread first time, so none of you ever heard of installing XP on external hard disk, it's possible, but too complicated, i was able to install it on USB pen drive and booted successfully, though when installing on external HDD, my PC was'nt able to recognise it, though my laptop was able to boot it fine, so it was that my PC's bios was not able to support that...
Alternatively, if this still does'nt work for you, then you can try to install windows 7 on external HDD, the method that i have for that is 100% working as for me, so if anybody want that tutorial, ask for it, and i'll post it here or in a new thread..
NOTE: This method works, but i'm not sure if it'll be able to boot from SATA connections when you connect it back, as we modify how windows treat the USB devices, but you can give it a try..
So let's start with it..

1) Does your computer support booting from USB?

Usually, if it's an option in your BIOS boot sequence menu, the answer to this is yes. If it's not there then the answer is probably no. However, proceed and see what happens.

2) Confirming the "Bootability" of your USB-Drive

Shut down your computer
Connect your USB drive directly to one of your USB ports on your computer, without using a Hub
Disconnect any other hard disk drives (internally) from it
Turn on your computer. Confirm that Bios is set to start from CD
Insert your original Windows XP CD into the drive
Start the installation, and proceed to the section where you are allowed to pick a hard drive

If it goes beyond the partition selection, your drive is already fine for booting Windows XP. If not (seems to be the cases with many of the Freecom USB HDDs for example), you will get an error like "Windows is unable to find your drive, partition, data etc bla". This is usually not a big problem. All you need to do is "properly" format the drive with the NTFS file system. After this, the drives are recognized as valid installation devices by the Windows XP installer. There has been no success reported in using the FAT32 file system for such purposes.

3) Dumping the original Windows Setup CD into an ISO File

Pretty easy one. Simply open WinISO or your ISO program of choice, and select Actions -> Make ISO from CDROM, and save your CD image to a convenient place on your hard disk drive.

4) Extracting the files we need to work on

After the Windows ISO image is done, close and reopen UltraISO.(or the program of your choice) Then, open the ISO file you just created using File -> Open.
Now, click the I386 folder, and select the following files (hold down Ctrl key to multi-select)

TXTSETUP.SIF
DOSNET.INF
USB.IN_
USBPORT.IN_
USBSTOR.IN_

Select Actions -> Extract and put the resulting files into a folder on your C: drive. I usually put the files into a new folder called primary (ie C:\primary)


5) Unpacking IN_ files

Use the Cab SDK program from *theether.net/download/Microsoft/Utilities/Cabsdk.exe and install the tools directly on your C: drive.. (Alternatively, if you don't want full SDK, you just need one file from it, CabArc.exe, download it from here: *www.easy-xl.com/index.php?option=com_rokdownloads&view=file&Itemid=215&id=6:cabarc).
I install the tools into C:\cabsdk and would recommend you to do the same..This program is meant to be ran from a cmd window..so click start-->run-->cmd and press enter. In the command window, if you installed cabsdk to the folder mentioned above "C:\cabsdk" type the following: cd C:\cabsdk\bin then press enter. and now your command prompt should look like this...
C:\cabsdk\BIN

(The following assumes you saved the files you extraced from the iso file to "C:\primary")..
Next you will want to unpack the .IN_ files by typing in the cmd window:.. cabarc x C:\primary\USB.IN_ then press enter. Repeat this process until you have done it for USB.IN_ USBPORT.IN_ and USBSTOR.IN_ you will then have the following inf files in the BIN directory of the cabsdk folder.

usb.inf
usbport.inf
usbstor.inf

Close the Command window.


5-A) Create a new folder on your C:\ drive:


Name it edited then move the following files from the BIN folder in the cabsdk directory to the folder named edited on your C: drive:
usb.inf
usbport.inf
usbstor.inf

5-B) Copy the following files:

Copy the following files from C:\primary to C:\edited
TXTSETUP.SIF
DOSNET.INF



6) Editing the files
This is the main job. i ll also try to explain a bit whats happening. Use a simple Texteditor... Notepad is the one you want to use. The find uitlity (Ctrl F) Will be your best friend through this process. Also take your time with editing the files. Double..no..triple check everything as you go. There is no harm in being sure you have completed each step correctly.

6-A) TXTSETUP.SIF

This file is loaded on the initial install step by the Windows XP CD installer. In this file, we will change the way Windows treats USB devices during system setup -- the default is to only treat them as input devices during installation -- we will change this to include mass storage driver support (which needs to be loaded into the installer much earlier in order to work).

First, move the following bolded entries from [InputDevicesSupport.Load] to the [BootBusExtenders.Load] section , exactly as shown here.. Note: Delete the bolded lines from [InputDevicesSupport.Load] after you have moved them to [BootBusExtenders.Load]

[BootBusExtenders.Load]
pci = pci.sys
acpi = acpi.sys
isapnp = isapnp.sys
acpiec = acpiec.sys
ohci1394 = ohci1394.sys
usbehci = usbehci.sys
usbohci = usbohci.sys
usbuhci = usbuhci.sys
usbhub = usbhub.sys
usbstor = usbstor.sys



[InputDevicesSupport.Load]
usbehci = usbehci.sys
usbohci = usbohci.sys
usbuhci = usbuhci.sys
usbhub = usbhub.sys

usbccgp = usbccgp.sys
hidusb = hidusb.sys
serial = serial.sys
serenum = serenum.sys
usbstor = usbstor.sys

Now move the bolded entries from [InputDevicesSupport] to [BootBusExtenders] Note: Delete the bolded lines from [InputDevicesSupport]
after you have moved them to [BootBusExtenders]

[BootBusExtenders]
pci = "PCI Bus Driver",files.pci,pci
acpi = "ACPI Plug & Play Bus Driver",files.acpi,acpi
isapnp = "ISA Plug & Play Bus Driver",files.isapnp,isapnp
acpiec = "ACPI Embedded Controller Driver",files.none,acpiec
ohci1394 = "IEEE 1394 Bus OHCI Compliant Port Driver",files.ohci1394,ohci1394
usbehci = "Enhanced Host Controller",files.usbehci,usbehci
usbohci = "Open Host Controller",files.usbohci,usbohci
usbuhci = "Universal Host Controller",files.usbuhci,usbuhci
usbhub = "Generic USB Hub Driver",files.usbhub,usbhub
usbstor = "USB Storage Class Driver",files.usbstor,usbstor


[InputDevicesSupport]
usbehci = "Enhanced Host Controller",files.usbehci,usbehci
usbohci = "Open Host Controller",files.usbohci,usbohci
usbuhci = "Universal Host Controller",files.usbuhci,usbuhci
usbhub = "Generic USB Hub Driver",files.usbhub,usbhub

hidusb = "Human Interface Parser",files.hidusb,hidusb
serial = "Serial Port Driver",files.none,serial
serenum = "Serial Port Enumerator",files.none,serenum
usbstor = "USB Storage Class Driver",files.usbstor,usbstor
usbccgp = "USB Generic Parent Driver",files.usbccgp,usbccgp


Next, we also have to write several keys into the registry. Convieniently, the txtsetup.sif allows you to specify files that are parsed and instered into the registry at install time. Insert the following in the [HiveInfs.Fresh] section: Make sure the entries are lined up

[HiveInfs.Fresh]
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

and also in [SourceDisksFiles]

[SourceDisksFiles]
usbboot.inf = 1,,,,,,_x,3,,3
bootvid.dll = 1,,,,,,3_,2,0,0,,1,2
kdcom.dll = 1,,,,,,3_,2,0,0,,1,2

Finally, save and close TXTSETUP.SIF. We are done with it.

6-B) DOSNET.INF
Now, open DOSNET.INF , and change the second [Files] section (yes there are 2 sections called [Files]) to look like this:

[Files]
d1,usbboot.inf
d1,_default.pif
d1,12520437.cpx
d1,12520850.cpx
Save and close DOSNET.INF

6-C) usb.inf


Change the bolded lines in the [StandardHub.AddService] and [CommonClassParent.AddService] sections to resemble the ones below:

[StandardHub.AddService]
DisplayName = %StandardHub.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbhub.sys
LoadOrderGroup = Boot Bus Extender

[CommonClassParent.AddService]
DisplayName = %GenericParent.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbccgp.sys
LoadOrderGroup = Boot Bus Extender

Save and close usb.inf

6-D) usbport.inf
Change the bolded lines in the [EHCI.AddService], [OHCI.AddService],[UHCI.AddService] and [ROOTHUB.AddService] sections:

[EHCI.AddService]
DisplayName = %EHCIMP.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbehci.sys
LoadOrderGroup = Boot Bus Extender

[OHCI.AddService]
DisplayName = %OHCIMP.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbohci.sys
LoadOrderGroup = Boot Bus Extender

[UHCI.AddService]
DisplayName = %UHCIMP.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbuhci.sys
LoadOrderGroup = Boot Bus Extender

[ROOTHUB.AddService]
DisplayName = %ROOTHUB.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbhub.sys
LoadOrderGroup = Boot Bus Extender

Save and close usbport.inf

6-E) usbstor.inf
Change / Add the bolded lines in the [USBSTOR.AddService] section

[USBSTOR.AddService]
DisplayName = %USBSTOR.SvcDesc%
ServiceType = 1
StartType = 0
Tag = 3

ErrorControl = 1
ServiceBinary = %12%\USBSTOR.SYS
LoadOrderGroup = Boot Bus Extender

Save and close usbstor.inf

6-F) new file: USBBOOT.INF
Make a copy of one of the .inf files from your edited folder (Please note..I said a copy) on your desktop...Rename it USBBOOT then open it up with notepad and delete all of the text in the file. Then copy and paste the text below into it. Save the file, and move it to the folder where your edited files are. (Also note: the spaces in the text below are fine)

Code:
[usbservices]

HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","DisplayName",0x00000000,"USB Mass Storage Driver"
HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","ErrorControl",0x00010001,1
HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","Group",0x00000000,"System Reserved"
HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","ImagePath",0x00020000,"system32\DRIVERS\USBSTOR.SYS"
HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","Start",0x00010001,0
HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","Type",0x00010001,1

HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","DisplayName",0x00000000,"USB 2.0 Enhanced Host Controller Miniport Driver"
HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","ErrorControl",0x00010001,1
HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","Group",0x00000000,"System Reserved"
HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","ImagePath",0x00020000,"system32\DRIVERS\usbehci.sys"
HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","Start",0x00010001,0
HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","Type",0x00010001,1

HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","DisplayName",0x00000000,"USB2 Enabled Hub"
HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","ErrorControl",0x00010001,1
HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","Group",0x00000000,"System Reserved"
HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","ImagePath",0x00020000,"system32\DRIVERS\usbhub.sys"
HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","Start",0x00010001,0
HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","Type",0x00010001,1

HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","DisplayName",0x00000000,"Microsoft USB Universal Host Controller Miniport Driver"
HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","ErrorControl",0x00010001,1
HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Group",0x00000000,"System Reserved"
HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","ImagePath",0x00020000,"system32\DRIVERS\usbuhci.sys"
HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Start",0x00010001,0
HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Type",0x00010001,1

HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","DisplayName",0x00000000,"Microsoft USB Open Host Controller Miniport Driver"
HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","ErrorControl",0x00010001,1
HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Group",0x00000000,"System Reserved"
HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","ImagePath",0x00020000,"system32\DRIVERS\usbohci.sys"
HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Start",0x00010001,0
HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Type",0x00010001,1

7) make a copy of the edited files in another folder on your C: drive. I name this folder "edited backup"

The reason we are doing this is: If you accidentally enter the commands wrong while repacking the files to their .IN_ format it can ruin all
the work you have done up to this point. So with that said.. make another folder on your C: drive and name it edited backup and copy the files from the edited folder into edited backup. That way if something does go wrong you can always copy the good edited file from the backup folder and not have to do all the work again.

8) Repack the inf files into their original IN_ format

Now if you took my suggestions throughout this guide, the cabsdk tools should have been installed to C:\cabsdk

The original .IN_ files, TXTSETUP.SIF and DOSNET.INF should be in C:\primary

The unpacked and edited inf files (usb.inf, usbstor.inf and usbport.inf) TXTSETUP.SIF, DOSNET.INF and USBBOOT.INF should be in C:\edited, and you should have a backup copy of the edited files in C:\edited backup

Open the cmd prompt window again (start--->run--->type cmd and press

enter) in the cmd prompt window type cd C:\cabsdk\BIN and press enter.

To repack the files we need to execute the following cabarc commands
cabarc n USB.IN_ C:\edited\usb.inf
cabarc n USBPORT.IN_ C:\edited\usbport.inf
cabarc n USBSTOR.IN_ C:\edited\usbstor.inf
Close the cmd window Note: There is a space between .IN_ and C: in the commands. The three IN_ files should now exist again in the BIN folder of the cabsdk directory

Congratulations. All our modifications are done.

9) Create one last folder:
On your C: drive create one last folder and name it "final edit" then

copy the following files to it:

USB.IN_ (from the BIN folder of cabsdk)
USBSTOR.IN_ (from the BIN folder of cabsdk)
USBPORT.IN_ (from the BIN folder of cabsdk)
USBBOOT.INF (from the edited folder)
DOSNET.INF (from the edited folder)
TSTSETUP.SIF (From the edited folder)


10) Inject the changed files into the ISO


Open your Windows CD image (The iso file you created) with WinISO or your program of choice. Navigate to the I386 folder, and delete the following files from the ISO,

DOSNET.INF
TXTSETUP.SIF
USB.IN_
USBPORT.IN_
USBSTOR.IN_

saving the changes to the ISO afterwards.

Just to be sure all is updated in the ISO, close and repoen the ISO in WinISO or your program of choice. Now, again go to the I386 folder and select "Add Files". Now add your changed files from C:\final edit, Make sure you are adding the files to the I386 directory in the iso.

USBBOOT.INF
DOSNET.INF
TXTSETUP.SIF
USB.IN_
USBPORT.IN_
USBSTOR.IN_

Save the ISO then open it again and check to make sure the new files are in the correct directory...if so.. You are done with this portion of the procedure.

11) Burn the ISO back to CD:

For burning iso's I use Ashampoo Burning Studio, you can use whatever you like, i'd suggest IMGBurn for free... Once the burning has completed
you now have your windows cd that should be capable of installing to an external USB drive


12) Place the new windows cd in your cd drive



13) Preparing to install to the USB drive:


Shut down your computer. Disconnect ANY internal and external hard drives (Except the external one you want to install windows on, so Windows cannot find them during installation and mess up their Master Boot Records.) Also, now connect your USB Hard drive directly to the computer, without any Hubs in between.

Windows should install just fine, with the exceptions noted below.

14) Issues you will encounter during installation:


During driver installation, the USB drivers will prompt you, as they are "not certified" - This is normal. Our changes invalidated the checksum, and therefore the driver is no longer signed. Just press "yes" a couple of times. Upon completion of the install, the system will complain once on the first bootup that the pagefile does not exist. You can ignore this for now, as Windows will work fine without it. This issue is being looked into, but its not critical for now.
Also sometimes in External HDD, an error may come as "Your computer's startup program cannot gain access to the disk containing the partition or free space you chose. Setup cannot install Windows XP on this hard disk.", for this error, i connected it to my lappy, from Easeus Partition Master, i converted the partition of XP installation to active and then the installation worked fine..

15) what to do after the install has finished:


Once everything is up and running , shut down and reconnect all your drives.​

Sources: Techspot forums and my experience..​
 
Last edited:
Top Bottom