October 16, 2009

USB Drive Not Seen by Boot CD

If you run Windows XP and have an external USB disk drive that is not recognized by your recovery CD, then this post is for you.

I recently got an Acomdata Samba 2.0 external USB drive enclosure to use with a Western Digital disk for system backups. Windows XP sees the USB disk fine, if the drive is turned on after XP is running. So there's no problem using my Acronis True Image to create backups. The problem is that the Acronis restore CD boots into Linux, which does not see the USB drive. A little research revealed the problem is common between backup or disk image programs and USB drives.

The solution I found is complex, but it works. It took me so long to find, understand, and implement the solution that I thought I should write up what I did in order to help others who have the same problem. My steps won't exactly match yours, but hopefully they'll be close enough to what you need to do that you will be able to solve the problem.

The basic concept is that since Windows recognizes the USB disk, you need to make a boot CD that boots into Windows rather than Linux. The boot CD must also include software that can restore data from your backup. With such a boot CD you will be able to boot up and restore a system backup, either to a new replacement disk or to overlay the programs and data on a working disk.

What You Will Need

Your original Windows XP CD.
A working computer.
A high-speed Internet connection.
The means to burn a CD (or several).
The ability to use a file manager to find and manipulate files.
1 to 6 GB of free disk space, depending on which steps you perform.

Basic Steps

1. Download and install PE Builder from BartPE.

2. Get a BartPE plugin for your backup software.

3. If your original Windows XP CD does not include XP service pack 2, then you must merge SP2 files into your XP installation files.

4. Use PE Builder to generate a PE (preinstallation environment).

5. Boot into the PE and test it.

If your computer boots from the CD, sees the USB disk, and lets you run your backup software to restore data, then you're done. If your external drive is not recognized, then more steps might succeed (as they did for me).

6. Download and install UBCD4Win.

7. Use UBCD4Win to generate a PE.

8. Boot into the PE and test it.

More about Each Step

The following remarks are based on what worked for me. I'm not going to attempt to give click-level details. Hopefully, the following comments will be enough to help you find your way through the process.

1. Download and install BartPE.

Go to BartPE.
Read the introduction and download the latest version.
Install it. I used BartPE version 3.1.10a.
(Warning: I messed myself up by installing BartPE in my "Program Files" folder. BartPE does not allow spaces in a folder name. Accept the BartPE location defaults.)

2. Get a BartPE plugin for your backup software.

I decided to use Macrium Reflect Free as my system backup software. It allows you to make a disk image of your system disk even while Windows is running. It also provides a BartPE plugin, so you can add Macrium Reflect Free to your BartPE CD. Here are Macrium's instructions for creating the BartPE plugin.

3. Make a slipstreamed version of XP Service Pack 2 (if necessary).

BartPE copies the files it needs from your original Windows XP CD. If your XP CD is a version earlier than SP2 (which was released in August 2004), then you must create a copy of your XP files that includes SP2 files. That process is called "slipstreaming" and BartPE makes it easy. The slipstream screen is accessed by clicking "Source" on the BartPE menu bar. The slipstreaming screen has three fields: the location of your Windows XP installation files, the location of the XP service pack you want to merge into your XP installation files, and the location where you want the output of the slipstreaming process to be written.

You should create a folder for your original XP installation files. For simplicity, the folder should be in your root directory and its name should not contain spaces. Copy your entire XP installation CD to that folder. That will be the source for the slipstreaming process.

Next, download a copy of XP Service Pack 2. For simplicity, the file should be saved at the root level with a simple name. This file will be in the second field on the slipstream screen.

Run the slipstream. If it is successful, you will use the output file as the input for creating the BartPE boot CD.


I decided to go ahead and make a slipstreamed copy of XP SP3 using the same process used for SP2. Download a copy of XP Service Pack 3. The input field on the slipstream screen should be the output from the SP2 slipstream. The service pack location will be for SP3 instead of SP2.

The final output location of your slipstreaming steps will be the source location on the PE Builder screen.

4. Run PE Builder to generate a PE (preinstallation environment).

The source field on the builder screen should be either your copy of your XP installation CD or the output of your final slipstreaming process. Due to the slowness of CD drives, you may have problems if you try to use your XP CD as the source.

I did not use the custom field.


I recommend accepting the default output location and name.

Under "Media Output" there are three choices. I'll describe my understanding of each one.

None: Writes the PE files to a BartPE folder on your hard disk.

Create ISO image: This will create the entire boot CD as one ISO image file on your hard disk. If you choose this option, you can use your favorite CD-burning program to burn the image to a CD later.

Burn to CD/DVD: If you choose this option PE builder will attempt to burn the CD for you.

I chose "None" because I didn't want to waste CDs until I knew the process worked and would solve my problem. If you choose "None", you can follow some more steps to enable testing the PE from your hard disk.

You might want to check the plugins by clicking the "Plugins" button on the PE Builder screen. If you enable too many, the resulting PE might not fit on a CD. If you want to test from your hard disk, make sure the BartPE Installer plugin is enabled. Make sure your backup program's plugin is also enabled. My backup program was "Macrium Reflect".


When all the fields and plugins are ready, click the "Build" button to build the PE.

If you burned a CD, then proceed to step 5. If you want to test from your hard disk continue with the following steps.

Optional: Install PE to hard disk for testing

BartPE provides a DOS program that sets up your PE for booting from your hard disk. Use your favorite file manager, like Windows Explorer, to navigate to the folder containing program "peinst.cmd", which in my case was "C:\BartPE\programs\peinst". Double-click on the file "peinst.cmd" to run it.

Peinst lets you specify the necessary parameters, one at a time, prior to the actual installation. You must press Enter after selecting each menu number and then again after typing the appropriate data. My answers follow.

1
C:\BartPE
2
C:
5
1

Several thousand files will be copied. Two new folders will be set up and populated in the root directory -- C:\minint and C:\programs. When the copying is complete, press any key to return to the peinst menu. If this is the first time you've gone through the menu, you should make a backup copy of your boot.ini file. Then select 5 again "Install BartPE to C:" and then 2, to add the BartPE option to your boot.ini file. You only need to do this step once.

5. Boot into the PE and test it.

If you created a boot CD, load the CD and reboot the computer from the CD. On my computer, I have to press F8 several times during the boot process until I get a menu that lets me tell the computer to boot from the CD.

If you installed the PE to your hard drive, simply reboot your computer and select "Boot BartPE (by PE Builder)" from the boot menu.

Whether you boot the PE from your hard disk or from a CD, the result should be that you boot into the BartPE environment. I booted into BartPE from my hard disk and noticed the menu entries were duplicated many times. This is a bug I didn't feel the need to pursue, since the menu items worked.

I didn't take notes on my activities during this part of my test, so I can't give specific steps. All I can say is explore the menus until you find the program that lets you see the equivalent of "My Computer" in XP. It may be called Manage Computer, Disk Management, Management Console, or something similar. See if your USB drive is shown. Mine wasn't. Try turning your external drive off and back on again. (My USB drive is not recognized by XP unless it is turned on after XP is running.) If you find your USB disk partition listed with the drives, with no drive letter assigned, you might be able right click the volume and then assign a drive letter. Experiment.

During the BartPE boot process, I requested that it set up my Internet connection. That request failed and I had no Internet capability. Internet access isn't necessary to restore files from an external disk backup, but I wanted the Internet access to work anyway. I had to find the exact model of my Broadcom network hardware (which was hard), go to the Broadcom web site, and download the latest drivers for my specific model. Then I followed the PE Builder instructions for adding drivers. On my next test the Internet setup worked.

I tried several potential solutions to get BartPE to see my USB drive. I downloaded and installed the Microsoft Management Console (MMC). I downloaded and installed Paraglider's hardware plug-and-play plugin (HWPnP). I kept adding plugins, rebuilding the PE, and testing the new plugins with my USB disk, but nothing worked.

If you burned a CD, your BartPE test worked, and your external drive was recognized, you're done. If you tested from your hard disk and your external drive was recognized, you need to run PE Builder again and burn a CD. Then you need to make sure you can boot from the CD and use your USB disk.

If like me, your external drive was not seen, then proceed to step 6.

6. Download and install UBCD4Win.

Go to the Ultimate Boot CD for Windows, read the introduction, download the latest version, and install it. Accept the default names and locations. Don't use folder or file names containing spaces. I used UBCD4Win version 3.50.

7. Use UBCD4Win to generate a PE.

Most of the instructions in step 4 above, apply here as well.

8. Boot into the PE and test it.

UBCD4Win has more utility programs and more drivers than BartPE. These additional programs and drivers are what made UBCD4Win work for me, whereas BartPE alone did not work.

Go to Start, Control Panel, Computer Management, Disk Management.

If your USB disk is not shown, try turning the external drive off and back on.

If your USB disk is still not shown, leave that window open and go to Start, System, HWPnP, Install USB Devices. This step made my external drive appear in the Disk Management window. My drive had two partitions. Both partitions showed up in Disk Management, but no drive letters were assigned to the volumes. Right click each volume and select "Change Drive Letter & Paths...." Click Add and then click OK to accept the new drive letter. Do this for every volume on the external drive. Now you should be able to use the USB disk in whatever program needs to see it.

If the above process worked for you, make some notes on the required steps and put them with your UBCD4Win CD so that if you ever need to use it to restore your hard disk, you'll know what to do.

I tested my backup and recovery process successfully. I made two disk images, one using Norton Ghost and one using Macrium Reflect. I booted using my UBCD4Win CD, assigned letters to my external drive's partitions, ran Macrium Reflect, restored the disk image to my hard disk, and rebooted the computer normally. Everything worked fine.

I noticed a bug when I was running the UBCD4Win PE. System information utilities reported that Windows XP SP2 was the operating sytem even though SP3 files had been used to build the PE.

If the steps in this post don't solve your problem, I suggest seeking help at one of the following forums: UBCD4Win Forums or The CD Forum.

I hope this post helped you solve your external drive problem. If you found BartPE and UBCD4Win helpful, please consider donating to those sites so they can continue to help others. Thanks.

[Update, October 26, 2009: I realized I had made the assumption that since the Acronis True Image Linux boot CD didn't recognize my external drive, then other Linux boot CDs also wouldn't recognize the drive. I created the Macrium Reflect Linux rescue CD and tested it. It recognized my USB drive! Amazing. If the external drive was turned on before booting with the CD, the drive was seen. If the computer was booted with the CD before the drive was turned on, then the drive was not seen.

I almost deleted this entire post because the fact that Macrium's rescue CD recognizes my drive makes the use of BartPE and UBCD4Win unnecessary. This post might help other people with their external drive problems, so I'll leave it up.]

Copyright © 2009 by Jon Maloney