Creating a Bootable USB Drive for Linux
Every Linux installation starts with a bootable USB drive. The process is straightforward once you know the tools and have verified your ISO, but there are a few places where things go wrong — corrupt downloads, writing to the wrong drive, or BIOS settings that prevent booting. This guide covers the whole process from start to finish.
Step 1: Download a Linux ISO
Get the ISO from the official website of the distribution you want. Common starting points:
- Linux Mint: linuxmint.com — choose Cinnamon edition for most users
- Ubuntu: ubuntu.com/download/desktop — choose the LTS version
- Fedora: fedoraproject.org — Workstation edition
- Debian: debian.org/distrib — choose the firmware ISO for better hardware support
Always download from the official site. Mirror sites are fine if linked from the official site, but avoid unofficial third-party downloads.
Step 2: Verify the checksum
A corrupted ISO causes installation failures that are difficult to diagnose. Verify the download before writing it to USB.
# Linux / macOS: SHA256 checksum verification
sha256sum ubuntu-24.04.2-desktop-amd64.iso
# a3f2b7b33e27c7c7c3f6e4e2c31d0d8b9c5a6e7f... ubuntu-24.04.2-desktop-amd64.iso
# Compare against the checksum published on the download page
# If they do not match, delete and re-download
# macOS alternative
shasum -a 256 ubuntu-24.04.2-desktop-amd64.iso
# Windows PowerShell
Get-FileHash ubuntu-24.04.2-desktop-amd64.iso -Algorithm SHA256
Most distribution download pages show the expected SHA256 hash next to the download link. If the hash you calculate matches what is shown, the file is intact.
Step 3: Identify your USB drive
Warning: every method of writing a bootable USB completely erases the drive. Before you proceed, make sure you have identified the right device.
# Linux: list all block devices
lsblk
# NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
# sda 8:0 0 500.1G 0 disk
# ├─sda1 8:1 0 512M 0 part /boot/efi
# └─sda2 8:2 0 499.6G 0 part /
# sdb 8:16 1 14.9G 0 disk <- this is the USB
# └─sdb1 8:17 1 14.9G 0 part
# More detail: sizes, labels, filesystems
lsblk -o NAME,SIZE,TYPE,FSTYPE,LABEL,MOUNTPOINT
# Another option: fdisk
sudo fdisk -l
# macOS: list disks
diskutil list
The USB drive is usually the device with the size matching your USB drive (e.g., 8G, 16G, 32G) and with rm (removable) set to 1 in lsblk output.
Creating the USB on Linux
Method 1: dd (command line)
dd is available on every Linux system and is reliable. It gives no progress by default, so use status=progress.
# First: unmount any partitions on the USB that are auto-mounted
sudo umount /dev/sdb1 # unmount partition 1 if mounted
# or to unmount all partitions at once:
sudo umount /dev/sdb*
# Write the ISO to the USB drive
# Replace /dev/sdb with your actual USB device
sudo dd if=ubuntu-24.04.2-desktop-amd64.iso \
of=/dev/sdb \
bs=4M \
status=progress \
oflag=sync
# Explanation of flags:
# bs=4M -- write in 4MB chunks (faster than the default 512 bytes)
# status=progress -- show progress during write
# oflag=sync -- flush writes to disk before finishing (ensures complete write)
# When dd returns to the prompt, the USB is ready
# Typical output at completion:
# 2117861376 bytes (2.1 GB, 2.0 GiB) copied, 142 s, 14.9 MB/s
Method 2: Balena Etcher (graphical)
Etcher is a graphical application that makes the process click-through with fewer opportunities for error.
# Install Etcher on Debian/Ubuntu
# Download the .deb from etcher.balena.io
sudo dpkg -i balena-etcher_*_amd64.deb
# Or via AppImage (no install needed)
chmod +x balenaEtcher-*.AppImage
./balenaEtcher-*.AppImage
Once open: select the ISO, select the USB drive, click Flash. Etcher verifies the write automatically after it completes.
Method 3: Ventoy (multiple ISOs on one drive)
Ventoy installs a bootloader on your USB once, then you copy ISOs to it like regular files.
# Download Ventoy from ventoy.net, extract it
tar xf ventoy-*.tar.gz
cd ventoy-*/
# Install Ventoy to USB drive (replaces all content)
sudo ./Ventoy2Disk.sh -i /dev/sdb
# This creates two partitions:
# - a small Ventoy EFI partition
# - a large EXFAT partition for your ISOs
# Then simply copy ISO files to the USB
cp ubuntu-24.04.2-desktop-amd64.iso /media/user/Ventoy/
cp fedora-workstation-40.iso /media/user/Ventoy/
# At boot, Ventoy shows a menu to choose which ISO to boot
Ventoy is especially useful if you work with multiple distributions or keep a rescue ISO alongside your installation ISO.
Creating the USB on Windows
Rufus (recommended for Windows)
Rufus is a free, trusted tool for creating bootable USB drives on Windows.
- Download Rufus from rufus.ie
- Insert your USB drive
- Open Rufus (no installation needed)
- Under “Device,” select your USB drive
- Under “Boot selection,” click SELECT and choose your ISO
- Rufus detects the right partition scheme (MBR for BIOS, GPT for UEFI) — leave it on the recommended setting
- Click START, confirm the warning that the drive will be erased
For modern computers with UEFI firmware, Rufus will typically select GPT partition scheme and UEFI target, which is correct.
Balena Etcher on Windows
Etcher also has a Windows version and works identically to the Linux version: select ISO, select drive, flash.
Creating the USB on macOS
# macOS: use dd (built in)
# First find the USB device
diskutil list
# /dev/disk2 is usually the USB -- verify by size
# Unmount the disk (not eject)
diskutil unmountDisk /dev/disk2
# Write the ISO
# macOS uses /dev/rdisk2 (raw disk) for faster writes
sudo dd if=ubuntu-24.04.2-desktop-amd64.iso \
of=/dev/rdisk2 \
bs=4m
# When complete, eject
diskutil eject /dev/disk2
Balena Etcher also has a macOS version and is simpler for users who prefer a graphical tool.
Booting from the USB
Once the USB is written, you need to tell your computer to boot from it.
Option 1: Change boot order in BIOS/UEFI
- Shut down your computer
- Power on and immediately press the key to enter BIOS/UEFI setup (typically Del, F2, F10, or Esc — the screen usually shows which key briefly)
- Find the “Boot” or “Boot Order” section
- Move USB to the top of the boot order
- Save and exit (usually F10)
Option 2: One-time boot menu
Most computers have a key you can press at startup to get a one-time boot device selection menu, without permanently changing the boot order:
| Manufacturer | Common key |
|---|---|
| Dell | F12 |
| HP | F9 or Esc then F9 |
| Lenovo | F12 or Novo button |
| ASUS | Esc or F8 |
| Gigabyte | F12 |
| MSI | F11 |
| Apple (Intel) | Option (Alt) |
Press the key immediately after powering on, before the OS starts loading.
After booting the USB
You will land in the live environment. From here you can:
- Try Linux without installing (fully functional, nothing is written to your drive)
- Open the installer to install Linux to your internal drive
- Run diagnostic tools
- Access your existing files if needed
# Once booted into the live environment, you can verify
# hardware compatibility before committing to install
lspci | grep -i network # check network card detected
lspci | grep -i vga # check GPU detected
free -h # check RAM visible
lsblk # check internal drives detected
If the live environment works correctly — Wi-Fi connects, display is at native resolution, keyboard and touchpad work — the installation will go smoothly.
Frequently Asked Questions
What is a bootable USB drive?
A bootable USB drive contains a complete operating system image written in a way that a computer can start from it instead of from its internal hard drive. When you power on a computer with a bootable USB inserted and configure the firmware (BIOS or UEFI) to boot from USB first, the computer loads the operating system from the USB drive. For Linux installation, the USB drive contains a live environment where you can try Linux without installing anything, plus the installer that copies Linux to your internal drive. The USB drive is not modified during installation — it can be reused to install Linux on other machines.
How do I use dd to create a bootable USB on Linux?
First, identify your USB drive device name with lsblk or fdisk -l — it will be something like /dev/sdb or /dev/sdc. Make absolutely sure you have the right device; dd will overwrite it completely without warning. Unmount any mounted partitions with umount /dev/sdb1. Then run: sudo dd if=/path/to/linux.iso of=/dev/sdb bs=4M status=progress oflag=sync. Replace /dev/sdb with your actual USB device. The status=progress flag shows write speed and progress. The command takes a few minutes to complete. When it returns to the prompt, the USB is ready.
What is Ventoy and why would I use it instead of dd?
Ventoy is a tool that turns a USB drive into a multi-boot device. Instead of overwriting the USB with a single ISO, Ventoy installs a small bootloader on the USB and then lets you simply copy ISO files onto it as regular files. At boot, Ventoy presents a menu of all ISOs on the drive and lets you choose which one to boot. This means you can have Ubuntu, Fedora, and an Arch installer all on one USB drive without needing multiple drives or re-writing the drive for each distribution. Ventoy is available for Linux, Windows, and macOS. After installing Ventoy on the USB once, adding new ISOs is as simple as copying a file.
Should I verify the ISO checksum before writing?
Yes. ISO files can be corrupted during download due to network errors, and a corrupted ISO will produce a broken installer that fails mid-installation. Every Linux distribution provides SHA256 checksums alongside their download links. To verify on Linux: sha256sum ubuntu-24.04-desktop-amd64.iso and compare the output to the checksum on the download page. On macOS: shasum -a 256 filename.iso. On Windows via PowerShell: Get-FileHash filename.iso -Algorithm SHA256. If the checksum does not match, delete the file and download again. Verifying takes 30 seconds and prevents hours of troubleshooting a failed installation.
What size USB drive do I need?
Most Linux installation ISOs are between 1GB and 4GB in size. A 8GB USB drive is sufficient for a single ISO and is the practical minimum for comfortable use. If you plan to use Ventoy with multiple ISOs, or if you want to store files alongside the installer, use a 16GB or 32GB drive. The USB drive speed matters for installation time: a USB 3.0 drive writing to a USB 3.0 port will complete the installation significantly faster than a USB 2.0 drive. Most modern computers have USB 3.0 ports (blue-colored receptacles). The installation itself typically takes 10-30 minutes depending on drive speed.
Why will my computer not boot from the USB drive?
The most common reasons a computer will not boot from USB are: the boot order in BIOS/UEFI is set to try the hard drive before USB (change it to put USB first, or use the one-time boot menu usually accessed with F11, F12, or Esc at startup); Secure Boot is blocking the unsigned Linux bootloader (either disable Secure Boot in UEFI settings, or use a distribution like Ubuntu or Fedora that ships with a signed shim bootloader); the USB was not written correctly (re-create it using dd or Etcher); or the USB drive itself is faulty. Try a different USB port, particularly a USB 2.0 port, as some older BIOS firmware cannot boot from USB 3.0 ports.