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:
- Backup the contents of the USB pen drive, and delete all the files/folders on it.
- 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.
- 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
- Copy the
vmlinuz
andinitrd.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 thecasper
subdirectory of the mounted USB drive.
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. - 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 parametercdrom-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 parameteri915.modeset=1
prevents Ubuntu 10.04 from having problems with old Intel graphics chipsets like i915. - 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.
- 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).
- 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.
- 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. - Now enjoy the great new Ubuntu desktop!
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.
Glad to know it helped! Thanks for the feedback.
Nicely engineered boot :)