Installing Windows XP over a Network using PXE

10 02 2010

I just spent countless hours trying to revive an old laptop with seemingly no hope left in it.  Its CD-ROM drive is bad, it doesn't support booting from USB, and it has no floppy drive.  After backing up the hard drive using a USB caddy, I tried countless ways of loading up bootdisks over PXE using MEMDISK and PXELINUX.  I got very close several times, but unfortunately both FreeDOS and MS-DOS failed me.  The closest I got was by partitioning the hard disk such that I had a 1GB FAT partition at the end with the XP installation files copied to it.  Running winnt32.exe from DOS brought me a lot of hope, but also a lot of pain, namely the error "Setup is out of memory and cannot continue."  I hacked away and the config.sys file and kept editing various bootdisks, but no luck in the end.  I tried dozens of things, but I'll skip that all and get to the good stuff:  how I got it working.

Prerequisites:


BartPE image (many tutorials online on how to create one or "find" it online somehow.


TFTPd32 


Windows Server 2003 SP2


Spare computer


"bad" laptop needs to support network/PXE booting 


Summary:


I used another computer with a TFTP server on it to serve up all the good stuff to the target machine.  I loaded BartPE onto the target machine, and ran the installation from the hard disk.


I needed startrom.com, ntdetect.com, ntldr, and winnt.sif, like outlined here, but I used Windows Server 2003 SP2 sources instead.


After downloading the service pack, I double-clicked it and took note of where it was being extracted.  I then went to that folder and copied the files with the names that I needed (the extensions are not the same).  I then went to the command prompt into the folder I copied the files to and did:


CODE:
expand -r STARTROM.CO_
expand -r SETUPLDR.EX_ 
copy setupldr.exe ntldr 
 


Make sure these files are in the same directory as your BartPE image.


Fire up Tftpd32, and have its settings match this image: 




Also, configure DHCP such that it matches the settings on this screen:




Connect both machines to the network and disable any other DHCP server, or just connect the two machines together via crossover cable or a switch off the network.  Tell the computer to boot over the network (usually it's through F12).  When the boot image is downloaded, you'll be prompted to press F12 immediately; be on the lookout for that.


Once the entire BartPE image is loaded, open up the command prompt and navigate to the hard drive location where the XP installer is located (C:\i386 or similar--I'll assume it's on C:).  Do the following: 


CODE:
C:\i386\winnt32.exe /syspart:C: /tempdrive:C: /makelocalsource


The installer will now begin, ask you for your serial number, then begin to copy files to the hard drive.  After that, it will exit without any success messages.  You now need to restart your computer and boot from the hard drive.  The Windows installation should now begin.


I'm sure I left out tons of details.  Please comment below with your results or if you need any further information. 




Trackbacks


No Trackbacks

Comments

Display comments as (Linear | Threaded)
14 05 2010
#1 abrahammail.com (Reply)

Dint even boot up the image
22 08 2011
#2 Shanna (Reply)

No complaints on this end, simlpy a good piece.

Add Comment


You can use [geshi lang=lang_name [,ln={y|n}]][/geshi] tags to embed source code snippets.
Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
Standard emoticons like :-) and ;-) are converted to images.
BBCode format allowed

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA