Commentary
1/19/2006
10:42 PM
Fred Langa
Fred Langa
Commentary

Langa Letter: XP On Your Thumb Drive

Fred Langa offers a step-by-step and illustrated guide on how to boot XP from an ordinary USB drive.



Fred LangaChances are you already either have a USB "thumb" drive, or you will have one in the near future--these little solid-state flash memory devices are inexpensive, nearly ubiquitous, and very, very handy. Not only can they replace floppy drives for casual file transfers, but the larger capacity thumb drives also can serve as the basis for an excellent, fit-in-your-pocket software repair kit, letting you diagnose and repair PCs, including those that might otherwise be unbootable or that are locked by password or other problems.

We've discussed USB drives before in "What's Behind The USB Drive Revolution". We also looked at ways to make a USB drive bootable from DOS in "Solving USB Boot Problems". We've also mentioned ways to boot from Linux (such as is discussed in this HowTo or in this Google search.) If you missed either of those earlier articles and references, this would be a good time to click back and catch up so we'll all be starting on the same page.

But when we left off our discussion of USB drives, there was no good way to boot XP from a thumb drive because of the way that XP takes over USB control as the operating system starts -- in effect, XP tries to take over the USB system it's already using to boot from, with unpredictable results.

Since our earlier discussions, three things have happened that can make it much, much easier to get XP to boot from a USB device. First, Microsoft released new software that can manage the USB handover much more smoothly. The new software is part of Service Pack 1 for Windows Server 2003, but can work fine in booting XP and even Win2K from USB. (We'll tell you how to get free copies of the new software in a moment.)

The second piece involved Bart Lagerweij and his justly famous "BartPE" software: The BartPE software is a free and powerful way to create custom bootable, self-contained XP CDs that are ready-to-run and that come with a full battery of software tools for PC diagnosis and repair. The BartPE XP CDs are like the "live" versions of Linux -- everything runs right from the CD. (See "A Must-Have Repair And Recovery Tool").

Bart produced a new USB installer for his tool, making use of the files that came in SP1 for Server 2003. The installer is actually a highly-automated series of scripts that can build a self-contained USB-bootable version of the BartPE XP repair and recovery environment. This gives you what's arguably the most powerful recovery and repair tool ever -- and a self-contained version of XP -- that can fit on, boot from, and run on a modest 256MB USB thumb drive!

The final piece fell into place when some other software authors helped resolve some of the most common remaining issues, so that XP-boot-from-USB now can work in many, many cases.

What Works, What Doesn't
Before we get too far, it's worth noting that there are some kinds of boot-from-USB problems that software fixes can't cure. For example, not all PCs (especially older ones) support boot-from-USB in the first place: If the system doesn't allow it, it's game over. (If your PC supports boot-from USB, it'll be an option in the BIOS setup tool.) There can be compatibility issues with USB 1.0 and 2.0 hardware, and with "High Speed" versus "Full Speed" or "Low Speed" support. And so on.

More subtly, some systems that support boot-from-USB may do so either via hard drive emulation or floppy drive emulation by the USB device; but usually not both. If you try to use a USB drive that's emulating a hard drive, but your system only supports floppy-drive emulation (or vice versa), you may be out of luck. Alas, many PCs aren't labeled as to which forms of USB boot emulation they support, leaving you to experiment. (More on this in a moment.)

And there also can be issues in the USB devices themselves. For a list of many USB drives that are known to work with Bart Lagerweij's tools -- as well as many known not to work, see post #17 in this thread.

Yes, it's a little confusing, but don't worry: If you're not sure that your PC and/or USB drive is suitable, you can simply go ahead and try the full XP boot method we'll discuss: If it fails, it most likely simply won't work. It should do no harm.

But if you want more surety, it may be worthwhile to try any of the simpler DOS boot tools mentioned in "Solving USB Boot Problems". A USB drive that can boot from DOS probably can be made to boot from XP. But a USB drive that won't even boot from DOS probably will be very difficult, at best, to get to work with XP. Thus, running a quick test with the DOS-boot tools can help you decide if it's worthwhile to try the longer, more complex XP boot method we'll now describe.



Booting XP From A USB Drive, Step By Step
First, if you haven't already, grab a free copy of BartPE. You'll find all the information you need on getting and using this tool in "A Must-Have Repair And Recovery Tool." and at Bart's site.

Next, you need new versions of two files from Microsoft: "setupldr.bin" and "ramdisk.sys". These new files are part of the Windows Server 2003 SP1 pack, which you can download from Microsoft no matter what operating system you're running. So, if you're not running Server 2003, it's not a problem.

Here's what to do: Start with the page called "How to obtain the latest service pack for Windows Server 2003" and follow the appropriate links under the subheading "To obtain Windows Server 2003 SP1 from the Microsoft Download Center." (As I write this, the standard 32-bit version is here, and you're free to try that link. But the name or location of the file may change, so going through the "How to obtain the latest service pack for Windows Server 2003" page is the safest, surest route. When you get to the download page, click the "Download" button to save the complete SP1 file to your PC. (It's a large file; 329-Mbytes.)

The SP1 File is an executable that will try to self-extract and install if you run it. If you're currently using Windows Server 2003 and wish to fully install SP1, it's fine to do just that -- click on the file and run it. But if you're using any other operating system, use the "-x" (for "extract") switch instead. This will pull all the files from SP1, but won't try to install them.

Extracting The Files You Need
Here's how, using my system as an example:

Screen One shows the executable SP1 file -- currently named "WindowsServer2003-KB889101-SP1-x86-ENU.exe" although the name could be different when you download it -- in an otherwise-empty folder I created as a temporary workspace.


Screen One
The Windows Server 2003 SP1 file is a self-extracting archive from which you can pull just the files you need, without having to install everything else.

(click image for larger view)

The Windows Server 2003 SP1 file is a self-extracting archive from which you can pull just the files you need, without having to install everything else.

I opened a command window in that folder, and then ran the SP1 executable file with the "-x" switch: In other words, I entered the command "WindowsServer2003-KB889101-SP1-x86-ENU.exe -x" (without the quotes) as shown in Screen Two.

The -x switch unpacks the SP1 files without invoking the installer.
Screen Two
The -x switch unpacks the SP1 files without invoking the installer.

(click image for larger view)

Screen Three shows the extraction process beginning; asking for a destination for the unpacked files. You can accept the default location (that's what I did), or specify another.


Screen Three
The default unpack destination will usually work, but you can specify any convenient spot.

(click image for larger view)

The default unpack destination will usually work, but you can specify any convenient spot.

Once you accept or specify a destination, the actual unpacking of the files then begins, as shown in Screen Four.

Unpacking the files takes several minutes, but requires no further user input.
Screen Four
Unpacking the files takes several minutes, but requires no further user input.

(click image for larger view)

Screen Five shows both the final "extraction complete" message, and the automatically-created "i386" folder that contains all the newly extracted SP1 files.


Screen Five
By default, all the newly unpacked files are placed within an automatically created "i386" subfolder.

(click image for larger view)

By default, all the newly unpacked files are placed within an automatically created ''i386'' subfolder.



Moving The Files To PEbuilder
The two files we need from SP1 are setupldr.bin and ramdisk.sys. Bart Lagerweij's boot-from-USB script will look for those files in a specific location; namely, a folder named "srsp1" off the home directory of your PEbuilder installation.

In my example case, my PEbuilder folder is at E:\pebuilder; so I created a new folder called E:\pebuilder\srsp1. I then simply copied and pasted the setupldr.bin file from the i386 folder (shown in Screen Six) to the E:\pebuilder\srsp1 folder.

Copy and paste setupldr.bin from the i386 folder to your PEbuilder folder.
Screen Six
Copy and paste setupldr.bin from the i386 folder to your PEbuilder folder.

(click image for larger view)

If you try to do the same copy and paste with ramdisk.sys, it won't work; instead you'll find a file called "ramdisk.sy_" in the i386 folder. The trailing underscore is Microsoft's way of telling you it's a compressed version of the file, which must be expanded before use.

Screen Seven shows how: I opened a command window in the i386 folder, and used the command "expand -r ramdisk.sy_ E:\pebuilder313\srsp1" (without the quotes) to decompress the ramdisk file, and write it to the E:\pebuilder\srsp1 folder.


Screen Seven
The 'expand -r' command lets you decompress ramdisk.sy_ into ramdisk.sys; and also to move it to the PEbuilder folder.

(click image for larger view)

The 'expand -r' command lets you decompress ramdisk.sy_ into ramdisk.sys; and also to move it to the PEbuilder folder.

The successful completion of the expand/move command is shown in Screen Eight.

If the decompress/move operation completes normally, you'll see results something like this.
Screen Eight
If the decompress/move operation completes normally, you'll see results something like this.

(click image for larger view)

Once you have the setupldr.bin and ramdisk.sys in your pebuilder\srsp1 folder, you can then delete the other SP1 files, if you wish; including all the files in the i386 unpacking directory, and the original download file (e.g., "WindowsServer2003-KB889101-SP1-x86-ENU.exe," or whatever it was called when you downloaded it.)

Build The Custom Version Of XP
Use PEbuilder normally, following the directions that came with the software; or the illustrated, step-by-step directions in "A Must-Have Repair And Recovery Tool."

Note that the PEbuilder "output folder" should remain the default "BartPE" called for in the PEbuilder instructions. But because these files will soon be copied to your USB drive, you don't need to create or burn an ISO image for now. Just leave those options unchecked, when they're offered to you.

Prepare The USB Drive
The USB installer script "pe2usb" included in your PEbuilder folder is the key to formatting your USB drive and setting up the XP files there. It's easy to use -- you just need to know what drive letter your USB device is using. In my case, I had a USB drive installed as drive K: on my system, so, following Bart's instructions, I entered the command "pe2usb -f K:" (without the quotes) from my PEbuilder folder, as shown in Screen Nine. (The "-f" ensures that the USB drive is formatted before the files are copied to the device.)


Screen Nine
Here, the USB installer script (pe2usb) is being used to format (-f) the USB drive as part of the installation process. The USB drive is K: in this setup, but may have a different letter on your system.

(click image for larger view)

Here, the USB installer script (pe2usb) is being used to format (-f) the USB drive as part of the installation process. The USB drive is K: in this setup, but may have a different letter on your system.

Once the USB installer is running, it checks to make sure you really want to reformat the USB drive (as shown in Screen Ten); if you concur, it runs to completion as shown in Screen Eleven.

The USB installer script (pe2usb) takes a few minutes to run, but communicates fairly well with you during the process, via on-screen text messages.
The USB installer script (pe2usb) takes a few minutes to run, but communicates fairly well with you during the process, via on-screen text messages.
Screens Ten and Eleven
The USB installer script (pe2usb) takes a few minutes to run, but communicates fairly well with you during the process, via on-screen text messages.

(click images for larger view)



Making Sure The PC Is Ready
Before trying to boot from the USB drive, take a moment to ensure that your PC will do its part by checking the BIOS. Different PCs use different nomenclatures, but the BIOS setup tool on my PC had three areas to check. The first and most obvious was to make sure that "USB Boot" was set to "Enable," as shown in Screen Twelve.

Your PC's BIOS settings may differ but the key settings are usually named something like what you see here and in the next two screens.
Screen Twelve
Your PC's BIOS settings may differ but the key settings are usually named something like what you see here and in the next two screens.

(click image for larger view)

Next, under "Removable devices" (Screen Thirteen), I set the USB drive as the first drive, with the standard floppy drive second.


Screen Thirteen
Not all PC's require that you specify Removable devices; but if yours offers such a setting, see if a USB device is listed within.

(click image for larger view)

Not all PC's require that you specify Removable devices; but if yours offers such a setting, see if a USB device is listed within.

Then, under "Boot Device Priority" (Screen Fourteen), I set the USB drive as first. I saved the changes (Screen Fifteen) and I was ready to go!

The Boot Order is important; you want the USB device to be first in line. Once that's set, save your changes, and reboot.
The Boot Order is important; you want the USB device to be first in line. Once that's set, save your changes, and reboot.
Screens Fourteen and Fifteen
The Boot Order is important; you want the USB device to be first in line. Once that's set, save your changes, and reboot.

(click images for larger view)

Or so I thought. But it didn't work. My PC wouldn't boot from the USB drive.

One Final Detail
In the BIOS settings under "Removable devices," my PC had lumped the USB drive in with a standard floppy drive; and that was a clue I'd missed. The output of the USB installer, shown in Screen Eleven, showed that the software set up the USB drive as if it were a hard drive. That can be fine in many PCs, but mine -- only a couple years old, and hardly ancient -- wasn't able to handle the mismatch.

This is apparently an extremely common cause for USB boot failures, so much so that other software developers have produced fixes. For example, "Flashboot," a tool from Prime Expert, is able to make many types of bootable USB setups on its own, but also has a special feature for processing a BartPE bootable CD image to USB; and to do so in either hard drive emulation format or floppy drive emulation. Flashboot is a commercial tool costing 19.95Euros (about US$24 as I write this), but has a free trial so you can be sure it will work for you before you pay.

I tried it, and Flashboot did as it promised, getting around my PC's limitations, and letting me boot from the USB drive.

Lots Of Help Available
As with so many tech step-by-steps, spelling out all the details can make things seem harder than they really are. Of course, that's not our intent here -- we're trying to lay out the details to make the process as clear as possible.

But in the event things don't work for you, don't worry: There's lots of additional help available, including these excellent resources:

Well Worth Doing
Having BartPE -- in fact, an entire, lightweight installation of XP -- on a self-contained, zero-footprint, USB drive is a wonderful thing that opens a whole world of easier, more-portable computing, troubleshooting, and maintenance. Sooner or later, you'll have a USB drive -- and now you have the means to take XP with you, in your pocket


To discuss this column with other readers, please visit Fred Langa's forum.

To find out more about Fred Langa, please visit his page.

We welcome your comments on this topic on our social media channels, or [contact us directly] with questions about the site.
Comment  | 
Email This  | 
Print  | 
RSS
More Insights
Copyright © 2020 UBM Electronics, A UBM company, All rights reserved. Privacy Policy | Terms of Service