Sunday, 14 June 2009

Walkthrough - Install Win XP by booting through PXE

My brother has an old Fujitsu Siemens b series lifebook (B2175). (Probably one of the first netbooks). It had Win 2000 on it initially then we installed Ubuntu on it. Now we wanted Win XP on it as we had increased the memory in it.

Problems

The B2175 doesn't boot to USB, it doesn't have a floppy drive and it doesn't have a CD drive.

The only way to install anything on it is through PXE.

Solution

  1. Download my custom zip file package. It contains everything required to install Win XP through PXE except for the Win XP installation files ;-)
  2. Unzip the file to C:\ drive. After unzipping you will have a folder called 'root' and a file called smartdrv.exe on the c drive.
  3. Copy the i386 folder from your windows xp cd to a folder that is shared on your local network. In my case I copied the i386 folder to \\xpcomputer\video .
  4. Copy the file smartdrv.exe from c:\ to your share folder i.e. \\xpcomputer\video
  5. In the root folder there will be a file called 'Tftpd32-3.33-setup.exe'. Run the file to install a TFTP server onto you computer.
  6. After installing the TFTP server. Start the TFTP server.
  7. Change current directory to 'c:\root' in the TFTP server program
  8. Under DHCP Server tab set the following (assuming your router's ip address is 192.168.0.1):
    ip pool starting address to 192.168.0.40
    Size of pool 10
    Boot file pxelinux.0
    WINS/DNS Server 192.168.0.1
    Default router 192.168.0.1
    Mask 255.255.255.0
  9. Click save and then choose the 'settings' button and make sure that 'PXE compatibility' is checked.
  10. Now boot the destination machine into PXE. After PXE boots up you should see the following screen. Choose 'network boot' and press enter.


  11. On the next screen choose option number 2 - boot with emm386 (max memory). (I tried option 1 but this caused the windows xp setup to fail with the message 'not enough memory' on my system).
  12. After some more loading text, you will get to the following screen. You must choose 'Config' before the 10 second countdown.

  13. On the next screen choose 'Global' from the list of choices. This will let you alter host settings that will be required later on.

  14. On the next screen choose 'Lmhosts'.
  15. Click 'Ok' on the warning message you receive as it is not applicable to our situation.
  16. In the next screen you can edit the systems host file. This is where you can define the ip address and the name of the server where the windows installation files are held. This is important as without these settings the system will not be able to see the server. Please note that in this example there is a [tab] between 192.168.0.225 and xpcomputer.
  17. Save the file by typing ALT+X and click 'back' and then 'exit' on the next screens.
  18. Now we need to go back into the setup to allow the system to finish its network settings. This is done by typing in 'msnet' at the prompt as below and then clicking 'Ok' on the screen after
  19. You will now see 4 prompts which should disappear one by one with default settings. The last of the 4 prompts is titled 'Network Identification'. You will need to click 'Ok' to accept the default settings on this prompt. After this you will be prompted for a password. Just press [enter] for a blank password.

  20. Now type 'msnet' at the prompt and choose 'map' to go into the network drive mapping utility.
  21. In the 'Map drive' prompt type in a drive letter and type in the network path of where the windows i386 folder is located. Click 'Ok'
  22. Click on exit to go back to the command prompt. Make sure it says 'The command completed successfully' to confirm that the network drive was mapped correctly.
  23. Now run smartdrv.exe from the mapped drive by typing in z:\smartdrv.exe at the command prompt.
  24. Next start the windows xp installation process by typing in z:\i386\winnt.exe .
  25. On the first screen of the windows xp installer it will ask for the location of the installation files. Make sure that this shows z:\i386
  26. Now you can continue with the windows xp as normal.
Please note:

I have run this setup on a home network with normal settings. I wouldn't set this up on a corporate network unless you know what you are doing as the TFTP server may interfere with DHCP settings or other settings.

I referenced the following page in order to create this walk through.
http://r00tsecurity.org/forums/index.php?showtopic=9338

If you have any comments about this walk through or are having problems then post a comment.

9 comments:

Anonymous said...

Thank you! This was very useful post especially for me.

Sony said...

No problem,
Glad to see it helped you

David A. said...

Wow, I searched everywhere for a tutorial. All of the others, including from Microsoft itself, were so complicated and called for Microsoft Server 2003 or Vista. This has been the easiest-to-follow walkthrough I have found. Thanks for your time and for posting this.

Sony said...

@David A

Glad to hear it has helped you and thanks for your comment.

Starscream said...

Hi

When I re-boot the destination machine, it keeps getting a PXE-E53 "No boot filename received".

Does anyone have any ideas on how to rectify this?

thanks

Sony said...

Not sure about your set up but is there any other dhcp server on the network.

If so then disable it or make sure it is not conflicting.

Also make sure all the files have correctly extracted into the source folder.

Hope this helps

wentzr said...

you mentioned ubuntu so i was hoping this would provide an answer as to how to initiate this from ubuntu, not another winxp machine.. i have a laptop which has no cd drive, external usb/fw drives do not show up as bootable devices in my bios, but USB sticks do. (go figure).. I have a mac, and a linux box w/ ubuntu installed here, I don't want to install win on my ubuntu box just so i can install winxp on my laptop... can you point me in the right direction as to how to initiate the PXE boot from a Ubuntu 9 machine??

Thanks a lot!!

Sony said...

Found this site which shows how to setup a tftp server on Ubuntu. After setting up the tftp server on Ubuntu the rest of the walk through should be fairly similar.

Thanks for your comment

Anonymous said...

Thanks..!! It was really helpful..!!