Install Linux from USB on System without BIOS Support for USB Boot

Boot Linux from USB drive

Tired of burning CDs each time you want to try out the latest Ubuntu release because your not-so-new computer doesn’t support booting from the USB? Don’t worry, now you can use your USB drive as a boot medium, and install newer versions of Ubuntu even if your BIOS doesn’t support a USB boot!

For my experiment, I used an Acer Travelmate 290L series laptop made in 2005, with no BIOS support for USB boot, and a Kingston Traveller 1 GB pen drive. The laptop had Ubuntu 9.04 installed on it, and I used this to create the USB start-up disk from a Ubuntu 10.04 ISO.

Here is the procedure I followed:

  1. Backup the contents of the USB pen drive, and delete all the files/folders on it.
  2. Use the USB Startup Disk Creator utility (accessible at System –> Administration –> Startup Disk Creator) to create a USB boot disk on the pen drive from the Ubuntu 10.04 ISO. Figure 1 shows how the Startup Disk Creator utility appeared on my system.
    USB Startup Disk Creator

    Figure 1: USB Startup Disk Creator

  3. When the Startup Disk Creator utility is done completing the boot disk, create a usb-boot subdirectory under /boot on your running Linux system:
    sudo mkdir -p /boot/usb-boot
  4. Copy the vmlinuz and initrd.lz files from the USB drive to the newly created /boot/usb-boot folder. Figure 2 shows what you may expect to see if you open a file browser window to the casper subdirectory of the mounted USB drive.
    Contents of casper folder on startup disk

    Figure 2: Contents of casper folder on startup disk

    sudo cp /media/KINGSTON/casper/* /boot/usb-boot/
    Note: KINGSTON is the label (and thus, the automatic mount-point under /media) of the filesystem on the USB drive I used. Depending on the brand of the USB drive you are using (or the partitioning/format options it was subjected to), the label may differ — and hence the mount point, and so the path above may need to be changed.
  5. Add the following boot stanza to /boot/grub/menu.lst (use sudo gedit /boot/grub/menu.lst to edit it as root):
    title Run Ubuntu 10.04 from USB FLASH DRIVE
    root (hd0,4)
    kernel /boot/usb-boot/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper noprompt cdrom-detect/try-usb=true persistent quiet splash i915.modeset=1
    initrd /boot/usb-boot/initrd.lz
    boot

    (hd0,4) is the location where the current OS (Ubuntu 9.04) is installed. The kernel parameter cdrom-detect/try-usb=true specifies that if the kernel file is not found on a CD-ROM, try a USB location as a fall-back. The kernel parameter i915.modeset=1 prevents Ubuntu 10.04 from having problems with old Intel graphics chipsets like i915.

  6. Reboot the computer (in my case, my laptop). You will be presented with a Grub menu from the USB pen drive; select the first option to boot into a live session of Ubuntu 10.04.
  7. Click the “Install Ubuntu 10.04″ icon on your desktop to launch the installer, and install Ubuntu as per your preferences (overwriting an existing installation, or into a new partition).
  8. When the installation is done, restart the computer, as usual. You could remove the USB drive, but even if you leave it in, there shouldn’t be a problem. Ubuntu 10.04′s boot loader will now be in control, and it doesn’t have an option to boot from the USB drive. 9.04′s boot loader will be inactive, and thus would not cause the system to boot from the USB drive. And since your computer BIOS anyway lacks a boot-from-USB option, the BIOS won’t boot from the USB drive either. See Figure 3 for the Grub boot menu.
    GRUB menu

    Figure 3: GRUB menu

  9. If you have one of the old Intel video chip-sets mentioned earlier, at the Grub menu, press e to edit kernel parameters, and add the i915.modeset=1 option.
  10. Now enjoy the great new Ubuntu desktop!
  • danTC

    I tried to install Linux Mint 14 on an older laptop (an Acer Travelmate 8371g) using a bootable usb disk. However, the laptop did not manage to boot directly from the usb disk.

    Then I followed your instructions and added an item to the grub boot menu and it worked well.

    Thanks a lot for taking the time to write this post.

    • Rajesh Gheware

      Glad to know it helped! Thanks for the feedback.

All published articles are released under Creative Commons Attribution-NonCommercial 3.0 Unported License, unless otherwise noted.
Open Source For You is powered by WordPress, which gladly sits on top of a CentOS-based LEMP stack.

Creative Commons License.