Install Windows XP using USB Flash Drive onto the EEE 901

This article is aimed at technical users of small laptops without a built-in CD/DVD drive who wish to reinstall their Windows XP operating system. Generally in this case you have one of four options:

All but the last option were not available to me, so this guide will cover the process of creating and installing the operating system with a USB flash drive.

This process is quite long so I have done my best to keep it simple. Fortunately this journey is well travelled by other users in a similar situation and the tools for the job are well established. I have assumed that your are familiar with reinstalling the operating system of a computer.

Requirements

Before we start, you will need the following:

Prepare the Flash Drive

Download the following utilities:

Formatting the USB Flash Drive

Before we can transfer the operating system to the flash drive, we need to format the drive with a suitable file system.

Extract the usb_prep8 and PeToUSB archives to a temporary folder so that the directory listing looks as follows.
Note that importantly the PeToUSB.exe and usb_prep8.cmd are present:

Double click the command script usb_prep8.cmd. The command prompt window will look like this:

Insert your USB flash drive and press any key in the usb_prep8.cmd command window. Make sure the USB flash drive is selected, and check "Quick Format":

Click on Start to start the format:

Another dialog box appears, click Yes:

When the format is complete, click "OK" to confirm this:

Now we have formatted the drive, leave the PeToUSB and usb_prep8.cmd windows as they are. We will come back to them later.

Make USB Flash Drive bootable

Next we want to make the drive bootable, so it can be loaded by the laptop and used to run Windows Setup.

Note: Bootsect needs full access to the drive, so close any Windows Explorer windows which are viewing the contents of the USB flash drive.

Extract bootsect.zip to a folder. Bring up the command prompt (Start -> All Programs -> Accessories -> Command Prompt). From the command prompt, execute the following commands:

C:\Documents and Settings\user\Desktop> cd bootsect C:\Documents and Settings\user\Desktop\bootsect> BootSect.exe /nt52 J: Target volumes will be updated with NTLDR compatible bootcode. J: (\\?\Volume{04d9e9a7-31c2-11de-aeb1-0019db2384d2}) Successfully updated FAT filesystem bootcode. Bootcode was successfully updated on all targeted volumes.

Close this command prompt

Close the PeToUSB window, this should cause the usb_prep8.cmd to update. The usb_prep8.cmd command line window should now look like this:

Now we need to supply information for 1-3 in the image above. Use the command line interface provided to enter the following information:

  1. Browse for the location of your Windows XP setup files. A dialog box will appear, use it to select the location of your Windows CD.
  2. Enter an unused drive letter for example use T:
  3. Enter the drive letter of your USB flash drive. Mine was J, yours might be different.

At this point you have filled in all the information required. The menu should look something like the following:

Select option 4 to start the process. You will be presented with a format confirmation. Do not worry, this is formatting the temporary drive (drive T:). This is where the disk image is prepared before finally copying to the USB flash drive.

Select Y to continue. The format takes a moment.

When the formatting is done, press enter to continue. Now files will be copied from the Windows CD to the temporary drive. This copy takes a couple of minutes, once this has finished you will see the following:

Press enter to continue, more files will be copied, then this dialog will appear, and you will be asked to confirm copying the files to the flash drive.

Select yes and wait, this will take a while to complete, somewhere in the order of 10 minutes, depending on the flash drive.

Once it is done, a popup will ask you Would you like USB-stick to be Preferred Boot Drive U:

Select Yes and then select Yes again to unmount the Virtual Drive.

Close the usb_prep8.cmd command line window and any others you have left open.

Now we are done with preparing the USB-flash drive. Next step is to install the operating system onto the laptop.

Configure BIOS for USB Boot

Now we have created a Windows installation on the USB flash drive. We need to boot the laptop using the USB flash drive. We need to configure the BIOS to do so, which for the EEE 901 is quite easy to do. The image below shows the configuration:

Note: The installer will only boot and install the OS to the primary drive. The EEE 901 has two SSD's both of which confusingly have the same name in the BIOS menu. Fortuntely they are ordered, so the first in the list is the primary drive, and the second in the list is the slave.

Also Note: I found that the EEE will forget the configuration change made above if the USB drive is removed from the computer before it is booted, so you might have to reapply this change in the BIOS.

Save changes and boot from the USB flash drive. You will be presented with the following menu which gives you two choices:

Select the second option "TXT Mode Setup Windows XP".

Next, work through the partitioning stage as usual. Only three caveats to keep in mind:

In the image above we have setup two partitions, one on each drive and the USB drive has been left unchanged.

Once the setup files are copied to the drive, the computer will restart. This time round you should select the first option "GUI Mode Setup Windows XP".

The GUI installation has been largely automated, such that you only need to enter the serial key. This part of the installation shows the quality of the craftmanship by the people who created PeToUSB, they have automated the installation very well.

The Boot Loader

The final stage. When my EEE 901 started after the installation an error occurred indicating that the BOOT.INI file could not be installed correctly. This indicated to me that the boot loader had failed to be installed. Sure enough on a restart the OS could not be started.

I tried using the NTLDR + BOOT.INI files from the USB flash drive, but that was not successful. I wonder if this NTLDR copied onto the flash drive was used specifically for the flash drive, or if it simply did not recognise the geometry of the EEE 901 SSD.

At this point I re-used the knowledge I had gained from the X40 Compact Flash SSD by using Grub to boot Windows. Follow these instructions to complete this. They must be performed on the laptop:

  1. Download and extract grubinst to a folder
  2. Download and extract grldr from grub4dos to the same folder
  3. Use Disk Management Start -> Run -> "diskmgmt.msc" to work out which drive is the drive where Windows is installed. This should be Disk 0:
  4. Start a command prompt (Start -> All Programs -> Accessories -> Command Prompt) and execute the following where the grubinst command must be followed by "(hdX)" where X was the drive number shown in Disk Management:

    C:\Documents and Settings\user\Desktop> cd grubinst C:\Documents and Settings\user\Desktop\grubinst> grubinst --pause (hd0)

  5. Now the MBR on the primary drive has been configured to use grub, copy the grubinst\grldr file to the root of drive C:
  6. Create a file called C:\menu.lst which has the following contents

    chainloader /ntldr

  7. I also found I had to copy the I found I had to copy NTLDR, NTDETECT.COM and BOOT.INI from the USB Flash Drive to the root of drive C:
  8. I also made sure that BOOT.INI pointed to the right partition, I changed its contents to the following:

    [Boot Loader] Timeout=10 Default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [Operating Systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP Professional" /FASTDETECT

Once those steps were complete I was able to boot successfully into Windows.