This article is also available as a PDF download and a gallery.

The ability to boot Windows XP from a USB Flash Drive (UFD)
offers endless possibilities. For example, you might make an easy-to-use
troubleshooting tool for booting and analyzing seemingly dead PCs. Or you could
transport your favorite applications back and forth from home to work without
having to install them on both PCs.

However, before you can create a bootable UFD, you must
clear a few hurdles. You saw that one coming didn’t you?

The first hurdle is having a PC in which the BIOS will allow
you to configure the USB port to act as a bootable device. The second hurdle is
having a UFD that that will work as a bootable device and that’s large enough
and fast enough to boot an operating system such as Windows XP. The third
hurdle is finding a way to condense and install Windows XP on a UFD.

If you have a PC that was manufactured in the last several
years, chances are that its BIOS will allow you to configure the USB port to
act as a bootable device. If you have a good quality UFD that’s at least 512 KB
and that was manufactured in the last couple of years, you’ve probably cleared the
second hurdle. And once you’ve cleared those first two hurdles, the third one
is a piece of cake. All you have to do is download and run some free software
to create the bootable UFD.

I’ll start by showing you how to determine whether your PC’s BIOS will support booting from USB and explain how to
configure it to do so. Then, I’ll show you how to download and use the free
software to create a bootable UFD running Windows XP Professional.

The UFD hurdle

You probably noticed that I didn’t mention how to determine
if your UFD would support being configured as a bootable device, except that it
must be a good quality unit of recent manufacture. Well, I’ve discovered that
when it comes to the actual UFD, you’ll just have to try it and see what
happens. As long as you have a PC with a BIOS that will allow you to configure
the USB port to act as a bootable device and you have configured the
installation correctly, it should
work. If it doesn’t, you probably have a UFD that can’t boot.

I tested three UFDs on two new
computers and had mixed success. First, I attempted to use a 128 MB PNY Attache but received an error message that said “Invalid or
damaged Bootable partition” on both PCs. Next, I tried a 1GB Gateway UFD and it
worked on both PCs. Then, I tried a 256 MB Lexar JumpDrive Pro and it worked on
only one of the PCs. You can find lists of UFD brands that others have had
success with on the Internet.

Checking the BIOS

Not every new BIOS will allow you to configure the USB port
to act as a bootable device. And some that do allow it don’t make it easy. On one
of my example systems, it was a no-brainer. On the other, the UFD had to be
connected to the USB port before it was apparent that I could configure it as a
bootable device. Let’s take a closer look.

On the test system with a PhoenixBIOS version 62.04, I
accessed the BIOS, went to the boot screen, and found that USB Storage Stick
was one of the options. I then moved it to the top of the list, as shown in Figure A, thus making it the first
device to check during the boot sequence. (This particular BIOS also allowed me
to press the [F10] key during the boot sequence and select any one of the
available bootable devices, so it really wasn’t necessary to move it to the
top.)

Figure A

The settings on the Boot Screen of the PhoenixBIOS made it a no-brainer to
select the device.

On the test system with an AMI BIOS version 2.59, I accessed
the BIOS, went to the Boot Sequence screen, and didn’t find a USB boot option,
as shown in Figure B. I then went
one step further and checked the Hard Disk Drives screen and still didn’t find
a USB boot option, as shown in Figure C.

Figure B

A USB boot option didn’t appear on the Boot Sequence screen.

Figure C

The Hard Disk Drives screen only showed the SATA hard disk.

I then plugged a UFD into the USB port, booted up the system,
and accessed the BIOS. When I checked the Hard Disk Drives screen, the UFD
appeared in the list and I could select it as the first drive (Figure D).

Figure D

With the UFD plugged into the USB port, I could configure the UFD as a
bootable device.

When I returned to the Boot Sequence screen, the UFD was
indeed set as the first bootable device (Figure
E
).

Figure E

As the Boot Sequence screen indicates, the UFD was set to be the first bootable device.

Rounding up the software

To condense and install Windows XP on a UFD, you’ll need a
program called PE Builder by Bart Lagerweij. You’ll also need two files from
the Windows Server 2003 Service Pack 1. And of course, you need to have a
Windows XP Professional CD.

You can download PE Builder from Bart’s Web
site
. At the time of this writing, the most current version of PE
Builder was 3.1.10a.

You can download Windows Server 2003 SP1 by following the
link in the Knowledge Base article “How
to obtain the latest service pack for Windows Server 2003.”
Be
sure to get the 32-bit version!

Keep in mind that at 329 MB, Windows Server 2003 SP1 will
take some time to download. And although you need just two small files, the
only way to get them is to download the entire package.


Warning

Do not run the Windows Server 2003 SP1 executable file! Doing
so will completely corrupt Windows XP. We will use a set of special commands to
extract the two files and then delete the rest of the package.


Preparing the software

Installing PE Builder is quick and easy. Just run the
installation program and follow the onscreen instructions. To make things simpler,
I installed the program in the root directory in a folder called PEBUILDER3110a.

Once PE Builder is installed, you’ll need to create a folder
in C:\PEBUILDER3110a called SRSP1, as shown in Figure F. This is the folder in which PE Builder will look for the
extracted Windows Server 2003 SP1 files.

Figure F

Once PE Builder is installed, you’ll need to create folder called SRSP1 in
C:\PEBUILDER3110a.

Now, you can begin extracting the two needed files from
Windows Server 2003 SP1. When you download the Windows Server 2003 SP1, the
executable file will have a long name: WindowsServer2003-KB889101-SP1-ENU.exe. To
save on typing, you can rename the file to something shorter, such as
WS-SP1.exe.

To begin, open a Command Prompt window and use the CD
command to change to the folder in which you downloaded the Windows Server 2003
SP1 executable file. I downloaded the file to a folder called Downloads. Now,
to extract the files contained in SP1, type the command

WS-SP1.exe -x

You’ll immediately see a dialog box that prompts you to
select a folder in which to extract the files and can type the name of the same
folder, as shown in Figure G. Click
OK to proceed with the extraction procedure. When the procedure is complete, just
leave the Command Prompt window open.

Figure G

You can extract the files into the same folder containing the Windows
Server 2003 SP1 executable file

The extraction procedure will create a subdirectory called
i386 and extract all the Windows Server 2003 SP1 files there. Use the CD
command to change to the i386 folder and then copy the setupldr.bin
file to the SRSP1 folder with the command:

copy setupldr.bin c:\pebuilder3110a\srsp1

Expand the ramdisk.sy_ file to the
SRSP1 folder with the command:

expand -r ramdisk.sy_ c:\pebuilder3110a\srsp1

These three steps are illustrated in Figure H.

Figure H

You’ll copy and expand the two necessary files to the SRSP1 folder.

Now, using Windows Explorer, verify that the two necessary
files are in the SRSP1 folder, as shown in Figure
I
. Once you do so, you can delete all the Windows Server 2003 SP1 files.

Figure I

You’ll want to verify that the setupldr.bin and ramdisk.sys files are in the SRSP1 folder.

Running PE Builder

Now that you’ve extracted the necessary files from the
Windows Server 2003 SP1 package, you’re ready to use PE Builder to create a
compressed version of Windows XP. To begin, place your Windows XP Professional
CD into the drive and hold down the [Shift] key to prevent Autostart
from launching the CD. Then, launch PE Builder.

In the Source field on the main PE Builder screen, simply
type the letter of drive in which you put the Windows XP Professional CD, as
shown in Figure J. Make sure that
the Output box contains BartPE and that the None option
is selected in the Media Output panel. Then, click the Build button.

Figure J

Fill in the Source field on the main PE Builder screen.

As PE Builder compresses Windows XP Professional into a
bootable image, you’ll see a detailed progress dialog box. When the operation
is complete, as shown in Figure K,
click the Close button.

Figure K

PE Builder displays a detailed progress report.

Preparing the UFD to boot Windows XP

At this point, you’re ready to format and copy the Windows
XP Professional bootable image to the UFD with the BartPE
USB Installer. To do so, open a Command Prompt window and use the CD command to
change to the pebuilder3110a folder. Then, insert your UFD into a USB port and
take note of the drive letter that it is assigned. On my example system, the
UFD was assigned drive E.

Now, type the command

pe2usb -f e:

You’ll then be prompted to confirm this part of the
operation, as shown in Figure L.
While the operation is underway, you’ll see progress indicators.

Figure L

You’ll be prompted to confirm that you want to format your UFD.

Once the BartPE USB Installer
finishes its job, you’ll be prompted press any key to exit the program. Now you
can use your UFD to boot your computer into the BartPE
interface for Windows XP, as shown in Figure
M
.

Figure M

The BartPE interface provides you with a pared
down version of Windows XP.

You can find a list of specialized
applications
on Bart’s Web site, which you can install on your UFD
as Plugins. For example, you can find such things as
Firefox or McAfee command-line virus scanner.

Conclusion

Booting Windows XP from a UFD requires that your PC’s BIOS support booting from USB and that you have a UFD
that can be formatted as a bootable device. If you can meet these two
requirements, all you need is PE Builder, a couple of files from the Windows
Server 2003 Service Pack 1, and a little effort to configure a UFD to boot the BartPE interface to Windows XP.