Booting Linux from USB-ZIP on older systems

Booting Linux from USB-ZIP: 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.

Booting Linux from USB-ZIP Prerequisites

usb 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. I have not tried this on USB flash drives larger than 1GB. Backup any information you wish to save before proceeding.

  • Ubuntu or similar running Linux environment.
  • USB flash drive (tested to 1GB) with a Live Linux Distro Installed.
  • Old system BIOS with USB-ZIP listed as a boot option.

Tricking the BIOS into Booting Linux from USB-ZIP

Before proceeding, see how this process works to trick the BIOS in the USB Keys Syslinux document under the "mkdiskimage section". I am using a running Ubuntu operating environment to perform these BIOS tricking steps:

  1. Insert your USB flash drive
  2. Open a terminal Ctrl+Alt+T
    Type or copy and paste each of the following commands into the open terminal window, pressing Enter after each command.
  3. If you don't have syslinux installed, install it using:
     sudo apt-get install syslinux
  4. And if you don't have mtools installed, you'll need it as well:
    sudo apt-get install mtools
  5. Next, to list the available disks, use the following command:
    (making note of your flash drive from the resulting list)

    sudo fdisk -l
  6.  Then, enter the following command:
    (replacing x with your actual flash drive letter)

    sudo mkdiskimage -4 /dev/sdx 0 64 32
  7. After the process has completed (takes a while) to confirm the new geometry of the flash drive:
    sudo fdisk -l

    (it should now read "64 heads, 32 sectors")

  8. Finally, to make the drive Linux bootable, enter the following command:
    (replacing x with your flash drive letter)

    sudo syslinux /dev/sdx4