Look! - Over 40 Tutorials
RMPrepUSB - Site News
Home >

• RMPrepUSB User Guide

Unique hitscounter for tumblr


The latest manual is included with RMPrepUSB as a PDF help file - just press F1.



RMPrepUSB is a Windows utility that can be used to format any USB storage device, e.g. USB Flash drive (UFD) or USB hard disk, as a bootable device (but cannot be used on USB Floppy drives to format floppy disks). It can be used to partition, format, write a Master Boot Record, partition table and/or Volume Boot Record (sometimes called a Partition Boot Record) and operating system boot code to a USB storage device (e.g. USB flash memory drive or USB hard disk). It can also be used to work on non-USB drives.

If you installed RMPrepUSB using the Installer, you can easily uninstall it using the ‘uninstall RMPrepUSB’ entry in the Start Menu. However, you do not need to install RMPrepUSB (it is portable and will even run under BartPE or WinPE v1/v2/v3), just ensure that all the files are copied to a folder on your hard drive or storage drive.

Note: if running Win PE you may need to copy the MSVBSM60.DLL from the WINPE_EXTRA folder to the same folder that RMPrepUSB.exe is in. Also, if you are running under Win PE v1/BartPE you may need to copy showdrive.exe file from the WINPE_EXTRA folder (do not copy this file if running Windows XP+ though as it can cause problems!).

To start - select the Language that you want to use in the top-right hand box. RMPrepUSB will list all *.INI files found in the .\LANG folder. Note that the translated files may be slightly out of date, but if you select English you will always get the latest version of help text. If you have XP, you may need to install Asian language support (see FAQ Q32)

Please read the all the FAQs at the end of this document!


RMPrepUSB and RMPartUSB are free (Freeware) for private use only; however they are not Open Source programs. For commercial use and licensing please contact Distribution, sale or use in a commercial solution is forbidden without permission from RM Education plc (see FAQs below for more information).

The RMPrepUSB download includes some executables which are not the intellectual property of the author or RM Education. The licensing terms and conditions of these programs are:

Grubinst.exe, grldr and touchdrv.exe – Author: bean123 homepage GPL (see GPL.txt)

Mkefs.exe – Author: MattWu homepage GPL (see GPL.txt)

Syslinux.exe – Author: H. Peter Anvin see homepage

QEMU - QEMU was written by Fabrice Bellard and is free software.

Various parts are released under different GNU General Public License version 2-compatible licenses.

These include the GNU Lesser General Public License (GNU LGPL) or permissive licenses such as the BSD license

RMPrepUSB is intended for use on USB Flash memory drive, USB hard disk drives or other USB storage devices such as card readers.

RMPrepUSB can:

Partition, format and make bootable a USB drive (follow the steps numbered 1-6 in blue text)

Clean (erase/wipe) a USB drive (best to unplug and re-plug afterwards)

Backup a USB drive (or parts of a USB drive) to an image file

Restore an image file (or part of an image file) to a USB drive

Install the grub4dos or syslinux bootloader onto a USB drive

Test a USB drive (useful for testing fake USB flash memory drives)

Test raw read/write speed of a USB drive

Eject a USB drive (for safe removal)

Display the partition structure of a USB drive (or image file)

Be used after PEBuilder to install your XP PE files to a bootable USB drive.

Work on hard disk drives as well as USB drives (by using the ALLDRIVES command line parameter)

Create an ext2 read/write filesystem (as a mountable file – e.g. casper-rw)

Emulate booting from the selected USB drive (QEMU = F11)

Note: Red or blue coloured buttons will write to your USB drive in some way. Except for the Test Speed button, all red/blue buttons will erase, alter or overwrite your USB drive contents. If you have any important files on the USB drive, copy them to a safe place first!

Important: always run these utilities with Administrator privileges or USB drives may not be accessible or you may get a write error reported!

When you click on one of the Prepare Drive, Quick Size Test, Test Speed, Clean, Image Tool or Info buttons, RMPrepUSB will call the Windows command line utility RMPartUSB - the exact command line will be shown to the user beforehand. If you prefer, you can use RMPartUSB in your scripts or batch files rather than use RMPrepUSB. Type ‘RMPartUSB’ in a Windows command shell to see full instructions on how to use the utility or read the rmpartusb.txt readme file.

Note:The button ‘6 Prepare Drive’ uses the settings numbered 1-5.
The two imaging operation buttons (FiletoUSB and USBtoFile) are totally independent of any other settings within RMPrepUSB
(i.e. the NTLDR, FAT32 and all other options have no affect when imaging – a binary image is simply copied to or read from the UFD
and is similar to the dd.exe utility, no additional ‘tweaking’ is done by RMPrepUSB or RMPartUSB and no extra files are copied afterwards).
The ‘Install grub4dos’ function installs grub4dos to any USB drive and does not call RMPartUSB.
Also note the commands executed and the status is shown at the bottom of the form during operation.

RMPrepUSB Help form (press F1 or Help button)

RMPrepUSB videos on YouTube:

Six steps (1-6) to make your USB drive bootable

1. Select the USB drive in the listbox if more than one is present and either leave the ‘1 Partition Size’ as MAX or change it (e.g. type 512 for a partition size of 512MiB).

2. Change the ‘2 Volume label’ text if you want to.

3. Set the ‘3 Bootloader Options’ that you want installed onto the new partition after it has been formatted.

4. Change the ‘4 Filesystem and Overrides’. You may need to experiment with these before you can find a combination that works. If in doubt use ‘FAT32’ and ‘Boot as HDD’.

5. If you want to, you can copy the contents of a folder to the new empty partition on the USB drive after it has been formatted by RMPrepUSB. Tick the ‘5 COPY OS FILES’ box if you want to do this. Note: RMPrepUSB will not place any boot files on the USB drive and it will not be bootable unless you copy some boot files onto it.

6. Click on the blue ‘6 Prepare Drive’ button.

WARNING: After a format operation or if Refresh is clicked, RMPrepUSB may select a different drive in the drop-down list. ALWAYS check that the correct USB drive is selected before clicking the Prepare button!

Note: When finished and before you unplug the USB drive, click on the ‘Eject’ button to prevent file corruption.

If you are experiencing difficulties using RMPartUSB or RMPrepUSB when formatting drives as a ‘floppy’ device – try disabling your antivirus software. Some antivirus software (e.g. Symantec) can interfere with direct access to the drive once it has been formatted as a floppy drive! Alternatively, disable floppy disk scanning in your AntiVirus options.

Special shortcut keys:

F1 – Help

F2 – Open Explorer @ USB drive

F3 – Open Explorer @ RMPrepUSB application home folder

F4 – Open menu.lst from root folder on currently selected USB drive with notepad

F5 – Refresh

F6 – Open USBSpeedDP.csv using the spreadsheet app. associated with .csv files

F7 – Open USBSpeed.csv using the spreadsheet app. associated with .csv files

F8 – Open USBSpeedDP.csv in notepad

F9 – Open RMPrepUSB.ini file in notepad

F10Save current configuration settings to RMPrepUSB.ini

F11 - Run QEMU and emulate booting from USB drive

F12Load user pre-set menu again (if RMPrepUSB.ini file present)

If you have the English language selected, you can press F1 to see this hotkey list and then quickly press ESC to close the help form.

About the COPY OS FILES option

RMPrepUSB prepares a USB drive by partitioning it, formatting it and placing boot code in the Master Boot Record (MBR) and Volume Boot Record (VBR, sometimes called the Partition Boot Record or PBR). However, the USB drive will not boot unless you copy the required boot files onto the drive. You can automatically copy files to the USB drive after it has been formatted by ticking the COPY OS FILES option. If you do not tick this option then you must copy any boot files onto the USB drive manually afterwards (make sure you copy the system and hidden files too!).

If you are installing linux (e.g. Ubuntu or YLMF) and want an ext2 filesystem (e.g. a casper-rw volume), you should create a file of the same name using the ‘Create Ext2 FS’ button (v2.1.604+).

Saving your favourite configurations

If you regularly make bootable USB drives or you want to distribute RMPrepUSB to other users inside your company or friends, together with a source folder containing your OS files, you can save the RMPrepUSB settings to RMPrepUSB.ini automatically by pressing F10. Here is how to do it:

A. Place your source OS files in folders on the C: drive of your hard disk, e.g.



Now for each USB configuration:
B. Run RMPrepUSB (you must click cancel if you already have an RMPrepUSB.ini file present and are prompted to choose a previous configuration) and actually make your bootable USB drive as you would normally (you do not have to do this, unless you use syslinux, but it helps to get it right - if you don't actually make a USB drive then check the contents of the RMPrepUSB.ini file after making it). If you need to use the install syslinux option, you must run through a complete format/syslinux operation to set the correct Raid/Syslinux options so they are saved to the ini file correctly when you press F10.
C. (optional) After 'Prepare Drive' has finished and the file copy has completed, untick the ‘No user prompts’ box and then click on Install grub4dos and choose the grub4dos options as you require (this sets the grub4dos option to either MBR or PBR depending on which one you choose). If you don't need to run grub4dos, then skip this bit as it is not necessary. If you also want to create an ext2 filesystem, you should use the Create ext2 FS button to set those options (though you can cancel after entering the volume name and size parameters). Now you can tick the ‘No user prompts’ box again if you don’t want the end user to have lots of prompts.
D. Now press F10 - you should be asked if you want to append the settings to the configuration file RMPrepUSB.ini. F10 records all the current settings including the MBR or PBR selection used when grub4dos was run, also any syslinux options and also the ext2 filename/size and appends them to the end of the RMPrepUSB.ini file as a new entry.

E. You will be asked to input a title (which will eventually appear in the user’s menu on each first run of RMPrepUSB – see section F below) and then add some text for the user’s instructions:

If you don't already have an RMPrepUSB.ini file then it will be created for you. You can press F9 if you want to see it or edit it.

Repeat this (B-E) for all your different types of bootable OS's.

F. Exit from RMPrepUSB and then restart RMPrepUSB - because an INI file is now present in the same folder as RMPrepUSB.exe, the user will now see a menu list when RMPrepUSB first runs and can pick one of the preset configurations.

Clicking ‘Cancel’ will not set any options, but choosing a configuration and clicking OK will pre-set the options which may override any options the user chooses. The user will now be prompted with the instructions that you previously entered into the configuration file, e.g.:

G. When the user clicks on the ‘6 Prepare Drive’ button, they will be prompted to accept or refuse the SIZE and VOLUME LABEL that was set in the configuration file:

If the user chooses ‘No’ then the current settings in RMPrepUSB will be used; ‘Cancel’ will abort the operation.
If you used ‘Install grub4dos’ and/or the ‘Create ext2 FS’ button, it will automatically run with the correct options that you recorded in the RMPrepUSB.ini file.

You can edit the INI file using Notepad to make changes or delete any section – just press F9. Note that you can hide some buttons and checkboxes if you wish. Here is an example RMPrepUSB.ini file with only one menu item:

LABEL=Ylmf 3.0
USERPROMPT=Click 6 Prepare Drive to format your USB drive, install grub4dos and create an Ext2filesystem named casper-rw for Ylmf

You can now ZIP up all source files and RMPrepUSB files and create a self-extracting EXE which will extract the source files to the correct location on the hard disk (i.e. C:\ACME\RMPrepUSB in this case). This is especially useful if you have the same source files but have different systems which need different RMPrepUSB options set (i.e. some systems boot with Force LBA set and some do not - so you can have two configurations but only one set of source files). Alternatively, you can create a self-installing distribution file using NSI – see the tutorial on the website for more details.

Note: if your partition is small (e.g. DOS), rather than use preset configurations, you can also distribute an image instead, using the 'USB->File' function (make sure the USB partition size is as small as possible - just big enough to hold the OS files to keep the image size small) and use the PALL option.

The RMPrepUSB PDF file (press F1 and then OK to view it) has a more detailed explanation of the steps above and includes screenshots too.

How to boot to an Operating System

RMPartUSB only partitions and formats the drive. You must copy over the boot files to make a bootable disk. RMPrepUSB can copy these boot files to the USB drive if you use the COPY FILES folder and tick the Copy check box.

Hint: If the boot files are present but your PC is not booting correctly - check your BIOS menu options! Some BIOSes have an option to boot a USB drive as a ‘Fixed Disk’ or a ‘Removable Disk’. Try different BIOS settings if you are having difficulty getting your USB drive to boot!

Here are some quick tips on what boot files you may need to boot different Operating Systems:

Required extra boot files

MS-DOS requires IO.SYS (or MSDOS.SYS depending on the version used) and COMMAND.COM in order to boot. You must obtain these files from somewhere (e.g. a DOS floppy boot diskette?). Simply copy these files onto the USB drive after you have formatted it using the MS-DOS option, by using the COPY FILES option to point to where you keep these MS-DOS boot files and tick the Copy checkbox.

FreeDOS requires the files KERNEL.SYS and COMMAND.COM (which may be renamed in some versions) in order to boot. The latest version of RMPrepUSB includes the few essential boot files in a FreeDos folder, so simply use the COPY FILES option and select the FreeDOS option in RMPrepUSB.

WinPE v1 and XP require many files to boot, but the first file is NTLDR. If you want to boot to BartPE, see Q24 below.

WinPE v2 and v3 and Vista and Windows 7 require many files to boot, but the first file is BOOTMGR. For instance, just copy all files from a Vista or Windows 7 bootable DVD to the USB drive after formatting using the WinPEv2 (bootmgr) option in RMPrepUSB.

SysLinux when booting will first look for the files LDLINUX.SYS and a SYSLINUX.CFG file. Many other files will also be required. If you are using isolinux, use the Install SysLinux RMPrepUSB option and then after the files have been copied over, rename isolinux.cfg to syslinux.cfg

Grub4dos when booting will first look for the file GRLDR. RMPrepUSB will ask you if you want it to copy this file after it has installed the boot code. After that it will look for a \menu.lst file. Note that the version of grubinst.exe is not the normal v1.1 version, it is a ‘homebrew’ version (I have called v1.2) which has been specially modified to work on more systems/BIOSes than the old 1.1 version. The grldr file is recent ‘chenall/tinybit’ version but you can change it for any version you like by overwriting the file.

If you want to use a different version of syslinux or grub4dos, place your own versions of syslinux.exe, (grubinst.exe) and grldr into the same folder as RMPrepUSB and overwrite the ones provided.

Explanation of the Override options

The most complex part of RMPrepUSB is in selecting which overrides (if any) to use. The reason that there are so many choices is that different BIOSes behave in different ways. A USB Flash Drive (UFD) that is formatted normally and contains MS-DOS boot files may boot as an A: drive on one system, but boot as a C: drive on another system. If you change the BIOS Setup menu options on the same system, it might then boot as an A: drive. On yet a third system, the same USB flash drive might not boot at all!

In addition, some BIOSes will not boot from a UFD at all if the physical drive size is greater than 512MB – or – some BIOSes may not boot from a UFD if the volume size is over (say) 1.3GB.

If you wish to boot from a UFD or USB hard drive, you may need to experiment with the settings below. You may find that one group of settings will work for one system and a different group of settings will work for another system. If using UFDs, always try a 512MB USB flash drive first before you move on to larger UFDs – some older BIOSes will only work with small UFDs.

Boot as FDD (A: no MBR)

This option will format the drive with the chosen filesystem format option (FAT16\FAT32\NTFS) - the USB drive will have no partition table just like a floppy disk. The first sector of the USB drive will typically contain the operating system boot code. This option is usually used for an MS-DOS or FreeDOS drive that you wish to boot as a large floppy drive (i.e. they will boot to the A: prompt).

You can also select the 64hd/32sec option (recommended). If you de-select this option then the volume boot record will use 255 heads and 63 sectors per track.

Note: If you need to boot as drive A:, grub4dos can be used to map the UFD always as drive A: even if the BIOS tries to boot it as a hard disk. See FAQ 35.

Boot as ZIP (A: with MBR)

This option creates a Master Boot Record and partition table in the first sector of the drive. The Volume Boot Record code that is written to the drive will be suitable for booting MS-DOS or FreeDOS as a floppy drive. In addition, a drive geometry of 64hd\32sectors will be used (if possible).

If you wish to boot the USB drive as a hard drive then untick this option or tick the 64hd\32sec option.

‘Force use of LBA calls’ can be used with this override, but ticking the 64hd/32sec override will de-select the ZIP option, as the ZIP option will add the 64hd\32sec override.

Note: Some ZIP drive specifications define the first three entries in the partition table as unused and the fourth partition table entry is used, however this partition arrangement is not recognised by Windows and such a partition cannot be accessed by Windows Explorer. Only the first partition of a removable drive can be accessed by Windows OS’s (unless a special driver is installed).

Boot as HDD (C: 2PTNS) - Recommended to try first!

This option simply adds a second, small hidden partition entry to the partition table. Some BIOSes will treat a USB drive as a hard disk if it sees more than one partition table, because the ‘specification’ of a ZIP drive (super-floppy) is that it must only have one partition (thanks to ‘online’ of for this discovery). If you want to boot a system from a USB drive as a hard disk, set this option and untick the ZIP option. You can try either the ‘Force LBA’ override or the 64hd\32sec override with this option.

Note: If you want to boot a USB drive as a hard disk and this option does not appear to work, try re-partitioning again but leave all the USB-FDD, USB-ZIP and USB-HDD options unticked.

Forcing the use of LBA calls (only use if boot problems)

This option sets the end Cylinder/Head/Sector values in the partition table to their maximum value of 1023 (3FEh) cylinders, 255 heads (FEh) and 63 sectors – even if the partition size is under 8GB. If BIOSes read a drive partition table and see that the CHS value is the maximum, then the BIOS may use a sector translation of 255 heads and 63 sectors per track. In addition, partition and volume boot record boot code will use LBA Extended Int 13h BIOS calls if it determines that the CHS values are set to the maximum. This also may help to successfully boot an operating system from a USB drive.

This option cannot be used with the 64hd\32sec option as they are mutually exclusive.

Use 64hd/32sec if possible

Instead of creating a partition table using the default drive geometry of 255 heads and 63 sectors per track, this option will use 64 heads and 32 sectors per track which is the most compatible setting for USB-ZIP (large-floppy) booting. If the partition is too large to use 64\32 geometry, then 128\32 will be used instead and then 255/32 and then 255/63. This option is recommended for ZIP (large floppy) booting and FAT16.

BartPE to USB tick box

This tick box should be used if you want to boot an XP/WinPE v1 based OS such as BartPE from a USB drive. It can be used to prepare PeBuilder BartPE files or other XP-based boot CD files such as those used on Asus EeePC XP Recovery DVDs. You can only tick this box if you have selected the XP booot option and have also ticked the COPY OS FILES tick box.

Function: After RMPrepUSB has partioned and formatted the USB drive, it will copy over the files in the COPY OS FILES folder and then run the RMPrepUSBXP.cmd script file (or the rmprepusbxp_german.cmd file if the german language is selected). This script performs a similar task to petousb.cmd, on the USB drive only it...
1. Copies \i386\setupldr.bin to \NTLDR
3. Renames the \i386 folder on the USB drive to \MININT
4. Copies all files and folders in the RMPrepUSB folder PEtoUSB from your hard disk to the root of the USB drive (this folder is normally empty unless you copy extra files to it first).

A typical usage would be to use PeBuilder and set the Builder source to your XP SP2 or SP3 install CD and the Builder output to BartPE and the Media Output to None and then press the Build button. After the build has finished, copy any extra files you want to add to the USB drive (e.g. portable apps) to the PEtoUSB folder which is in the RMPrepUSB folder on your hard disk (optional) and then use RMPrepUSB and set the COPY OS FILES folder to the BartPEISO folder path (e.g. C:\pebuilder3110a\BartPE) and tick the XP, NTFS and BartPE options. This should make a BartPE bootable USB drive.

For a tutorial on how to create an Asus EeePC bootable flash memory drive see

Using RMPrepUSB on a non-USB disk

To partition and format a non-USB drive, you must run RMPrepUSB using the command line ‘RMPrepUSB ALLDRIVES’ which must run with Administrator privileges. RMPrepUSB will then list all drives rather than just the USB drives. You could save your hard disk MBR using USB->File in this way. WARNING: Do not accidentally wipe the wrong hard disk! You can also create a Windows Shortcut for this and specify ALLDRIVES as a parameter (but take care!).

Recommended settings

FreeDOS and MS-DOS boot as A:

Size=500 64hd\32sec FAT16

Size=500 64hd\32sec FAT16

If either of these work, try using MAX size and/or FAT32

Ensure BIOS boot option for USB is set to ‘Removable Drive’ and not ‘Fixed Disk’

BartPE, WinPEv2\v3, FreeDOS and MSDOS boot as C:

Size=500 FAT16

Size=MAX FAT32

Ensure BIOS boot option for USB is set to ‘Fixed Disk’ and not ‘Removable Drive’

Try also various combinations of these options. Note that one setting may work for one computer but not for a different computer! Try adding the ForceLBA option if you have difficulty booting.

Testing your BIOS (experts only – not in the ‘Lite’ version)

Some special MBR files are provided in the TESTMBR folder. These allow you to test how your BIOS ‘sees’ a USB drive when you change various options in RMPrepUSB. Please read the ReadMe.txt file in the TESTMBR folder for more details. There is also a tutorial on the RMPrepUSB website about this test code. You can also use the grub4dos boot loader shell to investigate how the UFD boots (e.g. type FIND to list all storage devices that grub4dos can see).

Tip for UFD booting as a hard drive:

Most UFDs identify themselves as 'Removable devices' but if you want to boot an OS directly from them it is often better if they pretended to be a hard drive. If you have a Lexar or Netac USB Flash drive, obtain the utility BootIt.exe (try a Google search). This utility has a ‘Flip Removable Bit’ button – click on this and then unplug the UFD, then plug it in again – if it has worked, your UFD will now always report itself as a ‘Fixed Disk’ rather than ‘Removable Media’. The utility only works with certain types of UFD controller chips. Many BIOSes will always boot a drive as C: (hard disk) if the device identifies itself as a ‘Fixed Disk’ rather than ‘Removable Media’. You can also create and access multiple partitions on the USB Fixed drives under Windows, rather than just the one partition allowed for 'Removable drives'.

Booting linux

To boot a linux system, use the SYSLINUX option in RMPrepUSB. This will format the UFD as a FAT16 or FAT32 MSDOS volume and then (after copying files if you tick the file copy option) will run syslinux.exe on the new UFD volume. The Windows version of syslinux.exe must be in the same folder as RMPrepUSB.exe.

Syslinux.exe will install syslinux boot code into the volume specified and place the file ldlinux.sys on the UFD. Do not delete, overwrite or move this file once syslinux has placed it on the UFD or the UFD may not boot – it must remain at the same sector position on the UFD. If you already use syslinux.exe, replace the version in the RMPrepUSB folder with your version to avoid compatibility issues.

When the UFD boots, it will load ldlinux.sys and look for a syslinux.cfg file, which can contain a menu and details of which kernel to load. If you have an isolinux.cfg file, you need to rename this to syslinux.cfg. More information can be found on the internet about syslinux.

If the UFD fails to boot after a while, either re-format the UFD using RMPrepUSB again or run syslinux.exe from the Windows command line (cmd) – e.g.

syslinux –fma F: (where F: is the volume letter of the UFD)

WARNING: take care not to specify your hard disk drive letter or your hard disk will not boot to Windows!

If you have a linux version that supports a persistent mode, you can use the Create ext2 FS button to create an ext2 filesystem as a file on the USB drive. Typically, for Ubuntu based versions it will be named casper-rw, be in the root and have a size of at least 1GB.

Installing the Grub bootloader

The ‘Install grub4dos’ button will run grubinst on the selected USB drive and then ask the user if they wish to also copy the grldr file. The USB drive should be already partitioned and formatted before you click this button. If the grub MBR does not seem to be written to the USB drive (because it does not seem to load grub but boots to DOS) then try the Eject button before you click on the ‘Install grub4dos’ button (but you will have to copy over the grldr file manually after re-inserting the USB drive).
Note: RMPrepUSB will not allow you to run grubinst on physical drive 0 for safety reasons to prevent you from making your Windows hard disk unbootable.
You will also need a menu.lst file.

You will be given the choice of installing grub4dos as an MBR or a PBR. MBR will usually work for most systems, but if you have problems (e.g. flashing cursor) try PBR instead.

A guide on how to use grub4dos is here or there is also a tutorial here.

To test the USB drive and your grub4dos menu, press F11 to run the QEMUemulator.

Explanation of how BIOSes boot from a USB device

Most BIOSes require the user to enable USB booting and set the boot order so that a USB device will boot before the internal hard disk (although some BIOSes have an F10, [ESC] or F12 key function which will allow you to choose a boot device from a BBS menu). In addition you can often set the USB speed to USB 1.1 speeds (Hi speed) or USB 2.0 speeds (Full speed). If you are having difficulty booting from a USB drive, it is recommended to use a rear USB port, set the BIOS to USB 1.1 speeds and change the boot order so that the USB drive is first in the boot menu.

Before you enter the BIOS menu, switch off the system, insert the USB drive and then switch on the system – then press the F1 or F2 or Esc or DEL key (depending on your particular system) to enter the BIOS Setup menu. Note: it is highly recommended that you always switch on the system with the UFD already connected; some BIOSes do not list the UFD or provide menu options unless the UFD is already inserted. In addition, some BIOSes only determine the type of UFD that is connected on the first cold boot, so if you re-format the UFD using a different RMPrepUSB option and then re-connect it to the target system, it will not treat the UFD as a different device type (e.g. USB-ZIP instead of USB-HDD) unless you first switch off the target system and then switch it on again.

All BIOSes behave differently, however disk storage devices are always accessed via Interrupt 13h calls to the BIOS. There are two types of ways to access a disk device via the BIOS – ‘floppy’ or ‘hard disk’ read or writes. The BIOS must determine whether to allow access to the USB drive that it detects as either a ‘floppy’ (which is accessed with Int 13h DL=00h, or 01h for the 2nd floppy drive, etc.) or a ‘hard disk’ (which is accessed with Int 13h DL=80h, or 81h for the 2nd drive, etc.). The BIOS has to determine which of these two access methods (DL=0 or DL=80h) to ‘map’ the USB drive to.

Once a BIOS determines how to map the USB device (either as a floppy device or a hard disk device), it will read the first sector from the USB device (512 bytes) into memory at address 07C0:0000h and then jump to that code. The last two bytes of the sector must end in the two bytes ‘55h’ and ‘AAh’ or it is not considered to be valid boot code. When the CPU starts to execute the code that has just been copied into memory at 07C0:0000h, the BIOS has also pre-set the DL CPU register to the correct device number (usually either 00h or 80h). The boot code can use this value in DL to load more sectors into memory from the same USB device.

There are two types of USB drives – Fixed or Removable. The type is reported by the USB controller when interogated by the BIOS.

There are three ‘types’ of USB drive formats and the BIOS must try to determine which of the three different ways to access the USB drive:

  • USB-FDD (floppy disk device)

The BIOS maps the device to ‘floppy’ Int 13h DL=0. A USB device may be detected as a USB-FDD device if it has a device name similar to ‘TEAC floppy drive’ and a capacity of 1.44MB, or possibly if it has no valid partition table. The device does not need to be formatted as 1.44MB, you can have a 1GB FAT16 UFD with no MBR.

  • USB-HDD (hard disk device)

A BIOS maps the device to ‘hard disk’ Int 13h DL=80h. A USB device may be treated as a USB-HDD device by the BIOS if it has a partition table and has more than one partition entry in that partition table. If only one entry exists the BIOS could treat the device as a USB-ZIP drive or a USB-HDD drive. Sometimes a BIOS menu setting can be changed to alter this behaviour. If the USB hardware device type is reported as a ‘Fixed Disk’ type by the USB device controller chip, then most BIOSes will always treat that USB device as a hard disk and use DL=80h.

  • USB-ZIP (pseudo-super-floppy)

A BIOS maps the device to ‘floppy’ Int 13h DL=0. A USB device may be detected as a USB-ZIP device if the drive has a partition table containing only one entry. The BIOS may also require the device to be under a certain size (e.g. 512MB or less) or have values in the partition table of 64hds\32secs.

In addition, when a BIOS boots from a device as a USB-ZIP device it does NOT load the first sector MBR code (LBA 0) into memory – instead the BIOS loads the Volume Boot Record code directly into memory and jumps to it by reading the single entry in the partition table to find the start position of the partition (a USB-ZIP drive can thus only contain one partition entry). The BIOS then maps the USB drive to the Int 13h DL=0 call BUT it will always adds the partition start address to any access. Thus a BIOS Int 13h DL=0 call to read cylinder 0, head 0 sector 1 (LBA 0) will actually read the first sector of the partition. The real sector 1 (LBA address 0) cannot be accessed at all. For instance, say the USB-ZIP drive has a partition table with a single entry. The partition table entry indicates that the partition starts at sector 32, then the BIOS would load sector 32 into memory and start to execute the code there. Any attempt to read a sector at CHS 0\0\1 (LBA 0) via a floppy Int 13h DL=0 call (or Extended Int 13h call) from that point onwards, will actually read sector 32. If the boot code attempts to read CHS 0\1\1 (LBA 32) it will actually read the sector located at CHS 0\2\1 (LBA 64) as the BIOS will always add the partition start address on to any access. In this way, the boot code located at the start of the partition is identical to that found on a floppy disk which has no MBR or partition table.

Some BIOSes do not support this type of booting and may always boot a USB-ZIP device as a hard disk (i.e. map the USB device to respond to Int 13h DL=80h calls) if they see a valid partition table and MBR. The difference between a USB-ZIP device and a USB-HDD device is very small, both have a master boot record and a valid partition table, however a USB-ZIP device should contain partition boot code that expects to be booting from a ‘floppy drive’ (DL=0) whereas a USB-HDD device should contain partition boot code that expects to be booting from a ‘hard disk drive’ (DL=80h). Many modern BIOSes contain a special menu option to change this behavior.

About Fake USB Flash memory pen drives

There is a large worldwide problem with ‘fake’ or counterfeit USB flash memory drives being sold via web auction sites and markets, etc. These USB drives often contain faulty memory chips and appear to be larger than they really are. For instance, a ‘fake’ USB drive may be sold as being 16GB and the size reported by Windows may indeed be approx. 16GB, however it may be made with only 2GB of flash memory and the memory chips themselves may be faulty. As you use it, you may not see a problem until you fill it with more than 2GB of files. Then you may lose all of you previous files and the drive may become ‘unformatted’ and totally corrupt.

If you suspect you have one of these USB drives (or even if you don’t!) run the Quick Test function in RMPrepUSB or use the program H2TESTW.exe (English and German languages are available in H2TESTW). Here is a quick summary of these two utilities:

RMPrepUSB - QuickTest – Very quick but destroys all data on the USB drive. It is not a thorough test and will not detect the odd bad block or corrupt memory cell. Recommended for checking if you have a fake ‘undersized’ UFD and is very quick.

H2TESTW – Non-destructive (fills the USB pen with large files which can be deleted by you afterwards). Very slow!!!! Tests every byte except for areas that are ‘filled’ with the files that are already on it (so best to format it before testing so that it is empty).

There are also other utilities available such as the Russian Check Flash (chkflsh). Download and run the file English.bat for the English version of this very useful program.

Frequently Asked Questions

Q1 – What happens if I don’t tick any of the Override options?

A1 – A partition table will be created using a drive geometry of 255 heads and 63 sectors per track. Only one partition table entry will be made. The volume boot record will be created with hard disk compatible parameters.

Q2 – What code is used for the Master Boot Record (MBR) ?

A2 – The code used is identical to that used by Vista. It includes BitLocker support so that if you install Vista or Windows 7 onto a USB hard disk and then enable BitLocker, it should (!!!) work. The MBR will boot both ‘floppy’ USB drives and ‘hard disk’ USB drives.

Q3 – What boot code is used for the Volume Boot Record?

A3 – The VBR code will vary depending on what filesystem and format options you have selected, as follows:

FAT16 + MSDOS – MSDOS5.0 identifier, looks for IO.SYS, MSDOS.SYS (or WINBOOT.SYS). Possible Error Messages: Error!

FAT16 + MSDOS + ZIP – MSWIN4.1 identifier, with floppy disk paramters, looks for IO.SYS, MSDOS.SYS (or WINBOOT.SYS). Possible Error Messages: Invalid system disk, Disk I/O error, Replace the disk, and then press any key.

FAT16 + FreeDOS – FRDOS4.1 which boots KERNEL.SYS (if ZIP option used then floppy disk parameters are used) – Possible Error Messages: Error

FAT16 + BOOTMGR – uses MSDOS5.0 identifier and boot code and hard disk parameters. Possible Error Messages: Remove disks or other media, Disk error, Press any key to restart.

FAT16 + NTLDR – uses MSDOS5.0 identifier and boot code with hard disk parameters. Possible Error Messages: NTLDR is missing, Disk error, Press any key to restart.

FAT32 + MSDOS – MSWIN4.1 identifier and boot code which looks for IO.SYS and MSDOS.SYS (or WINBOOT.SYS). If ZIP option is used then uses floppy disk parameters. Possible Error Messages: Invalid system disk, Disk I/O error, Replace the disk and then press any key

FAT32 + FreeDOS – FREEDOS which boots KERNEL.SYS. If ZIP option is used then uses floppy disk parameters. Possible Error Messages: Loading FreeDOS, No KERNEL.SYS

FAT32 + NTLDR – uses MSDOS5.0 identifier and boot code and hard disk parameters. Includes 4 byte PATCH at E6-E9 changed to 90h (NOP). Possible Error Messages: Remove disks or other media, Disk error, Press any key to restart.

FAT32 + BOOTMGR – MSDOS5.0 identifier. Possible Error Messages: BOOTMGR is missing, Disk error, Press any key to restart

NTFS + BOOTMGR – Vista NTFS boot code. Possible Error Messages: A disk read error occurred, BOOTMGR is missing, BOOTMGR is compressed, Press Ctrl+Alt+Del to restart

NTFS + NTLDR – XP boot code with 4 byte PATCH at D9-DCh changed to 90h (NOP). Possible Error Messages: A disk read error occurred, NTLDR is missing, NTLDR is compressed, Press Ctrl+Alt+Del to restart.

Q4 – How do I copy a Vista or Win7 OS install DVD onto a UFD and make it bootable?

A4 – Select the BOOTMGR option + HDD (2PTNs). Browse to the OS DVD and set the DVD drive letter as the file copy path. Tick the ‘Copy’ checkbox. Click Prepare Drive.

See for a tutorial.

Q5 – How do I copy an XP OS install CD onto a UFD and make it bootable?

A5 – There is no simple way to do this and make it bootable. Please visit for more information. If you wish to install XP onto the hard disk of a PC by booting from a UFD, you can use WinSetupFromUSB (which has a version of RMPrepUSB built in).

If instead, you want to boot directly from a UFD – try BartPE. Use PE-Builder to create a BartPE folder (by taking files from an XP installation CD) and then select the BartPE output folder in RMPrepUSB and tick the COPY FILES box and the ‘PE to USB’ box. Also checkout my UBCD4Win tutorial!

Q6 – Why does my bootable BartPE\WinPE v2 (Vista) UFD boot on one system but not on another?

A6 – These operating systems expect be present on a ‘hard disk’ type of device which is accessed via Int 13h DL=80h. The BIOS that does not boot successfully is probably treating the UFD as a USB-FDD or USB-ZIP device and thus ‘mapping’ the UFD to Int13h DL=00h and treating the device as a floppy device. It may be possible to change a setting in the BIOS setup menu (e.g. Emulate USB device as ‘Fixed Disk’) so that the UFD is treated as a hard disk. You should also try setting the HDD (2PTNs) option and the ForceLBA option. Also try changing the filesystem (e.g. use NTFS instead of FAT16). Some BIOSes will treat UFDs below a certain physical size (not partition size) as a USB-ZIP device, so try a 4GB or larger UFD. Also, try copying the boot files to the drive before the rest of the files. The best way to do this is to create a separate folder containing just the boot files (e.g. ntldr,, boot.ini for XP, or IO.SYS, MSDOS.SYS and COMMAND.COM for MS-DOS or KERNEL.SYS for FreeDOS). Also try with and without the 2PTNS option as some BIOSes work well with this option but others will not boot at all!

If you are using MS-DOS or FreeDOS, you can install grub4dos and construct a menu.lst file that maps (hd0) to (fd0) or vice versa. This allows you to boot to DOS as A: or C: by mapping one device to another. However this trick does not work for other operating systems that load their own disk drivers.

IMPORTANT! After re-formatting a UFD, always switch off the target system, insert the UFD and then switch on the target system. Do NOT just use Ctrl-Alt-Del on the target system as some systems do not re-detect the type of UFD on a warm reset.

Q7 – Why does my MS-DOS bootable UFD boot as drive C: on some systems?

A7 – This will be due to the BIOS mapping the UFD as a hard drive (accessible via Int 13h DL=80h) rather than as a floppy device. Try the Boot as FDD and Boot as ZIP override options.

Q8 – My PC seems to treat UFDs as a floppy device, how can I boot to WinPE v2?

A8 – There are ways to work around this. First try a larger UFD and use the Boot as HDD option. Please visit for other solutions. A typical way is to use Grub or Grub4DOS as a 2nd stage boot loader which in turn will load the operating system. For instance, you can boot to a WinPE v2 iso file using Grub4DOS if your BIOS does not support USB-HDD booting.

Q9 – Where can I ask a question about RMPrepUSB or ask for help?

A9 – (now – post specific questions about RMPrepUSB in the Project Forge – USB formatting utilities – RMPrepUSB topic, for other questions choose the most appropriate forum and start a new topic.

Q10 – Can I re-distribute RMPrepUSB or use it as part of a commercial soultion?

A10 – You can, but only with the permission of the author or RM Education plc (UK). This is because although RMPrepUSB and RMPartUSB are Freeware and made freely available for private use, it must not be used for commercial purposes or sold without permission. Any re-distribution must make this clear and contain some sort of ReadMe file or other notice containing this information as well as this pdf file. Commercial enquiries should be directed to, all other enquiries to the RMPrepUSB topic at RMPrepUSB and RMPartUSB are the intellectual property of RM Education plc ( RM may ask you to remove the software or take legal action against you if these utilities are used for commercial purposes (i.e. if you are selling it) without permission having first been obtained (and after all, it’s only polite J ).

Q11 – Does RMPrepUSB/RMPartUSB work under WinPE v2/v3?

A11 – Yes as long as MSVBVM60.DLL is present in the same folder! If no USB drives are listed then copy this file from the WINPE_EXTRA folder to the same folder that RMPrepUSB.exe is located in.

Most functions will work except perhaps the folder browse button in RMPrepUSB – you may need to type the folder path in manually. You may need to add the WMI and scripting and XML components.

Q12 – How can I use RMPrepUSB in my script/batch files?

A12 – You cannot, but you can use RMPartUSB. Type ‘RMPartUSB’ in a Windows command console window for help. RMPartUSB uses a command line and returns an errorlevel after completion. You can also use the LIST, GETDRV and FIND commands to find the drive number of a USB device. Tip: RMPrepUSB shows the exact command line that it uses to run RMPartUSB. For instance, you can use RMPartUSB in a cmd script to detect the presence of UFDs, their drive letters and partition and format them.

Q13 – Sometimes after running RMPartUSB, it returns a large negative error number – why?

A13 – This has been observed to occur when using Windows 2000 or when terminating the RMPartUSB command console window before RMPartUSB has itself terminated. For instance, if you click the USBInfo button in RMPrepUSB and then terminate the shell windows that is displayed by RMPartUSB, RMPrepUSB may report this error message. The reason is unknown.

Q14 – I used RMPrepUSB to format my UFD and make it bootable but there are no files on it and it won’t boot?

A14 – RMPrepUSB does not contain or copy any boot files unless you provide them. Microsoft boot files are part of the operating system and cannot be distributed. You can obtain them if you are licensed to do so from CDs or DVDs or other sources, or use Freeware like FreeDOS.

Q15 – I have set the USB partition size text box to 500 MB, how do I set it back to the maximum size?

A15 – Type ‘MAX’ in the Size text box or click on the Refresh button.

Q16 – RMPrepUSB reports an error when it runs but I know the UFD is good – why?

A16 – Under Vista or Windows 7 you must right-click on RMPrepUSB.exe and choose ‘Run as Administrator’. Later versions contain manifest files so this should not be necessary and you should be prompted for permission to let RMPrepUSB run with Administrator privileges.

Q17 – The Prepare Drive button does not seem to work under Vista – nothing happens?

A17 – Try creating a folder at C:\RMPrepUSB – do not use a folder in special locations like the Desktop or My Documents as these may have special limited access rights under Vista/Win7.

Q18 – I used RMPrepUSB/RMPartUSB and now something is wrong with my USB pen and I can’t seem to access it.

A18 – Try the CLEAN and QUICKTEST option. If it tests OK, try to re-format it to a smaller size (e.g. 512MB). If that looks OK try a larger or maximum size. Use FAT16 or FAT32 (but not NTFS). Partition the USB pen to maximum size and then use H2TESTW to check the USB drive has no errors. If all else fails, try a different USB format utility.

Q19 – What does the QUICK SIZE TEST function do?

A19 – Quicktest will check a UFD for duplicate or bad ‘pages’. It writes to some sectors on the UFD and then reads them back to see if the information is correct. For example, it would write 0 to Sector 0 (first 8 bytes), then 2048 to the first 8 bytes at the 1Mb point (sector 2048), then 4096 to the first 8 bytes at sector 4096 (2Mb point), etc. – and then reads back the ‘marker’ values in each of the sectors. This is useful as a quick test of a UFD. If it passes this test then you should use H2TESTW to run a thorough test of all bytes. QuickTest is designed to quickly check a UFD to see if it contains the correct amount of memory chips. If a UFD fails QuickTest then there is no need to wait hours for it to be tested using H2TESTW or ChkFlsh as you know it will fail. QuickTest will also report the maximum usable size of memory in the UFD so you can reformat it to the correct size.

Q20 – I ran QUICKTEST and it failed – what can I do to fix my UFD?

A20 – First you should realize that even if you manage to ‘fix’ the UFD it will be very unreliable and may fail (or corrupt the file contents on it) at any time. For instance, you could copy the latest draft of your new blockbuster novel to it, then copy it over the top of your master file on your hard disk. Then later you may find out that you have a corrupted file on your USB drive and have overwritten the original on your hard drive with the bad version L – you have been warned!

One way to ‘fix’ it is to partition the UFD to a lower volume size. RMPrepUSB or H2TESTW will usually give you a clue as to what the maximum usable size might be. When you have decided on a size, proceed as follows (e.g. you have a 4GB pen but think only 1GB is usable).

1. Use RMPrepUSB to partition and format the UFD – use FAT32 or FAT16 rather than NTFS as accessing an NTFS filesystem that has errors or bad blocks can ‘upset’ Windows and lead to hangs/crashes. Set the size of the partition as required. Start low – e.g. 800MiB.

2. Run H2TESTW to test the new volume.

3. If the test passes, increase the size in step 1 – e.g. 900MiB and repeat steps 1 and 2 until H2TESTW fails.

Q21 – I started to use QUICKTEST and H2TESTW and at first I just got a few errors reported from my 4GiB UFD, but now I get write errors and the system seems to hang for ages during testing.

A21 – This is a typical symptom of cheap or ‘fake’ UFDs that have been constructed from faulty memory. The memory may be multiply mapped (e.g. 1GB mapped 4 times so it appears as 4GB) and the controller bad block management probably has not been set up properly. Error correction may not even be working correctly and the memory has probably not even been tested thoroughly by the UFD manufacturer. Everything may appear to be OK as long as you don’t use more than 1GB of the UFD, after that files will begin to get corrupted. In addition, more memory ‘pages’ may fail due to the stress of testing (or normal use) over time. If a UFD sector write fails, the PC can hang/freeze for many minutes on each sector write operation – be patient or pull out the UFD to make it fail quickly.

A UFD from a reliable make and source (Netac, Kingston, Lexar, etc.) can be tested many times without any problem.

Q22 – I have tested my UFD with RMPrepUSB and H2TESTW and it is fine, but after a week or so I get corrupt files or Windows wants me to reformat it and thinks it is faulty. If I re-format it then all is well until a few days later – is the UFD faulty?

A22 – Are you using the Windows SystemTray ‘Safely Remove Hardware’ icon and ‘ejecting’ the UFD before pulling it out of the USB port? When Windows sees a FAT filesystem, it loads the FAT tables into system memory. Any changes made to the files on the UFD will also cause the FAT tables in Windows memory to be updated – BUT NOT ALWAYS THE FAT TABLES ON THE UFD ITSELF! So if you simply pull out the UFD, the FAT tables on it will not have been updated. By using the ‘Safely Remove Hardware’ feature, you cause Windows to write all the new FAT table changes to the UFD. This is particularly important if your UFD appears as a ‘Fixed Disk’ to Windows and not as a ‘Removable Disk’. You can check to see if caching is used by right-clicking on the UFD drive in Windows Explorer and choosing Properties – Hardware – Properties – Policies. Even if it is set to ‘Quick Removal’ on your PC, you should always use the ‘Safely Remove Hardware’ icon on other PCs - so get into the habit and always do it!

If your UFD is formatted with NTFS, again always use the ‘Safely Remove Hardware’ icon before pulling out the UFD. The danger is that Windows can write or read to the UFD at any time, and pulling out the UFD at exactly the same time can lead to data corruption.

If you are still having problems, try the UFDs which have ‘Ultra Stable Technology’ (e.g. Netac) or similar. These UFDs employ a buffering scheme which prevents corruption due to power loss when a UFD is pulled out during write operations.

Q23 – I am having trouble getting some systems to boot. A USB flash memory pen works on one system but not on another. Some pens work on one system, but a different pen with an identical image does not work on the same system! What is going on?

A23 – This is a typical problem and it all comes down to the BIOS. Read the explanation above about how BIOSes boot USB devices. Here are some issues that have been observed with some BIOSes:

  1. The BIOS will not attempt to boot any USB device over 512MB – the USB pen LED will not even flash during system POST as no read request is ever made!
  2. The BIOS will not attempt to boot any USB device over 1GB.
  3. The BIOS will treat any USB device under xxx MB as a USB-ZIP device, and any device over xxx MB as a USB-HDD
  4. The BIOS will treat any USB device as a USB-ZIP and always boot it as a floppy device
  5. The BIOS will treat any USB device as a USB-HDD and always boot it as a hard disk device
  6. The BIOS will boot a USB-FDD formatted device that has no MBR or partition table, but will not boot a USB-ZIP or USB-HDD device
  7. The BIOS will boot any device with only a single partition table entry in the MBR as a floppy device, but will boot a device that has two partition table entries as a USB-HDD device
  8. The BIOS setup menu can be use to make the BIOS always treat a USB device as a ‘Removable’ device (USB-ZIP) or a ‘Fixed Disk’ device (USB-HDD) depending on user choice.
  9. The BIOS looks at the Volume Boot record to determine type of device (e.g. if it sees MSWIN4.1 then it treats the device as a USB-ZIP device).
  10. Partition parameters – if the partition has 32hds and 16 sectors per track then treat it as a USB-ZIP, if 63 sectors then treat it as a hard disk.
  11. If the end cylinder is 1023 (max) then treat it as a hard disk.
  12. You format the same USB pen using RMPrepUSB and used the same files (you even make an image and re-used that so you KNOW the USB pen contents are identical), but it seems to sometimes work and sometimes not on the same PC – it is as if it has good and bad days!

A BIOS can be made to boot the same device in different ways – e.g. USB-FDD, USB-KEY, USB-ZIP, USB-HDD – try each in turn and try different ways of formatting with RMPrepUSB.

Be methodical in your testing! There are 5 variables to consider FOR EACH TYPE OF PC as below:

1. BIOS MENU settings

2. Physical size of USB device

3. MBR on USB device (there is no MBR on a USB-FDD device or there is an MBR and partition table on USB-ZIP and USB-HDD devices)

4. Filesystem the volume is formatted with (NTFS, FAT32 or FAT16)

5. Code in VBR (i.e. if the code expects to access a floppy drive or a hard disk)

The last three (3-5) are determined by settings in RMPrepUSB, the first two must be changed by the user. I suggest using a 512MB USB pen and a 2GB USB pen for all testing and make sure they have activity LEDs so you can see if the BIOS is reading them. Also use FreeDos for all initial testing because FreeDos can usually boot to either a ‘floppy’ device or a ‘hard disk’ device without error (unlike some versions of MSDOS). Try different BIOS and RMPrepUSB options and write down all results (all error messages – see Q3 above, and if boots as A: or C:).

PC Model and BIOS version (use latest version if possible!)

USB pen make, model, size

RMPrepUSB options used

BIOS settings used

Files added
Result (did the LED flash, any BIOS messages, any boot messages, A: or C:, etc.)

WARNING: In between each test, always switch off the system under test each time, then switch it on, then go into the BIOS and check the settings and that the USB pen is listed correctly. If you do not cold boot or reset, the BIOS may ‘remember’ the type of USB drive that was fitted previously even though you have just re-partitioned the USB drive and changed its format and boot type using another computer! Many computers do not need to be switched off and on again, but some do – if your computer is one that does require to be switched off and on again and you do not do this, you can spend many frustrating hours trying to work out what is going on! WARNING: A lot of BIOSes will remove your (previously added) USB drive from the BIOS drive boot order menu list if you remove the USB pen before you switch it on again. So always check BIOS boot order every time! Remember, just because one type of system works with one particular USB pen drive, it does not mean that other systems will! Have fun and don’t pull all your hair out!

Q24 - How can I make a bootable USB pen drive with BartPE on it?

A24 - Simples!

  1. Obtain an XP installation CD
  2. Download PE-Builder (e.g. v3110a)
  3. Copy the contents of the XP CD to say C:\XPCD
  4. Run PE-Builder.exe and select the source folder C:\XPCD
  5. Check the Output folder is set to BartPE and Media Output set to None
  6. Click Build
  7. When finished run RMPrepUSB
  8. Set the options as shown below (use FAT16, FAT32 or NTFS – XP, Boot as HDD). Check that setting 5 has both Copy Files and BartPEàUSB set.
  9. Click 6 Prepare Drive
  10. When finished, click Eject Drive
  11. Job done!

See also my website for an UBCD4Win tutorial.

Q25 - I want to copy my own extra files to my BartPE USB drive. Can I do this automatically?

A25 - Yes. When you tick the ‘BartPE to USB’ box, after the File Copy, RMPrepUSB calls the batch file RMPrepUSBXP.cmd. This batch file tweaks the files on the USB drive to make them bootable and also copies all files in the PEtoUSB folder over to the USB drive. So simply add your files to the PEtoUSB folder which is located in the same folder as RMPrepUSB. Alternatively, edit the batch file RMPrepUSBXP.cmd which is in the same folder as RMPrepUSB, to copy your own folder over. E.g.
xcopy /herky C:\myPEextras\*.* %pen%\*.*

Q26 – I want to boot XP/WinPE v1 (not BartPE) – the ‘BartPE to USB’ function doesn’t seem to work with my version?

A26 - You must look on the internet (Boot-Land) to find out how to prepare the source files correctly and how to convert the files so they will boot from a USB drive. Once you know how to alter the boot files, you can automate this by using Notepad to edit the file RMPrepUSBXP.cmd. This file is automatically run when you tick the BartPE to USB checkbox. If it is just a case of adding extra files to the USB key, you can simply drop these extra files into the PEtoUSB folder which is located in the same folder as RMPrepUSB. During the running of RMPrepUSBXP.cmd, any files and folders that are in the PEtoUSB folder will be copied across (and overwrite) any files on the USB drive.

Q27 - I want to install BartPE on a USB drive but using Grub4DOS rather than NTLDR, but I cannot tick the ‘PE to USB’ checkbox when I select the MS-DOS option.

A27 - This has been done to prevent mis-use, however there is a deliberate loophole. First select XP/WinPE and tick the COPY FILES and PE to USB checkboxes. Then change the radio button option from XP/WinPE to either MS-DOS or FreeDOS. After RMPrepUSB has run, you can add your DOS boot files and Grub menu files.

Q28 - Will the Speed Test function harm the data on my USB drive?

A28 - The non-destructive Speed Test reads a large amount of data from your USB drive into memory and then writes back the same data to the USB drive. It should not corrupt or destroy any of the data on your USB drive – HOWEVER... (get out clause now follows...) if your computer has faulty RAM or the USB flash memory in your USB drive is unreliable or something else goes wrong, this function may possibly destroy all the data on your USB drive. For this reason the button has a pink colour to show that writes to the USB drive will occur and the function could be slightly risky if using unreliable hardware. Data is written from the start of the drive (in case you don’t have as large a USB drive as you think you have!), so the boot and directory areas of the drive will be read and written to and thus ***could*** be corrupted.

Q29 - How can I test the speed of my USB drives and log the results?

A29 - The Speed Test button performs a read/write speed test and the results are automatically added to the file USBSpeed.csv in the same folder that you placed RMPrepUSB.exe in. Just double-click on the .csv file to load it into Excel or a similar spreadsheet application. There should be two lines for each run (one row for read speed and one row for write speed). In addition to USBSpeed.csv, a second file USBSpeedDP.csv is written – this file always uses a decimal point for numbers and commas for separators whereas USBSpeed.csv will use your locale settings (e.g. if your locale is Holland, it will use ; for separators and , for decimal points and so Excel will load this correctly as Excel uses locale settings).



Operating System


Seq. Rd/Wr



Kingston DataTraveler G2 USB Device


Microsoft Windows 7 Professional (6.1.7600) SP0 64-bit

Intel Corporation (RM plc AZCB835000CB DQ45CB )




Kingston DataTraveler G2 USB Device


Microsoft Windows 7 Professional (6.1.7600) SP0 64-bit

Intel Corporation (RM plc AZCB835000CB DQ45CB )




HP v135w USB Device


Microsoft Windows 7 Professional (6.1.7600) SP0 64-bit

Intel Corporation (RM plc AZCB835000CB DQ45CB )




HP v135w USB Device


Microsoft Windows 7 Professional (6.1.7600) SP0 64-bit

Intel Corporation (RM plc AZCB835000CB DQ45CB )




Verbatim STORE N GO USB Device


Microsoft Windows 7 Professional (6.1.7600) SP0 64-bit

Intel Corporation (RM plc AZCB835000CB DQ45CB )




Verbatim STORE N GO USB Device


Microsoft Windows 7 Professional (6.1.7600) SP0 64-bit

Intel Corporation (RM plc AZCB835000CB DQ45CB )




TakeMS MEM-Drive Smart USB Device


Microsoft Windows 7 Professional (6.1.7600) SP0 64-bit

Intel Corporation (RM plc AZCB835000CB DQ45CB )




TakeMS MEM-Drive Smart USB Device


Microsoft Windows 7 Professional (6.1.7600) SP0 64-bit

Intel Corporation (RM plc AZCB835000CB DQ45CB )




Q30 – I can boot from a FAT16 2GB UFD formatted as FAT16 but not from a 3GB or bigger UFD – why not?

A30 – MS-DOS cannot access FAT16 partitions over 2GB (Size=2000MB in RMPrepUSB/RMPartUSB). Set the partition size to 2000 or use FAT32.

Q31 - What is the difference between using the Syslinux radio button in the Boot Options section and the Install Syslinux button after formatting?

A31 - Not a lot! The Boot Option radio button will disable NTFS as a choice and use MSDOS as the OS boot type, then after formatting it will run the syslinux.exe utility to add the syslinux boot code and replace the DOS boot code. The Install Syslinux button just lets you run syslinux on any USB drive at any time without having to format it first, so if you want to try out a syslinux menu after having made a grub4dos USB drive, you can just overwrite the old grub4dos boot code with new syslinux boot code.

Q32 – I want to make a language file for RMPrepUSB, how do I do this?

A32 – The first step is to convert the English.ini file to your own language using a text editor that supports UniCode (such as Notepad). Note that the font name, Locale (LCID) and font sizes are very critical. The file Fonts, CharSets and LCIDs.rtf in the \LANG folder contains information on which settings to use. Under Windows XP, to see some Asian languages, it may be necessary to install the Asian Language pack from the XP CD (using Control Panel – Regional and Languages – Languages – Install Files for East Asian languages). You should always choose the font and LCID suggested in the txt file even if other fonts appear to work, this is because your PC may be localised for your Region but English versions may not use the correct fonts – for instance for Simplified Chinese use SimSun font even though Tahoma may appear to work correctly on your computer, it will not work correctly on European PCs.

If you also wish to translate the RMPrepUSB.pdf file, the original Word .doc file can be downloaded from the RMPrepUSB website.

Once you have made a new .ini file (and pdf file) simply place them in the .\LANG folder. Every time you click on the language drop-down box, your new language file will be re-loaded.

Q33 – How do I get the latest version of RMPrepUSB?

A33 – Version 2.0.809 and later have a ‘Get Latest Version’ button on the Help form. When you click on this button it will attempt to download a version.txt file from the RMPrepUSB home website. This file contains the version number of the latest fully released and stable version of RMPrepUSB and will download the ZIP file of the latest version to the same folder as RMPrepUSB.exe. You will then need to Exit from RMPrepUSB.exe and unzip the files from the new version and overwrite your current version (or make a new folder if you prefer). The latest Betas can be found at Although Betas, they will normally contain improvements and bugfixes.

Q34 – The results from the Speed Test seem very high – are they correct?

A34 – Yes – Chkflsh.exe also gives similar results to RMPrepUSB. The thing to bear in mind is that the figures shown are for a single 63MiB sequential direct access read and write. In the real world, this type of access would not be used, so the read/write figures obtained are ‘best case’ figures for that OS and driver and chipset. This allows you to compare UFDs without needing to worry about how they are formatted (FAT16/FAT32/NTFS) or how the operating system is accessing them. In other words, it is a measure of the USB drive speed and PC hardware but does not test which filesystem is fastest. So provided you use the same PC and OS, you can compare different USB drives fairly even if they are formatted differently. It also means the test is quick! However, note that (for the same UFD) results will vary depending on the Operating System used, the USB driver used and the mainboard, BIOS and chipset used to test it with.

Q35 – I want to boot to DOS as drive A: when using the Boot as FDD setting, but my PC always tries to boot it as C: (and I get a not found error), how can I fix this?

A35 – Prepare your UFD for MS-DOS or FreeDOS drive using RMPrepUSB and the ‘Boot as HDD’ setting, then use the ‘install grub4dos’ button to install grub4dos. Then create a menu.lst file as below (the lines beginning with # are comments and can be omitted):


map (hd0,0)+1 (fd0)

# map the first partition of the hard disk as a floppy disk

map (hd0) (hd32)

# map the UFD as a virtual cd

map (hd1) (hd0)

# map the real hard disk as hard disk 0

map --hook

# hook Int13 interrupts so all map changes take affect

chainloader (fd0)/io.sys

# load the io.sys code into memory from the floppy disk (now ufd is fd0)

rootnoverify (fd0)

# set the file root as the floppy disk

map --floppies=1

map --harddrives=1

# Tweak BIOS device numbers so DOS sees 1 floppy and 1 hd

(if using FreeDOS replace ‘io.sys’ with ‘kernel.sys’ in the above menu). The above menu re-maps the UFD partition which appears as a hard disk in the BIOS after booting, to appear as a floppy disk drive.

Q36 – When I boot from a USB device and run ImageX (or another imaging utility) to capture an image, it does not work and refuses to save the image – why?

A36 – You cannot save files larger than 4GB on a FAT32 volume. Try formatting the USB device with the NTFS filesystem.

Q37 – How can I make an image of my Windows hard disk and copy it to another hard disk on another system (or lots of systems)?

A37 – I would recommend booting to WinPE (VistaPE or Win7PE) from a USB flash drive (of course!) and then using the Microsoft tool ImageX.exe after using sysprep.exe. For a getting started guide see my tutorial on the RMPrepUSB site here.

Q38 – Where has H2TESTW gone?

Q38 – The author has requested that I don’t include a copy in my download and that you download the latest version from his website. Use the Help button on RMPrepUSB and then click on the H2TESTW link.

Q39 – When using grub4dos and loading an ISO file I get a ‘Error 60: File for drive emulation must be in one contiguous disk area’ error – but it used to work before?

A39 - Typically, you will get the non-contiguous error when you have edited or deleted files on the USB drive and then copied over an iso file or simply overwritten the old iso file with the new iso file.If you get this error when trying to boot an ISO file usinggrub4dosfrom a USB Flash Drive, you can runWinContigto fix the ISO file, but it is very slow when run on a USB flash drive. A much quicker way to fix the problem is to copy all the files over to your hard disk, run RMPrepUSB again on the UFD to reformat it and then run grub4dos and then copy all the files back again.If this is not possible, then always copy the iso file to the USB drive first, before you edit any files on the USB drive.

Q40My USB drive is not listed by RMPrepUSB –why not?

A40 – RMPrepUSB should list all USB drives that are over 0 bytes in capacity. U3 USB flash drives may not be listed unless they have been enabled by the U3 Launcher application. If you are running BartPE or Windows PE or WINE under linux with WINE, it is possible that you need the MSVBVM60.DLL (which is normally present in Windows XP and later Windows versions). Copy the file from the \WINPE_EXTRA folder in the full download to the same folder that RMPrepUSB.exe is located in. This file is also required for RMPartUSB.exe.

Q41 – When booting grub4dos on some PCs I just get a flashing cursor (or ‘missing – mbr Helper’ message) and no grub4dos menu, but other PCs boot fine – why?

A41 – This is caused by the BIOS code, but can often be fixed by installing grub4dos to the Partition Boot Record (PBR or sometimes called VBR) instead of the Master Boot Record (MBR). When you click on the RMPrepUSB Install grub4dos button, choose the PBR option. Also try changing the Boot to HDD option (some BIOSes don’t like this option, some only boot with it!). This issue should be fixed in v2.1.607 and later and you should be able to install grub4dos to either PBR or MBR.

Q42 – When I load the USBSpeed.csv file in OpenOffice (or Excel), I do not get the proper columns – why?

A42 – This is because Excel takes account of your regional settings (locale) but OpenOffice does not. If USBSpeed.csv does not load properly, try USBSpeedDP.csv which always contains decimal points for numbers and commas for field separators.

In versions before 2.1.503, the format of the CSV file was that each field was separated by a comma, but the number format would be written in your own locale’s format. This meant that for non-US/UK countries (e.g. Germany), you could get a CSV file such as:


instead of


To further complicate the problem, the correct CSV format expected by Excel in non-US/UK countries is to use a semi-colon as a separator and a comma as a decimal point. E.g.


Version 2.1.503 and later of RMPartUSB, now writes two CSV files:

USBSpeed.csv which writes according to the locale on your computer (e.g. in Germany it writes aaa;bbb;ccc;ddd;5,6;6,2) and USBSpeedDP.csv which always writes a CSV file with commas as separators and dots as decimal points (aaa,bbb,ccc,ddd,5.6,6.2). So use USBSpeed.csv if using Excel, or USBSpeedDP.csv if you application always expects commas and decimal points.

Q43 - How can I copy an image onto a USB drive of a different size?
A43- You cannot re-size an image using RMPrepUSB. So you need to follow these steps:

1. Determine the minimum partition size required to hold all the files in the image (e.g. say it is 2.7GiB)

2. Set the size in RMPrepUSB to just larger (say 2.9GiB) and reformat the USB drive to that size

3. Prepare and test the USB drive to make sure it works on all systems
4. Make a USB-->File image using the PALL setting
5. Now use the File-->USB button to copy the image to all your other USB drives (which must be at least 2.9GiB in size)
6. If you want to expand the partition
andit is asingle NTFS partition(do not use HDD 2PTNS option), then use Windows Diskpart command as follows:
SEL VOL J: (assuming J: is the volume letter given to your USB drive that you want to expand)

If you have a single FAT16 or FAT32 partition or want to use a GUI, try the free program
EASEus Partition Master for 32-bit Windowswhich can be downloadhere.

Q44 - I am booting to BartPE/UBCD4Win and get the XP error ‘PreLogon – File not found’. This does not happen when booting from CD. How do I fix this?

A44 - You probably prepared the OS files on a Vista or Win 7 system. Create a folder on your USB drive under \MININT called\Registration. Copy the file from your Windows Vista/7 hard disk folderC:\Windows\Registration\R000000000001.clbto make the file\MININT\Registration\R000000000001.clbon your USB drive.

Q45 - I get a BSOD when booting BartPe from USB - why?

A45 - Try replacing the file with the one from W2K3 SP2. Some Dell systems for instance, require this.

Q46 - My (Dell) system does not boot to grub4dos menu after using HDD+Force LBA options – why?

A46 - Some BIOSes do not 'like' the Force LBA option - only try this option if the USB pen will not boot without it.

Q47 - My USB device does not appear in the drive list –why?

A47 - To appear in the device list, the USB drive must appear as a \\physicaldrivex device in Device Manager, must have a size of greater than 0 bytes and must be classed as a USB device. RMPrepUSB v2.1.2 and later have improved USB detection. Note that password protected U3 devices will not appear in the menu unless you have enabled the USB storage device using the U3 Launcher software.

Q48 - My USB Flash drive seems to be faulty, it takes a LONGGGGGGG time to access it even under RMPrepUSB and my system just stops responding. Should I throw it away?

A48 - No! It probably has corrupt data on it and Windows cannot understand it, the USB drive itself is probably fine. You need to wipe the data from the drive but as Windows cannot access the drive, you have to find another way to clean it – see here for details.

Q49 - What is a GiB or MiB or KiB?

A49 - Drive manufacturers use KB to mean 1 thousand bytes (i.e. 1000), but computers (operating systems and applications) often regard 1024 bytes as being equal to '1KB'. To avoid this confusion the new abbreviation KiB was invented. So 1KiB=1024 bytes, 1MiB=1024x1024 bytes or 1048576 bytes, 1GiB=1024x1024x1024 bytes or 1073741824 bytes. This means that a 160GB hard drive may actually appear as 149GiB in Windows (which it still calls 'GB' not ‘GiB’) which is the same as 160GB. RMPrepUSB uses GiB, so a 32GB USB flash drive may appear as 29.8GiB in RMPrepUSB or 29.8GB Windows. Still confused – you would think a computer could display a size correctly wouldn’t you?

Q50 - How do I use RMPrepUSB on a (non-USB) SATA or IDE hard drive?

A50 - You need to open a command prompt (shell) window as an Administrator (right-click and Run as Administrator on Start Menu - Program Files - Accessories - Command Prompt) and then type RMPREPUSB ALLDRIVES. You should then have access to all physical storage drives except floppy drives and CD/DVDs. Take care not to format or install grub4dos to the wrong drive!

Q51 - I used the syslinux option but I cannot get the syslinux.cfg menu to display - I just get a black screen instead and it seems to hang?

A51 - This is probably due to the version of syslinux.exe not matching the version of vesamenu.c32 in your OS files on the USB drive. Try using menu.c32 instead in your syslinux.cfg menu file. If that works then it is a vesamenu.c32 issue. Either find another version of the vesamenu.c32 file or try replacing the syslinux.exe file in the RMPrepUSB menu with another version of syslinux.exe and re-running RMPrepUSB so that syslinux is re-applied to the USB drive. COM32R versions of vesamenu.32 that are dated 2010 will probably require syslinux v4.03 or later so use RMPrepUSB v2.1.604 or later. Syslinux v4+ needs a vesamenu.c32 file in COM32R format. The version of syslinux included with RMPrepUSB versions before 2.1.604 used an older version which requires COM32 format files. Version 2.1.604 and later use syslinux 4.03 (or later) which requires COM32R.

Different versions of syslinux.exe and their .32 files may be found included with later versions of RMPrepUSB downloads in the syslinux folder. If you have version incompatibility problems, use the v4.03 .c32 files in your USB’s syslinux.cfg menu.

Q52 – When I run Quick Size Test capacity test, sometimes it reports an error (e.g. last sector bad) and sometimes it does not. Also, sometimes RMPartUSB seems to pause for 2 minutes before completing – how can I fix this?

A52 – First try disabling your antivirus software or reformat the drive as an HDD or CLEAN it. If you have a USB drive which has been formatted as ‘FDD’ or ‘USBFDD’, then the antivirus software may start scanning it which will interfere with the actions of RMPartUSB. Secondly, reboot Windows to try to clear the error.

Q53 – I am having problems running QEMU F11 function (v2.1.618 and later)?

A53 – To emulate booting from the USB drive selected in the RMPrepUSB dropdown selection box, just press F11. When choosing the amount of virtual RAM memory to use, RMPrepUSB shows you as the maximum approx. 75% of Windows available memory. If QEMU does not seem to launch, try reducing the virtual memory size to say 32MiB instead of the default 512MiB.
Check you have the two files StartFromUSB.cmd and CreateImg.cmd. These are the two files that are called by RMPrepUSB. If the two cmd files do not appear to work, you can debug them by editing them in notepad and placing the word ‘pause’ at the end of the file. As the command shell is minimized by Windows during running, you will need to find the minimized command shell task and maximise it to see what error messages you get and then press Enter to continue.
The F11 feature allows you to create an empty virtual hard disk or use the existing one. It is always called ‘harddisk.img’ and located in the QEMU folder below the RMPrepUSB application folder – if you want to use your own hard disk image then replace it with your own file. By using a virtual hard disk, you can test OS install USB drives (e.g. install XP or DOS onto the virtual hard disk).

--- o O o ---

Updated on Aug 31, 2011 by Steve Si (Version 35)

Attachments (2)

RMPrep1.2.620hlp.jpg - on Apr 21, 2011 by Steve Si (Version 1)

RMPrep1.2.620.jpg - on Apr 21, 2011 by Steve Si (Version 1)