# Live USB

A live USB is a portable USB-attached external data storage device containing a full operating system that can be booted from. The term is reminiscent of USB flash drives but may encompass an external hard disk drive or solid-state drive, though they may be referred to as "live HDD" and "live SSD" respectively. They are the evolutionary next step after live CDs, but with the added benefit of writable storage, allowing customizations to the booted operating system. Live USBs can be used in embedded systems for system administration, data recovery, or test driving, and can persistently save settings and install software packages on the USB device.
Many operating systems including Mac OS 9, macOS, Windows XP Embedded and a large portion of Linux and BSD distributions can run from a USB flash drive, and Windows 8 Enterprise has a feature titled Windows To Go for a similar purpose.

## Background

To repair a computer with booting issues, technicians often use lightweight operating systems on bootable media and a command-line interface. The development of the first live CDs with graphical user interface made it feasible for non-technicians to repair malfunctioning computers. Most Live CDs are Linux-based, and in addition to repairing computers, these would occasionally be used in their own right as operating systems.
Personal computers introduced USB booting in the early 2000s, with the Macintosh computers introducing the functionality in 1999 beginning with the Power Mac G4 with AGP graphics and the slot-loading iMac G3 models. Intel-based Macs carried this functionality over with booting macOS from USB. Specialized USB-based booting was proposed by IBM in 2004 with Reincarnating PCs with Portable SoulPads and Boot Linux from a FireWire device.

## Benefits and limitations

Live USBs share many of the benefits and limitations of live CDs, and also incorporate their own.

### Benefits

* In contrast to live CDs, the data contained on the booting device can be changed and additional data stored on the same device. A user can carry their preferred operating system, applications, configuration, and personal files with them, making it easy to share a single system between multiple users.
* Live USBs provide the additional benefit of enhanced privacy because users can easily carry the USB device with them or store it in a secure location (e.g. a safe), reducing the opportunities for others to access their data. On the other hand, a USB device is easily lost or stolen, so data encryption and backup is even more important than with a typical desktop system.
* The absence of moving parts in USB flash devices allows true random access, thereby avoiding the rotational latency and seek time (see also mechanical latency) of hard drives or optical media, meaning small programs will start faster from a USB flash drive than from a local hard disk or live CD. However, as USB devices typically achieve lower data transfer rates than internal hard drives, booting from older computers that lack support for USB 2.0 or newer can be very slow.

### Limitations

* Live USB OSes like Ubuntu Linux apply all filesystem writes to a casper filesystem overlay (casper-rw) that, once full or out of flash drive space, becomes unusable and the OS ceases to boot.
* USB controllers on add-in cards (e.g. ISA, PCI, and PCI-E) are almost never capable of being booted from, so systems that do not have native USB controllers in their chipset (e.g. such as older ones before USB) likely will be unable to boot from USB even when USB is enabled via such an add-in card.
* Some computers, particularly older ones, may not have a BIOS that supports USB booting. Many which do support USB booting may still be unable to boot the device in question. In these cases a computer can often be "redirected" to boot from a USB device through use of an initial bootable CD or floppy disk.
* Some Intel-based Macintosh computers have limitations when booting from USB devices – while the Extensible Firmware Interface (EFI) firmware can recognize and boot from USB drives, it can do this only in EFI mode. When the firmware switches to "legacy" BIOS mode, it no longer recognizes USB drives. Non-Macintosh systems, notably Windows and Linux, may not be typically booted in EFI mode and thus USB booting may be limited to supported hardware and software combinations that can easily be booted via EFI. However, programs like Mac Linux USB Loader can alleviate the difficulties of the task of booting a Linux-live USB on a Mac. This limitation could be fixed by either changing the Apple firmware to include a USB driver in BIOS mode, or changing the operating systems to remove the dependency on the BIOS.
* Due to the additional write cycles that occur on a full-blown installation, the life of the flash drive may be slightly reduced. This doesn't apply to systems particularly designed for live systems which keep all changes in RAM until the user logs off. A write-locked SD card (known as a Live SD, the solid-state counterpart to a live CD) in a USB flash card reader adapter is an effective way to avoid any duty cycles on the flash medium from writes and circumvent this problem. The SD card as a WORM device has an essentially unlimited life. An OS such as Linux can then run from the live USB/SD card and use conventional media for writing, such as magnetic disks, to preserve system changes; see persistence (computer science).

## Setup

Various applications exist to create live USBs; examples include Universal USB Installer, Rufus, Fedora Live USB Creator, and UNetbootin. There are also software applications available that can be used to create a Multiboot live USB; some examples include YUMI Multiboot Bootable USB Creator and Ventoy. A few Linux distributions and live CDs have ready-made scripts which perform the steps below automatically. In addition, on Knoppix and Ubuntu extra applications can be installed, and a persistent file system can be used to store changes. A base install ranges between as little as 16 MiB (Tiny Core Linux) to a large DVD-sized install (4 gigabytes).
To set up a live USB system for commodity PC hardware, the following steps must be taken:
* A USB flash drive needs to be connected to the system, and be detected by it
* One or more partitions may need to be created on the USB flash drive
* The "bootable" flag must be set on the primary partition on the USB flash drive
* An MBR must be written to the primary partition of the USB flash drive
* The partition must be formatted (most often in FAT32 format, but other file systems can be used too)
* A bootloader must be installed to the partition (most often using syslinux when installing a Linux system)
* A bootloader configuration file (if used) must be written
* The necessary files of the operating system and default applications must be copied to the USB flash drive
* Language and keyboard files (if used) must be written to the USB flash drive
* USB support in the BIOS’s boot menu (although there are ways to get around this; actual use of a CD or DVD can allow the user to choose if the medium can later be written to. Write Once Read Many discs allow certainty that the live system will be clean the next time it is rebooted.)
Knoppix live CDs have a utility that, on boot, allows users to declare their intent to write the operating system's file structures either temporarily, to a RAM disk, or permanently, on disk or flash media to preserve any added configurations and security updates. This can be easier than recreating the USB system but may be moot since many live USB tools are simple to use.

## Full installation

One alternative to the live operating-system solution would be a full installation; that is, a traditional installation, but without swap partitions. This option has the advantage of being efficient for the software, as it eliminates the need for the device to retain – separate from the persistent file – the operating-system’s installer software. However, full installation is not without disadvantages; due to the additional write cycles that it requires, the life of the flash drive may be slightly reduced. To mitigate this, some live systems are designed to store changes in RAM until the user initiates a system powerdown, which triggers the actual writes to the device. The trade-off is greater risk of lost work, in the case of an abnormal abort. Beyond these, another factor to consider is that, if the transfer speed of the storage device is poor, then performance can be reduced to a rate more typical of legacy computers – even for machines with modern components. This issue can usually be overcome by installing to a USB hard drive, as they generally perform better than flash drives, regardless of the connector.

### Microsoft Windows

Although many live USBs rely on booting an open-source operating system such as Linux, it is possible to create live USBs for Microsoft Windows by using Diskpart or WinToUSB.