Maker Pro
Raspberry Pi

Boot Your Raspberry Pi from USB (No SD Card Required)

RT
September 08, 2025 by Rinme Tom
 
Share
banner

If you’ve played with Raspberry Pi long enough, you’ve probably seen the dreaded “SD card failure” screen. Maybe a sudden power cut corrupted it, or maybe it just wore out after endless log writes. Either way, I got sick of swapping microSDs and decided it was time to move on.

Why Bother with USB Boot?

  • SD cards wear out. They’re cheap, but constant reads/writes kill them over time.
  • Speed matters. A good SD card might give you around 38 MB/s write speeds. A USB 3.0 SSD? More like 200 MB/s.
  • Everyday tasks feel faster. Installing packages, browsing the desktop, even boot times all feel snappier.

If you’re just blinking LEDs, an SD card is fine. But for heavier Raspberry Pi projects like a media center, a web server, or anything serious, USB boot is a game-changer.

USB Boot Across Pi Models

Pi 3B: Needs a one-time OTP flag set. Once done, USB works forever.

Pi 3B+: Works out of the box. Just flash OS to USB and go.

Pi 4: Supported via EEPROM bootloader. Might need an update and boot order change.

Pi 5: Native USB and NVMe boot. Just works, no setup needed.

Raspberry Pi 3B: One-Time USB Unlock

This one takes a little setup:

  1. Boot Pi 3B from an SD card with Raspberry Pi OS.
  2. Run the following command in Terminal: echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt. This flips the hidden OTP flag.
  3. Reboot, then check it with: vcgencmd otp_dump | grep 17:. If you see 17:3020000a, USB boot is enabled forever.
  4. Flash Raspberry Pi OS to a USB stick, plug it in, remove the SD, and power up. Done!


Raspberry Pi 3B+: Plug and Play

This one’s easy. The 3B+ ships with USB boot already enabled. Just flash Raspberry Pi OS to a USB stick using Raspberry Pi Imager, plug it in, and it boots right up. No config files, no flags.

Raspberry Pi 4: EEPROM Bootloader

The Pi 4 uses an EEPROM chip for its bootloader. That means you can update it and change boot order.

Option 1: Command line method

  1. Boot from an SD card.
  2. Run: sudo apt update, then sudo apt full-upgrade -y, then sudo rpi-eeprom-update -a.
  3. Open raspi-config and set boot order to USB first.
  4. Reboot, remove the SD, and boot from your USB drive.

Option 2: Raspberry Pi Imager method

Use Raspberry Pi Imager’s “Misc Utility Images → Bootloader → USB Boot” option to prep an SD card. Boot once with it, and your Pi 4 is USB-ready.

Raspberry Pi 5: Native USB and NVMe

The Pi 5 makes it almost too easy:

  • Flash Raspberry Pi OS to a USB SSD.
  • Plug it into the blue USB 3.0 port.
  • Power on. No SD card needed.

Want even faster speeds? Use the onboard PCIe slot with an NVMe drive. That basically turns your Pi into a mini desktop.

Should You Switch?

If you’re doing light tinkering, SD cards are fine. But if you care about reliability, speed, or just want your Pi to feel more like a real PC, USB boot is the way to go.

I’ve switched all my “always-on” Pis such as media servers, Pi-hole, and home automation setups to SSDs, and they’ve been rock solid ever since.


This tutorial references: Boot Raspberry Pi from USB

Related Content

Comments


You May Also Like