Search more portable....

Google
 

Sunday, January 20, 2008

Bootable USB Keys

Author: Martin List-Petersen - martin at list-petersen dot dk
The newest version of this document can allways be found at http://www.marlow.dk/usbkeys
To see this document without menu etc. (for printing, opens new window), click here.
Version: 0.09
Created: August 7th, 2003
Last updated: September 1st, 2005


Acknowledgements: This document describes how to create a bootable USB key, what the differences are and why some machines only boot on some of the keys around, but not all.
This document is provided as is, of course. Feel free to use the info provided here, but don't blame me, if it doesn't work. Feedback however is allways appreciated. I can't be made responsible for data loss or other damages in any way.

Background




Since floppy drives get optional in many computers and more and more machines have the ability to boot from USB, it get's more interesting to have an USB key instead. Also because it's smaller and not that wulnerable. Also the pricing of these small items get more and more interesting. The USB Keys are formatted with FAT and thus accessible by nealy all operating systems around.

Hardware

The following USB keys have been tested and verified, that these can be bootet, once prepared:
  • Dazzle Zio! MMC/SD-Card Reader
  • Dell 16MB and 64MB USB Key

Technology

USB Keys can be formatted in two ways:
  • Superfloppy
  • Harddisk (including MBR)
This is the reason, why some bootable USB keys not boot on every system. Some computers BIOS simply only understand one of the formats, not both, and if you use Windows and plug your key in, you won't notice the difference. Using Linux it get's pretty clear. Looking at the different formats shows, that the superfloppy formatted key is formatted as one big storage device (/dev/sda is mounted). The harddisk formatted key, which has a MBR, can have multiple partitions (/dev/sda1 etc.).

Getting DOS on the key

Before making your USB key bootable, be aware, that your USB Key will be deleted completely. So a backup would come in handy.
- Using DOS or Windows 98 you need to install drivers first, to access the USB key. For DOS there is DUSE and for Windows 98 you will find the drivers on the Memorykey Tools site. As soon as these drivers are in place, you simply format the key with "format /s M:" (replacing M: with the drive letter, that you USB key got assigned.).
  • For Windows 2000/XP there are a couple of tools you can use.

    • The easiest is the MBRTool, that the Memorykey Tools site used to provide. I still keep a copy around of it here. The tool formats your key in harddisk mode and installs a FreeDOS kernel on there (with FAT32 support). Downside of this tool is, that it seems to have trouble with USB keys at the size of 256MB or bigger.
    • Another solution is the HP USB Disk Storage Format Tool. This tool seems to work with bigger storage keys, but needs a floppy or the files from a floppy in a directory to copy on the usbkey, to make it bootable.

  • On Linux you just need to load the usb-storage module.

    • To format the drive in superfloppy format, you simply do:
            mkdosfs -I /dev/sda
    • Formatting in harddisk requires more steps, if it's not allready formatted that way:
            dd if=/dev/zero of=/dev/sda bs=512 count=1
      to erase the start of the USB Key. After that you can do a "fdisk /dev/sda" and create a new FAT partition (FAT16 is suitable). To install a MBR and format the key afterwards, do
            install-mbr /dev/sda --force
      mkdosfs -I /dev/sda1
    • Now the USB key is ready to be loaded with systemfiles. If you use FreeDOS, MS-DOS, IBM-DOS or DR-/Novell-DOS is up to you.

Since install-mbr is Debian specific, you might do this on other systems:
      dd if=/dev/hda of=mbr bs=512 count=1
dd if=mbr of=/dev/sda
Repartition your USBkey using fdisk to clean up the partition table using fdisk and format your partition afterwards with
      mkdosfs -I /dev/sda1
/dev/hda would in this case be your harddisk, /dev/sda would be your usb key.

References

  • Linux Magazin - Edition 13/2003 (german)
    Lot's of the info here came from a very nice article in this magazine. Unfortunately it's in german and not available on the net.
  • Memorykey Tools - Here you'll find Windows 98 drivers for the Dell USB Key.
  • http://www.nu2.nu/bootdisk/ - This site provides a modular design for bootdisks. very nice to use, when you want to build a rescue system on your USB key.
  • HP has another Windows based tool for formatting USBkeys. And since HP does expire pages now and then, I keep a copy around here.