Boot linux off hard drive and then switch to run from usb flash disk

23
2014-04
  • Jesse

    I have an older laptop that I want to use as a simple media server on my home network. I would like to avoid using the internal hard drive except for booting (BIOS does NOT support booting from USB).

    My thought was to mirror the hard drive (currently has current install of Arch Linux) onto the flash drive and then after booting switch over to run everything from the flash drive.

    I read the following article about using a RAM disk (HOW-TO: Boot OS into RAM for speed and silence) but ran into problem because the USB subsystem does not seem to be initialized soon enough (I create root and home paritions on the flash disk and modified fstab to pick those - didn't work).

    Any thoughts?

  • Answers
  • Erik Moen

    My suggestion would be to install the boot partition containing a bootloader (I like extlinux), your kernel image and your initramfs to you hard disk.

    Then you configure either the initramfs to mount your root partition (which is on your usb drive) or you add the partition as an argument for the kernel in the bootloader configuration. The latter is simpler to achieve, just add something like "root=/dev/sdb1" to the kernel arguments, for a root fs of the first partition on the second hd. Also, you won't need the initramfs if you don't use one already.

    Both approaches results in something virturally identical to a boot from usb, but the initramfs approach lets you go (further) to town with lvm, crypto or exotic filesystems om the usb drive.

  • jfcfar

    You can also use a CD with the bootloader that boots up the computer from the USB disk. This way the CD is only used when you startup the computer and after loading the kernel it will use the USB disk only.

  • harrymc

    One idea may be to use a virtual machine copied to the USB drive.
    That way, usage of the main hard disk should be minimal after the VM started.

    It might also be a good idea to use a minimalist Linux distribution, for both physical and virtual computers.


  • Related Question

    Booting Linux off USB pendrives
  • nik

    Booting a Linux system off USB Pendrives is one of my favorite things.

    On a laptop we have the following advantages,

    • The Harddisk can be shutdown and that reduces power consumption (hdparm)
    • The system heats lesser and the fans are triggered less frequently
    • The system can take more shocks (a bumpy backseat taxi ride)

    With old workstation hardware,

    • Can be used for quick testing of the hardware platforms
    • Linux (Ubuntu these days) works quite well with most hardware
    • One Downside: Many old motherboard BIOS do not support a USB boot

    I have preferred a USB "boot-stick" to a LiveCD in most cases.

    Questions.

    1. What other advantages and problems have you seen or anticipate with USB booted Linux?
    2. What is your choice of Linux for this purpose?
    3. Would you suggest ext4 or something more proven/stable for a linux usb-boot?
    4. Do you often find USB drives getting corrupted?
    5. Do you partition your USB drives?


    Recent install guide reference,
    Ubuntu Karmic Koala Encrypted Flash Memory Installation (edited July 22 2009).

    This install guide is for installing Ubuntu 'Karmic Koala' in a USB flash memory stick with
    the LUKS encrypted ext4 file system by running the Ubuntu Karmic Koala 'Alternate CD'.


  • Related Answers
  • Aiden Bell

    When booting of USB media, I would be careful of the following:

    1. Swap, unless you need it, save the writes of the flash
    2. Keep the filesystem slim, turn off SELinux/AppArmour unless you need it
    3. Tune the journaling and cache settings to get better performance

    I have a USB key that I use to boot all my systems, it contains the kernel and bootloader with configurations for machine. I also keep the encryption keys for my hard-disks on it.

  • jamuraa

    I've heard some people have concerns about write-cycles with USB pendrives and most of the Linux filesystems, like ext3 which is setup to update the disk whenever a file is accessed. This can cause a lot of writing specifically in the same area of the drive. Usually it is recommended to use the noatime option in order to fix this.

    I created a USB drive linux for a team of robots - I used Debian which was selected because it was very easy to put it in a small space and I am familiar with it already. We've been running them for a while now and there has been no corruption so far. Even if there is corruption, as long as you have backups (we mirror to another drive of the same size periodically) you should be okay and it's not exactly expensive to replace.

    I generally don't partition my USB drives because I find it creates hassles. If I want a reasonable filesystem (with permissions, caps sensitivity, etc) on a windows-accessible drive I create a loop file to use.

  • indyK1ng

    I only have answers for the last 3 questions (I don't have professional experience with booting from flash drives).

    Someone else mentioned that there are concerns about write cycles on flash drives. I've heard it be somewhere in the area of 100,000 writes and 500,000 writes. It's probably the latter. The problem with using ext4 or ext3 is that they're journaling filesystems. This means that the data is transferred to the storage device, stored there and then written to the proper place on the storage device. This way, if the full write is incomplete and the computer crashes, the storage device has a copy and can continue writing. This will reduce the lifespan of your flash drive, specifically, whatever part is being used as the journal. I would recommend using a non-journaling filesystem for this purpose, such as ext2.

    I haven't had a USB drive get corrupted. The write limit I mentioned above was per memory unit. With that being said, they build in backup memory units to be used when one dies. On top of that, even the low end estimate I heard, 100,000 writes, will take a while to reach. If you wrote to 1 memory unit 8 times per day every day, it would take over 30 years to kill a memory unit. With that being said, sometimes Live-USB installs will use a portion of the USB stick as memory if the system doesn't have enough RAM or if it is unsure of how much RAM it will have access to later, although this is almost always just done with Live-CDs to simulate saving data such as web browser history. Since this is a Live-USB, it can just save that data permanently. With all that being said, keep in mind that a memory unit isn't a single byte, but some number of bytes which is determined when the flash drive was designed.

    I myself have had problems partitioning a USB drive, but it is possible.

    CORRECTION: In the second portion I refer to a process by which a flash drive uses itself for RAM and then refer to something similar for Live-CDs. For Live-CDs, they use what's called a RAMdrive where they use the system's RAM as a virtual hard disk to "save" files such as browser history. What I described for flash drives may not actually exist. It may have been a small bit of confusion on my part (I'm in college and am not fully awake yet) where I was thinking of Vista's readyboost. Sorry for the bad information.

  • Ash

    I like Puppy Linux , though I haven't played around with it for a while. It's fast, even on underpowered machines. It also has (or had) built in easy network wizards etc.. to get online fast. Not sure how easy it is to hack if you run into difficulties - I never delved that deeply into it.

  • Simon P Stevens

    One downside I've come across is often if you boot linux from a usb you carry with you, it's harder to get online on a PC that isn't yours. Especially if the PC is wireless, in my experience the owner will often have trouble remembering things like wireless keys.

    I have a USB with Ubuntu on it which I use occasionally to fix broken machines and stuff like that, and this is the most common problem I have. I can't quite remember the detail of the command I want to do something, and I can't get online to check it out.

  • badp
    1. What other advantages and problems have you seen or anticipate with USB booted Linux?
    2. What is your choice of Linux for this purpose?
    3. Would you suggest ext4 or something more proven/stable for a linux usb-boot?
    4. Do you often find USB drives getting corrupted?
    5. Do you partition your USB drives?

    1- mostly updating the kernel and stuff like that is harder ...

    2- any linux can be a decent live usb but Slitaz is light, fast and is the only linux that could be remaded into an hard drive installation, a live cd, a live dvd or a live usb easily while keeping all the settings added ... (old but decent, I always have my boot floppy, my boot cd and my live usb to help peoples and learn them some linux love ...

    3- I would use ext3 that is journalized for security and cause it can be readed in windows if needed ...

    4- not seen that issue if the usb key is removed correctly but I seen it a lot when peoples remove it without proper removal technique ...

    5- maybe to make it a multiboot usb key ...

    IMP: If you can understand basic french, I would go directly to the Framakey Ubuntu-fr Remix usb key installation package that is the most avanced premaded usb key for now, waiting to be translated if you wanna help them it's really worth it I use it a lot !!! Maybe you could switch ubuntu language easily to english ...

    Framakey ubuntu-fr remix :

    Portable apps for windows and mac ubuntu 9.04 persistant live usb shared profiles between apps virtualization stuff in option

    (add windows and mac live usb to that and it's the paradise !!!)

  • Seasoned Advice (cooking)
    1. Advantages of USB bootable sticks: you can boot any number of systems off a single pen drive if you use e.g. grub4dos, including booting physical ISO files located on your flash stick - either mapped to RAM or directly from the disk (file should be in one contiguous block). Potential problems: booting from ISO files not supported for all distros; some distros would not even boot on exotic or non-typical hardware. With grub4dos you can also easily boot from floppy boot images which is also the way some bootable CD/DVD discs use. Another disadvantage is that reading multiple small files from USB flash drives might be painfully slow. With external USB HDD drives speed is much higher.

    2. Choice of Linux distros: PartedMagic, PuppyLinux, DamnSmallLinux, lubuntu, xubuntu, BartPE, Hiren's Boot CD, Windows installation files.

    3. File system: ext4 or other: FAT32 works the best if you want flexibility and multiple operating systems, e.g. both Linux- and Windows-based OS's on the same stick.

    4. USB getting corrupted: never had this happening; but mostly using boot USB sticks for rescue purposes and not as a regular environment.