Create Linux USB Installer on Linux

Overview

This guide shows you how to create a bootable Linux USB installer from an existing Linux system. This is the most straightforward method since Linux has native tools built in.

What You Need

Method 1: Using dd (Universal)

The dd command is available on every Linux system.

Step 1: Identify Your USB Drive

# List block devices
lsblk

# Or use fdisk
sudo fdisk -l

# Look for your USB — note the device name like /dev/sdb or /dev/sdc
# IMPORTANT: Do NOT use a partition number (e.g., sdb1) — use the whole disk

Step 2: Unmount Any Mounted Partitions

# Unmount all partitions on the USB
sudo umount /dev/sdX*

# Replace sdX with your actual device (e.g., sdb)

Step 3: Write the ISO

# Basic dd command
sudo dd if=/path/to/linux.iso of=/dev/sdX bs=4M status=progress oflag=sync

# The status=progress flag shows real-time progress
# oflag=sync ensures data is flushed to disk

Step 4: Verify and Eject

# Sync to ensure all writes complete
sudo sync

# Safely remove
sudo eject /dev/sdX

Method 2: Using cat (Simple Alternative)

# Direct copy — just as effective as dd
sudo cat /path/to/linux.iso > /dev/sdX
sync

Method 3: Using mkusb (Ubuntu/Debian GUI)

A dedicated tool with persistence support for Ubuntu flavors.

# Install mkusb
sudo add-apt-repository ppa:popa-matei/mkusb
sudo apt update
sudo apt install mkusb

# Launch the GUI
mkusb

Method 4: Using ventoy (Advanced)

Ventoy lets you put multiple ISOs on one USB and choose at boot.

  1. Download Ventoy from ventoy.net
  2. Extract and run the installer:
    sudo ./Ventoy2Disk.sh /dev/sdX
  3. Copy ISO files directly onto the newly created Ventoy partition
  4. Boot the USB — you'll see a menu to select which ISO to load

Persistent Live USB (Ubuntu/Debian)

Create a live USB that saves your changes between reboots:

# Using mkusb (recommended for persistence)
mkusb -s /path/to/ubuntu.iso /dev/sdX

# Or use YUMI (Windows tool) with persistence option

Troubleshooting