Boot Linux from USB Hard Disk 2018-02-23 Urs Lindegger

About this Document

Having a laptop and not allowed to install Linux on its internal harddisk. However occasionally as on business trips you like to use Linux with all your files. The following shows two ways of doing it:

  1. A simple way with passing a kernel parameter (worth to try out)

  2. A more complicated way with an initial ram (when the above has no sucess)

May 2005 I managed after a big effort to install Gentoo Linux on a USB Hard disk, so I like to share my share my hardly gained experience with others to make their life more easy. In 2007 I discovered the easy way with the kernel parameter. But in 2011 I faced a computer where the solution with the kernel parameter did not work.

Other Linux distributions might be tweaked the same way, since all it touches is the boot loader and the kernel.

Why to install Linux on a USB drive?

  1. You can turn your company laptop into your private one without touching the company hard disk. On business trips you will not carry two laptops.

  2. You can shrink your PC-environment to a small USB device, that you can carry around in your pocket.

  3. You need it to do some recovery work on computer.

  4. You can use the USB hard disk to install Linux on a computer not having a CD reader.

  5. You want to explore and learn how Linux boots


First your BIOS has to make the job. It has to be able to boot from USB. Go into setup of your BIOS and check if your USB device is visible. Usually it appears as hard disk. Change the order of boot devices, so your USB device is on top of the list.

If your BIOS does not support booting from BIOS, than this guide does not help. You might to check if you can install the boot loader from somewhere else as CD or old fashion floppy.

Grub the boot loader

BIOS starts Grub and Grub lets you select the kernel to boot. The kernel is copied into Ram and Grub starts the kernel and disappears.

Problem during boot

The kernel starts and looks for the root file system, but it is not easy for the kernels to find it when needed. The BIOS software was used to load the kernel in RAM. However when the kernel gets alive, it will start its own high sophisticated high performance USB drivers. A gap can occur where no connection to the USB hard disk can be found. This can causes a failure of the boot process (Kernel panics) or just a hang up during boot.

Linurs Servernest startpage