Installing Windows XP from Network (RIS)

Start this ^%#^ when i’ve problem with Windows XP on Toshiba Portege R150. This laptop had some hardware error and when i’m in progress of upgrading to SP3, its suddenly crash and refuse to boot because some files are corrupted. Dang.

Portege R150 doesn’t have any internal CD/DVD. Regular external USB DVD  also refuse to work. So other method supported (and i would like to try) is installing (or repair) from network via PXE boot. There is many method to accomplished this, but this one is found work for me (mileage may vary though).

What you need:

  1. Another PC running Windows OS. I use Windows XP Pro SP3. And have network connection to broken laptops :). Via crossover cable or network switch.
  2. Source disk of Windows XP, i use Windows XP Pro bootstrapped with SP3 disk.
  3. TFTPd32
  4. Pxelinux from syslinux project. I’m use old 3.8.0 version. You only need
  5. BINL server, use win32 package format from here
  6. 7z file archiver. Download from here.
  7. network card driver from driverpacks.net
  8. many documentation to read and patience, i completed all this adventourous step almost in 2 days..  i’m old and slow though.. and
  9. ability to read and understand this poor documentation and language 🙂

Ok this is brief step by step. Read it until finish and startover.

I do not provide support, this is only quick and dirty documentation for myself. Read from diddy documentation, its really through and deep documentation regarding this issue.

  1. Windows XP SP2 (and maybe later) need special registry patch to enable RIS to work. Download reg file here. Rename as pxe.reg then execute.
  2. Create c:\PXE and start from there.
  3. Unpack syslinux package to temporary location. You only need:
    • pxelinux.0 from core\ and copy to C:\PXE\tftpboot\
    • memdisk to from memdis\ and copy to C:\PXE\tftpboot\pxelinux.cfg\
    • menu.c32 from com32\menu\ and copy to C:\PXE\tftpboot\pxelinux.cfg\
    • chain.c32 to from com32\modules and copy to C:\PXE\tftpboot\pxelinux.cfg\
  4. Copy your WinXP source disk and all sub folder to c:\PXE\tftpboot\winxp
  5. Adding Windows Preinstalled Environment to your tftpboot. You need:
    • Copy SETUPLDR.EX_ from c:\PXE\tftpboot\winxp\i386\ to c:\PXE\tftpboot\ and extract with command (from command prompt) expand -r setupldr.ex_. Then rename the file as ntldr (no extention).
    • Copy STARTROM.N1_ from c:\PXE\tftpboot\winxp\i386\ to c:\PXE\tftpboot\ and extract with command expand -r startrom.n1_
    • Copy NTDETECT.COM from c:\PXE\tftpboot\winxp\i386\ to c:\PXE\tftpboot\
    • Make winnt.sif file in c:\PXE\tftpboot. Sample winnt.sif file downloaded here.
  6. To simplify, i have packed the files needed above on step 3 and 5, you can download it all here. Extract to c:\PXE\tftpboot\. You need to configure pxelinux.cfg\default and IP address in winnt.sif to suit your need. The existing configuration work as long as you keep the files in correct folder.
  7. Install TFTPD32. Put tftpd32.exe and tftpd32.ini at c:\PXE\tftpd32\
  8. Share your c:\PXE\tftpboot on Windows file and printer sharing. So network user can see your files.
  9. Start and configured TFTPD32, so it start TFTP server and DHCP server.
    What you really need is to checkmark “Option negotiation” and “pxelinux.0” as boot file on TFTPD32 DHCP server.  Also stated “c:\PXE\tftpboot” as running directory. See screenshot.
  10. For now shutdown TFTPD32.
  11. Now we turn to BINL server. For BINL server to work, you need a series of network card driver from driverpacks for your correct operating system.  What you need is all of INF and SYS files inside ’em.
    • Unfortunately driverpacks packs all of the file to individual folders, to extract INF and SYS file from driverpacks you’ll need 7z file archiver. Store your driverpacks file in c:\PXE\tools\  folder.
    • Copy your 7z.exe to above same directory.
    • Create c:\PXE\binl\temp\, c:\PXE\binl\INF\, and c:\PXE\binl\DRIVERS\ directory
    • Start command prompt and enter c:\PXE\tools\ directory
    • extract all of zip file in driverpack file (mine is DP_LAN_wnt5_x86-32_1002.7z) with command: 7z.exe e “DP_LAN_wnt5_x86-32_1002.7z” -o”c:\PXE\binl\temp” *.zip -r
    • extract all of INF file from zip file above and put in INF directory: 7z.exe e “c:\PXE\binl\temp\*.zip” -o”c:\PXE\binl\INF” *.inf -r
    • extract all of INF files from driverpack file to INF directory: 7z.exe e “DP_LAN_wnt5_x86-32_1002.7z” -o”c:\PXE\binl\INF” *.inf -aour
    • extract all of SYS files from driverpack file to DRIVERS directory: 7z.exe e “DP_LAN_wnt5_x86-32_1002.7z” -o”c:\PXE\binl\DRIVERS” *.sys -aour
    • get your binl packages (from url stated on top of this article) and extract the content to c:\PXE\binl\ folder.
    • Inside you’ll find infparser.exe. Execute it to build driver database nics.txt and devlist.cache: infparser.exe INF\
    • Copy the contents of DRIVERS folder to your winxp\i386 folder.
  12. To speed the process, here the complete files in step 11. This package include win32 binl server, infparser.exe and corresponding INF and SYS file in one package in their appropriate folders. You need to extract it’s content to c:\PXE\binl and then copy the contents of DRIVERS folder to your Windows XP source folder (c:\PXE\tftpboot\winxp\i386).
  13. Now it’s time to check your setup.
    Start command prompt and execute binlsrv.exe. If everything all right you’ll see:
  14. Start your TFTPD32. Watch the log.
  15. Start your broken laptops. Make sure your laptop BIOS is setup so it will use network boot.  The laptop should query DHCP server, get some IP address then show you boot menu. Select “Install Win XP” and Windows XP installation should start.

Ok, thats it, sorry for any mistaken, i’ve not double check this guide step by step. Just improve yourself, read above documentation for complete help.

This PXE boot server also can serve as generic network boot if you use another bootdisk image.  Just search and improve. Good luck.

11 thoughts on “Installing Windows XP from Network (RIS)

  1. Hi there!
    Thx for making this tutorial, I’ve found very useful =)

    I tried to follow your instruction on my 2 PCs. The 1st, an old AthlonXP with nForce 2 chipset works perfectly, the 2nd, an Atom330 with nVIDIA ION chipset doesn’t work =( The installation stop on “Setup is starting Windows”.

    I’ve using last RIS driver from Atheros Website (AS8131) and DriverPacks LAN drivers. Tftpd32 and BINL works correctly. I’ve also applied .reg patch, but the problem persist =(

    Is there a solution?

    Sorry for my bad English, I hope you understand my message.

    Bye an thx!
    Washi =)

  2. #1 no idea, maybe the template? its an original template from wordpress.

    #2 actually sorry, have no idea he..he. But because your first attempt was succeed, maybe the culprit is on NVIDIA ION driver.. Have you use my tftpboot.rar files (step 6?) it had different ntldr.
    Please also read Diddy documentation.. and don’t worry your english is better than mine. Good luck.

      • I am new to all of this – I have 2.3.3 on my HTC EVO through Sprint – Is there a way I can root my phone that has not been rotoed before since I am on the version 3 now? Everyone is telling me no, but I believe there has to be a fix by now. Again, never rotoed before 2.3.3 and want to get it to be able to. HELP PLEASE!!!!!

  3. The Operating System Image You Selected Does Not Contain the Necessary Drivers for Your Network Adapter. Try Selecting a Different Operating System Image. If the Problem Persists, Contact Your System Administrator.
    I put all the drivers that you gave me into the winxp/i386 folder but the problem persist. Need some advices. Thank you

  4. i keep getting e1e6232.sys corrupted! i downloaded new one same issue, updated drivers for NIC still same issue.. new iso of windows and fresh copy of files same issue.. any idea?

Leave a comment