Booting via USB Key Made Easy

Man, how times change. I remember paying nearly $200 for a 2GB USB flash drive in 2006, and having people “oooh” and “ahh” about the amount of storage space available in such a small gadget. Same size drive, made better and faster, available for purchase online today: less than $10 before taxes and shipping. These drives are no longer an executive status symbol or tool for geek superheros, and the handiness of having one at your disposal in a pinch cannot be denied by even the most casual computer user. While most people use their USB flash drives to conveniently hold random bits of data to transfer between work and home machines, or to perform quick backups of critical, “I-am-so-dead-if-this-disappears” data, many do not know that it has become equally easy to use these drives for emergency booting of machines where the running state has changed from mere SNAFU to complete FUBAR. A state where time is of the essence, and you absolutely must recover information from a machine that is “Blue Screening” (or worse) for some unknown reason.

Now, there are reasons other than an emergency where one might want to boot from an alternate drive. Booting into a safe operating system for secure browsing when connected to a public network, exploring alternative operating systems, etc. are all valid. While I was recently researching the many Linux distribution choices out there, I came across two very useful utilities for making a USB drive bootable: the liveusb-creator and the Universal Netboot Installer. These are very cool finds because the process of getting a USB drive serviceable as a boot device manually is time-consuming, and difficult to do while simultaneously making an espresso drink.

Let’s start with some vocabulary:

  • SNAFU = Situation Normal, All Frozen Up.
  • FUBAR = Frozen Up Beyond All Recovery.

Note: You will find some that some will argue that my word choices for the Fs and the R are incorrect, but my words are applicable here, so ignore what anyone else may say.

The occasional SNAFU will happen, but when your machine is FUBAR, it’s typically time to call in your IT Support. When you can call someone, they will usually set you up with a loaner machine while they address your issue. In most cases they can also help you recover critical data from backups (you do backups, don’t you?), or, if necessary, directly from the failed machine. You can’t count on this level of support when you’re on-the-road in a strange town, or worse, on-site with a customer preparing for the presentation of your life. In these moments, it’s fend for yourself, or fail to survive. Booting from an alternate drive won’t fully recover your system, but it might provide you with just enough access to get you through the make-or-break moments until you can call in the cavalry.

There are ways to use an alternate drive to boot into a Microsoft Windows environment. Those will not be covered here. The tools here are for creating a Linux bootable USB flash drive, which can provide you with utilities to diagnose, repair, and even backup your failed machine or restore it from a remote image. Details on those deep-dive topics are also beyond the scope of this post. The important things to know are, Linux is not as scary as it used to be (or others claim it to be), and there are applications in most Linux distributions that allow you to access data from your Windows disk drive to transfer it elsewhere, and some that even make it possible to open, edit, and re-save it. Some of these tools will be covered briefly.

Warning: If your machine hard drive has failed catastrophically, meaning an outright mechanical or physical failure, not just a failure in the ability to boot normally, booting from an alternate drive will allow you to use the system, but may not guarantee you access to your data.

liveusb-creator

The liveusb-creator appears to be focused primarily on the Fedora Project, as it provides a means to download just about every Fedora version under the sun as part of the process used to create a bootable USB flash drive. Probably a first hint should have been their “fedorahosted” URL. Fedora is a Linux distribution that is “maintained and driven by the community and sponsored by Red Hat“. It is a robust distribution with some very nice user features, and works nicely as a CD or USB flash drive bootable distribution. liveusb-creator has a nice graphical user interface layout that is simple, but allows you to what you would expect: choose an image and target USB device to which it should write the boot image. Although liveusb-creator showcases Fedora as its primary OS, the tool also provides a means to use an ISO image of any distribution you have downloaded independently. I have not tested this facility, so cannot speak to how well it works with anything other than Fedora.

The standout features:

  • Extreme flexibility around which version of Fedora you wish to use.
  • Non-destructive install, so you don’t have to format the drive, and you can keep your preexisting data (so long as you have enough space).
  • Support for persistent storage configuration, allowing you to allocate extra space on your USB drive for saving files and making modifications to your live operating system that will persist after you reboot.
  • Can be run from Windows or Linux, making it handy for all.

I have two criticisms, one is part of the tool, the other a limitation of the filesystem technology used for creating the persistent overlay. First, I like Fedora, don’t get me wrong. I just like other distros too. Making it easier to download other distributions of Linux, BSD, etc. using this tool would be a neat add-on or extension project. The second issue is related to vfat, and the limit of 2GB for the persistent overlay filesystem. According to their FAQ, “the Linux vfat driver can cause filesystem corruption with files that are greater than 2gigs”. Not their fault, but a bummer when using larger USB flash drives.

Universal Netboot Installer

The Universal Netboot Installer is a distribution agnostic tool that gives equal billing to an incredibly long list of Linux distributions, BSD derivatives, and other bootable tools. It has a very simple graphical user interface that allows one to specify the USB target, and much like liveusb-creator, one can select the desired operating system from a drop-down menu, or specify an image of an operating system you have downloaded without the tool to use as the basis of the bootable USB flash drive. The most impressive part of this tool is the sheer number of distributions, and versions of those distributions, that are supported natively. To name a few: Ubuntu, 6.0.6 through dailies; Debian, stable, testing, and unstable; Linux Mint, 3.1 through 6; openSUSE, 10.2 through Factory; Saybayon Linux, latest; Arch Linux, latest; Damn Small Linux, latest; Puppy Linux, latest; FreeBSD, 6.3 and 7.0; NetBSD, latest; Fedora, 7 through Rawhide; Gentoo, 2007.0 and 2008.0; CentOS, 4 and 5; and the list goes on. There is a healthy list of distros that, while not included as drop-down downloadable options in the tool, are known to work. They also provide a list of distributions that are known not to work, which can save time for would be users.

The standout features:

  • Amazing list of supported operating system choices.
  • Decent documentation for extending download support to currently unsupported distros, or adding other tool plugins to customize the tool for specific purposes.
  • Can be run from Windows or Linux (and probably other *nix OSes). Again, handy for all.

The piece missing in this tool that is present in the liveusb-creator is the ability to include a persistent overlay space for modifications. That can be a bummer if say, you wanted to install an anti-virus tool or something else to the USB OS, and didn’t want to have to go through that process each time you needed it. Also, I could find no documentation that explicitly stated that preexisting data would remain unharmed, and I did not have time to test to find out. It is possible “unetbootin”, as the executable is named, will perform a non-destructive install similar to liveusb-creator, but you cannot quote me on that.

Examples of Use

Use case 1: Getting Files Off the Box – The coolest thing to find out about about the more recent Linux distributions is that auto-discovery of hardware has improved dramatically from just a few years ago. What this typically means is that your network devices, video hardware, and available disk drives should get configured upon boot with your newly installed USB key OS. This is especially true with latest versions of Fedora, Ubuntu, and a cool Ubuntu spin-off, Linux Mint. Once you’ve stepped through any connection details necessary to configure networking (specifically, entering WPA or WEP keys and the like for wireless), you should be able to browse the network and find file servers on your network. You should also have icons on your Desktop for any of your available hard drives. Support exists for connecting to remote Windows shares, FTP server, RSYNC servers, connecting via SSH to perform SCP operations, or accessing a local drive (USB or otherwise) for moving files to or from the box you’ve booted using your USB key. Nice graphical tools exist for all of these operations.

Use case 2: Putting OpenOffice Applications to Work – OK. You’ve booted the USB OS, and gained access to Word documents or PowerPoint slide decks residing on your machines hard drive. You need to quickly edit a document and send it out, or need to display the slide deck to a room full of clients. Easy. Most of the current Linux distributions come with OpenOffice, and this includes Write (a Word work-alike) and Impress (a PowerPoint work-alike), both with the capability to open documents in native MS format (and several others). If you need to quickly access your webmail account to send documents to colleagues, simply launch Firefox, the very popular and capable web browser. You’re in the butter.

Now, I acknowledge that my coverage of the examples are quick and dirty, and they (and you) probably deserve more thorough details and explanation, but you get the idea. In a jam, OpenSource tools can come to the rescue in unexpected ways, leveraging a tool, a USB drive, you probably already have in your road-warrior arsenal. Even when you’re not in a jam, the ability to explore technology in a way that does not compromise your current machine setup and data can be liberating, and very educational. If you wind-up liking what you see in a Linux or BSD distribution, many will allow you to install it onto your machine by way links available on the Desktop. I’m working on another post where I will walk through my recent experience with Linux Mint doing that very thing.

Until next time, enjoy.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: