Booting Linux using USB-ZIP on older systems

If you have an older computer system, your BIOS might not support USB-HDD boot. In this case, it may still be possible to boot Linux from USB if your BIOS does list USB-ZIP as a boot option. In order for this to happen, we need to trick the BIOS into thinking that the USB flash drive is a zip drive.

We can trick the BIOS by modifying the number of heads and sectors being displayed from the USB flash device to match that of a zip drive. Then we partition the drive using partition 4 (the partition that zip drives typically use). For this tutorial we will use the mkdiskimage application that comes with syslinux.

Warning: This tutorial is old and may be outdated. We have not tried this on USB Flash Drives larger than 1GB. Backup any information you wish to save before proceeding.

Basic Essentials:

  • Ubuntu or an alternate working Linux environment (a live CD should work)
  • USB flash drive (tested to 1GB) with a Live Linux Distro Installed.

The Basic Process:

Before proceeding, see how this process works at
"mkdiskimage section".

  1. Insert your USB Flash drive
  2. Open a terminal window and type sudo su
  3. Type apt-get install syslinux (if you don't have syslinux installed)
  4. Type apt-get install mtools (if you don't have mtools installed)
  5. Type fdisk -l to list the available disks (make note of your flash drive from the list)
  6. Type mkdiskimage -4 /dev/sdx 0 64 32 (replacing x with your actual flash drive letter)
  7. After the process has completed (takes a while) type fdisk -l and confirm the new geometry of the flash drive "64 heads, 32 sectors"
  8. Type syslinux /dev/sdx4 (replace x with your flash drive letter) to make the drive Linux bootable