Raspberry PiでUSBメモリ(フラッシュドライブ)を使う場面は、OSをUSBメモリから起動する場合と、データ保存用に増設する場合の2つに分かれます。前者はブートローダーのBOOT_ORDER、後者は/etc/fstabの書き方でつまずきやすく、どちらも機種やOSの版で手順が変わります。
この記事では、2026年1月に発売されたRaspberry Pi公式のFlash Driveの仕様を確認したうえで、機種別のUSBブート対応、Pi 4/Pi 5での起動手順、fstabによる自動マウント、SDカードからの移行までを公式ドキュメントの記述に沿って説明します。
まとめ:Raspberry PiでUSBメモリを使うときの要点
- 公式Flash Driveは128GB(30ドル)と256GB(55ドル)の2種類で、USB 3.0のType-A端子を備えています。持続書き込み速度は75MB/sと150MB/sで、TRIMとSMARTに対応します。
- USBブートは、Pi 4以降ならBOOT_ORDERにUSB(値
4)を含めるだけで使えます。Pi 3B+とZero 2 Wは設定なしで起動でき、Pi 3B・3A+・2B v1.2はOTPへの書き込み(取り消し不可)が必要です。 - BOOT_ORDERは右から読みます。Pi 4の既定値
0xf41は「SD→USB→繰り返し」の意味で、USBを優先するなら0xf14にします。Pi 5の既定イメージの設定は0xf461(SD→NVMe→USB)です。 - SDカードを挿したままだとSDカードから起動します。USBから起動するときは、SDカードを抜くかブート順序を変えてください。
- データ用USBメモリの自動マウントは、fstabにUUIDと
nofailを書きます。nofailを付けないと、USBメモリを外した状態で起動できなくなります。
Raspberry Pi公式Flash Driveの仕様とSDカードとの使い分け
Raspberry Pi社は2026年1月22日に「Raspberry Pi Flash Drive」を発表しました。USB 3.0・USB-A端子のフラッシュドライブで、全面アルミ製の筐体にキーリング用の穴があります。
公式Flash Driveの容量・速度・価格
| 項目 | 128GBモデル | 256GBモデル |
|---|---|---|
| 価格(発表時) | 30ドル | 55ドル |
| 持続書き込み速度 | 75MB/s | 150MB/s |
| 4KBランダム読み込み | 16,000 IOPS | 18,000 IOPS |
| 4KBランダム書き込み | 21,000 IOPS | 22,000 IOPS |
| インターフェース | USB 3.0(USB-A) | USB 3.0(USB-A) |
| NAND構成 | QLC+pSLCキャッシュ | QLC+pSLCキャッシュ |
| TRIM/SMART | 対応 | 対応 |
購入はRaspberry Pi Approved Reseller(公認販売店)経由です。日本での販売価格は販売店ごとに違うため、購入前に各店の表示を確認してください。
QLCとpSLCキャッシュが速度表記に与える影響
公式発表によると、このドライブは高密度のQLC NANDを使い、一部を擬似SLC(pSLC)キャッシュとして確保しています。短時間の書き込みはキャッシュに入るため、USB 3.0の上限近くまで速度が出ます。その後、キャッシュの内容をバックグラウンドで低速なQLC側へ書き出します。
このため、公表されている75MB/sと150MB/sは、キャッシュを使い切った後の持続値です。キャッシュに収まる短時間のコピーでは表記より速く見えることがありますが、大きなイメージファイルを続けて書く場面では、この持続値で見積もるのが安全です。
Raspberry Pi社は、書き込み負荷をかけながら数万回の電源断を繰り返し、突然の抜去や停電にも耐えることを確認したと説明しています。アイドル時にはUSB 3.0の低電力状態へ自動で移行します。なお、旧版の本記事にあった「MLCを採用」という記述は誤りで、公式発表の記載はQLCです。TBW(総書き込み容量)の公称値は公式発表に記載がありません。
SDカード・USBメモリ・NVMe SSDの選び分け
| ストレージ | 起動できる機種 | 向いている用途 |
|---|---|---|
| microSDカード | Compute Module以外の全機種 | 標準構成・入れ替え運用 |
| USBメモリ | Pi 2B v1.2以降(条件あり) | OSの持ち運び・データ増設 |
| USB接続SSD | USBメモリと同じ | 書き込みの多いサーバー用途 |
| NVMe SSD(PCIe) | Pi 5・Pi 500+・CM4・CM5 | Pi 5での常時稼働 |
ログやデータベースの書き込みが続く用途では、書き込み耐性の数値を公表しているSSDの方が寿命を見積もりやすくなります。Pi 5ならPCIe接続のNVMe SSDも使えます。Pi 5とPi 4のインターフェースの違いはRaspberry Pi 5 と Pi 4 の違いを徹底比較|スペック・性能・できること【2026年版】で比較しています。
USBブートの対応機種と既定のブート順序
USBメモリから起動できるかどうかは機種で決まります。Pi 4以降はEEPROMに入ったブートローダーの設定で、それより前の機種はOTP(一度しか書き込めないメモリ)の設定で制御します。
機種別のUSBマスストレージブート対応
| 機種 | USBブート | 必要な作業 |
|---|---|---|
| Pi 5・Pi 500・Pi 4・Pi 400 | 対応 | BOOT_ORDERにUSBを含める |
| Pi 3B+・Zero 2 W | 対応 | 不要(初期状態で可) |
| Pi 3B・3A+・2B v1.2/v1.3 | 対応 | OTPの書き込み |
| Pi 1・Pi 2B v1.1・初代Zero・Zero W | 非対応 | SDカードから起動 |
公式ドキュメントは、Pi 4Bより前の機種について「一部のUSBデバイスで起動できない既知の問題がある」と注記しています。初期のPi 4ではブートローダーの更新が必要な場合もあります。
BOOT_ORDERの読み方と0xf41の誤解
BOOT_ORDERは16進数の各桁(ニブル)が1つの起動方式を表し、右の桁から順に試します。主な値は次のとおりです。
| 値 | 起動方式 |
|---|---|
| 1 | SDカード(CM4はeMMC) |
| 2 | ネットワーク |
| 4 | USBマスストレージ |
| 6 | NVMe(Pi 5・500+・CM4・CM5) |
| 7 | HTTP |
| e | 停止してエラー表示 |
| f | 先頭から繰り返し |
0xf41は右から「1(SD)→4(USB)→f(繰り返し)」と読みます。つまりSDカードが優先で、BOOT_ORDERが空欄のときもこの動作になります。USBを優先する値は0xf14です。0xf41を「USB優先」と説明している解説は少なくなく、旧版の本記事も同じ誤りをしていました。
既定の設定も機種で違います。rpi-eepromリポジトリのdefault系統のイメージ(2026年9月時点)に埋め込まれた設定を見ると、Pi 5用のpieeprom-2026-09-12.binにはBOOT_ORDER=0xf461が書かれており、SD→NVMe→USBの順に試します。Pi 4用のpieeprom-2026-05-17.binにはBOOT_ORDERの行が無いため、既定の0xf41で動きます。どちらもUSBはSDカードより後なので、ブート可能なSDカードを挿したままだとSDカードから起動します。手元の個体の設定は、製造時期や更新履歴で違うことがあるため、rpi-eeprom-configで確認してください。
Pi 3B・3A+・2B v1.2でのOTP書き込み
これらの機種は、SDカードから一度起動してOTPのUSBホストブートのビットを立てる必要があります。config.txtの末尾に次の1行を足して再起動します。
program_usb_boot_mode=1
再起動後に次のコマンドを実行し、17:3020000aと表示されれば書き込みは成功です。公式ドキュメントは、config.txtの末尾に空行を残さないよう注意しています。
vcgencmd otp_dump | grep 17:
OTPへの書き込みは元に戻せません。特にPi 3A+では、このビットを立てるとUSBデバイスモードでの起動が永久にできなくなります。書き込みが終わったら、config.txtから該当行を消して構いません。
Pi 4・Pi 5でUSBメモリから起動する手順
Pi 4以降は、ブートローダーを更新し、USBメモリへOSを書き込み、ブート順序を確認するという3段階で起動できます。
手順1:ブートローダーの更新
まずSDカードでRaspberry Pi OSを起動し、パッケージを更新してrpi-eepromを最新にします。
sudo apt update && sudo apt full-upgrade
sudo rpi-eeprom-update
rpi-eeprom-updateは現在の版(CURRENT)と利用可能な版(LATEST)を表示します。更新があればsudo rpi-eeprom-update -aで適用を予約し、再起動すると書き換わります。Raspberry Pi OSには起動時に自動でブートローダーを更新するサービスもあります。
更新の配信系統はdefault(出荷時相当の安定版)とlatest(新機能を早く入れる版)の2つで、raspi-configの「6 Advanced Options > A5 Bootloader Version」で切り替えます。USBブートだけが目的ならdefaultのままで問題ありません。
手順2:Raspberry Pi ImagerによるUSBメモリへのOS書き込み
USBメモリへの書き込み手順は、SDカードへの書き込みと同じです。PCにUSBメモリを挿してRaspberry Pi Imager(2026年8月17日公開のv2.0.11.1が最新)を起動し、デバイス・OS・書き込み先ストレージを選びます。書き込み先の一覧にはPCの外付けディスクも並ぶため、容量とドライブ名を見て取り違えないようにしてください。
2026年9月15日公開のRaspberry Pi OS(64-bit)は、Debian 13(Trixie)ベースでLinuxカーネルは6.18.50です。ホスト名やSSHの事前設定を含むImagerの使い方はRaspberry Pi Imagerとは|Linux(apt・snap・AppImage)含む各OSのインストールとOS書き込み・SSH/Wi-Fi設定の使い方で詳しく説明しています。Imagerを使わずにddやRufusで書き込む方法は、Arch LinuxのISOをUSBに書き込む手順|dd・Rufus・Ventoyの使い分けとインストールまでの手順がそのまま使えます。
手順3:ブート順序の確認・変更
SDカードを抜いてUSBメモリだけで起動するなら、既定のブート順序のままでも起動します。SDカードを挿したままUSBを優先したい場合は、ブート順序を変えます。
sudo raspi-configを開き、「6 Advanced Options > A4 Boot Order」で次のいずれかを選びます。
B1 SD Card Boot:SDカードを優先し、見つからなければNVMe、次にUSBを試す(推奨)B2 NVMe/USB Boot:NVMeを優先し、次にUSB、最後にSDカードを試すB3 Network Boot:SDカードを優先し、見つからなければネットワーク起動を試す
USBをSDカードより前に置きたいだけなら、raspi-configのメニューより、設定ファイルを直接編集する方が確実です。
rpi-eeprom-config # 現在の設定を表示
sudo rpi-eeprom-config --edit # エディタで編集し、再起動時に適用
エディタでBOOT_ORDER=0xf14に書き換えて保存し、再起動します。設定が反映されたかはrpi-eeprom-configを再度実行して確認します。
Pi 5の電源とUSBポートの電流上限
Pi 5のUSBポートは、5V・5A(25W)対応の電源を認識すると合計1.6Aまで給電できます。それ以外の電源では、上限が600mAに下がります。
USBブートにはさらに注意が必要です。公式ドキュメントによると、3Aの電源に接続したPi 5は既定でUSBブートを行いません。有効にするには/boot/firmware/config.txtにusb_max_current_enable=1を書きます。USBブートに失敗した画面で電源ボタンを1回押すと一時的に有効になり起動を続けますが、この方法は再起動すると元に戻ります。usb_max_current_enable=1で上限を上げる場合は、電源とUSB機器の消費電力が収まることを確認してください。
設定の状態はvcgencmd get_config usb_max_current_enableで確認できます。公式の推奨電源は27WのUSB-C電源です。ブートローダーのPSU_MAX_CURRENT(3000または5000)は、USB PDのネゴシエーションを省略して電源容量を指定する設定なので、実際の電源の能力を超える値は入れないでください。
USBメモリから起動できないときの確認ポイント
起動しないときは、次の順に確認します。
- SDカードが挿さったままになっている:BOOT_ORDERの既定値ではSDカードが先に試されます。
- USBメモリの起動が間に合わない:Pi 3系以前では、起動可能なUSB機器を探す時間が既定で2秒です。SDカードのブート領域に
timeoutという空ファイルを置くと5秒に延びます。Pi 4以降はEEPROMのUSB_MSD_DISCOVER_TIMEOUT(既定20秒)とUSB_MSD_STARTUP_DELAYで調整します。 - ブート可能なUSB機器が複数ある:ブートローダーはすべてのUSBストレージを並行して探し、最初に応答した機器から起動します。USBの接続位置で起動元を指定する方法はありません。
- USB-SATA変換アダプタがUASモードで失敗している:ブートローダーでは読めても、LinuxがUASモードを選ぶと動作しないことがあります。まずSDカードで起動し、その機器がLinux上で正しく見えるか確認します。
- 電力が足りない:HDDはセルフパワーのUSBハブを経由しないと、動いているように見えても断続的に失敗することがあります。
- Pi 3系以前で特定のUSBメモリだけ起動しない:SDカードからは
bootcode.binだけを読み、残りをUSBから読む「bootcode.bin-only」モードで回避できます。
Pi 4以降でHDMIモニタをつないでいれば、ブートローダーの診断画面にブートローダーの版と検出したブート順序が表示されます。
データ用USBメモリのマウントとfstabによる自動マウント
SDカードから起動したまま、USBメモリをデータ保存用に使う場合の手順です。
デスクトップ版の自動マウントの変更点(2026年9月版)
公式ドキュメントには「FAT・NTFS・HFS+などは/media/pi/<ラベル>に自動マウントされ、Lite版は自動マウントしない」とあります。ところが2026年9月15日版のリリースノートには、パネルの取り出し(ejecter)プラグインに外部ドライブの自動マウントを切り替える設定が追加され、ファイルマネージャ(pcmanfm)は既定で自動マウントしなくなったと書かれています。
2026年9月版でUSBメモリを挿しても開かない場合は、ejecterプラグイン側の自動マウント設定を確認してください。ユーザー名がpiでなければ、マウント先のパスもそのユーザー名に変わります。サーバー用途で、ログインしなくても決まった場所にマウントしたいなら、次のfstabの方法を使います。
lsblk・blkidによるUSBメモリの識別と手動マウント
sudo lsblk -o UUID,NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL,MODEL
sudo blkid
sudo mkdir /mnt/mydisk
sudo mount /dev/sda1 /mnt/mydisk
ls /mnt/mydisk
lsblkのSIZE・LABEL・MODEL列でUSBメモリのパーティション(例:sda1)を特定し、FSTYPE列でファイルシステムを確認します。Raspberry Piのカーネル(Pi 5用のbcm2712_defconfig)にはexFATとNTFS3のドライバーがモジュールとして含まれているため、exFATは追加パッケージなしでマウントできます。NTFSは、カーネルのntfs3を使うなら種別にntfs3を指定し、FUSE版を使うならntfs-3gを入れます。公式ドキュメントは、exFATにexfat-fuse、NTFSへの書き込みにntfs-3gを入れる手順で説明しています。マウント先には空のディレクトリを使うことを推奨します。既存のファイルがある場合もマウントできますが、アンマウントするまでそのファイルは見えなくなります。
fstabへのUSBメモリのUUID登録
/dev/sda1という名前は接続順で変わるため、fstabではUUIDで指定します。sudo nano /etc/fstabで次の例を追加します。例の5C24-1453は、先ほど確認したUSBメモリのパーティションのUUIDに必ず置き換えてください。
UUID=5C24-1453 /mnt/mydisk exfat defaults,auto,users,rw,nofail,umask=000,x-systemd.device-timeout=30 0 0
exfatの部分は、lsblkで確認したファイルシステム名(ext4・vfat・ntfsなど)に置き換えます。nofailを付けると、USBメモリが無くても起動を続けます。umask=000は、FATとNTFSで全ユーザーに読み書きを許す指定です。ext4ではこのオプションを使えないので、所有者をchownで設定します。x-systemd.device-timeout=30は、USBメモリが無いときの待ち時間を既定の90秒から30秒に短くします。
書き終えたら、sudo findmnt --verify --verboseでfstabを検査し、sudo systemctl daemon-reloadを実行します。先ほど手動マウントしたUSBメモリをアンマウントしてから、sudo mount /mnt/mydiskでfstabの設定によるマウントを確認します。書き間違いがあると起動時に止まることがあるので、/etc/fstabは編集前にコピーを取っておきましょう。
アンマウントと「target is busy」の対処
sudo umount /mnt/mydisk
sudo apt install lsof
sudo lsof /mnt/mydisk
umountで「target is busy」と表示された場合は、そのディレクトリを開いているプログラムがあります。ターミナルのカレントディレクトリがマウント先の中にある場合も、この表示になります。lsofで原因のプロセスを特定して終了させてください。OSのシャットダウンが正常に完了した後なら、個別のアンマウント操作は不要です。シャットダウンせずに電源を切る操作とは区別してください。
SDカードからUSBメモリへシステムを移行する方法
いま使っているSDカードの環境をそのままUSBメモリへ移すには、デスクトップ版に入っている「SD Card Copier」(パッケージ名piclone)を使います。コピー先の既存データは消去されます。必要なデータを退避してから実行してください。最後のパーティションは、コピー先に収まる最大サイズで作り直されます。そのため、SDカードより大きいUSBメモリでも容量を使い切れます。
- USBメモリを挿し、メニューからSD Card Copierを起動します(コマンドは
piclone)。 - コピー元(Copy From Device)に起動中のSDカード、コピー先(Copy To Device)にUSBメモリを選びます。
- クローンしたUSBメモリをSDカード起動のまま同時にマウントする予定があるなら、「New Partition UUIDs」にチェックを入れます。
- コピーが終わったら電源を切り、SDカードを抜いてUSBメモリから起動します。
同じUUIDのパーティションは同時にマウントできないため、3のチェックを入れないと、SDカードから起動した状態でクローンの中身を確認できません。コピー元のSDカードは、移行後もしばらくは消さずに予備として残しておくと、起動に失敗したときに戻せます。
Lite版のようにGUIが無い環境では、別のPCでSDカードをddなどでイメージ化し、USBメモリへ書き戻す方法があります。この場合はパーティションの拡張を自分で行う必要があります。
USBメモリで避けたい使い方
安価なUSBメモリを、書き込みが止まらない用途の起動ドライブにするのは避けてください。スワップ・データベース・詳細ログを置くと、pSLCキャッシュを使い切った後の低速な状態が続き、応答が悪くなります。常時稼働のサーバーにするなら、書き込み耐性が公表されているSSDを選ぶ方が、交換時期を見積もれます。スワップの確認方法とサイズの決め方はLinuxのスワップ領域(swap)とは|確認・推奨サイズ・vm.swappinessの設定を実コマンドで解説を参照してください。
次の2つも失敗につながりやすい構成です。
- 起動用とデータ用の両方をブート可能なまま挿す:前述のとおり、どちらから起動するかを接続位置で決められません。データ用ドライブには起動用のパーティションを残さないでください。
- Linux専用のデータをFAT32に置く:FAT32はファイルの所有者と権限を持てず、1ファイル4GiB未満という上限もあります。WindowsやmacOSと共有しないならext4を選びます。ネットワーク越しに共有するなら、USBメモリを持ち運ぶよりSambaとは|SMBのLinux実装の仕組みとNFSとの使い分け・AD連携を実装目線で解説で説明しているSMB共有が向いています。
よくある質問
Raspberry Pi Flash Driveの128GBと256GBは速度が違いますか?
違います。持続書き込み速度は128GBが75MB/s、256GBが150MB/sで、キャッシュを使い切った後の書き込みは256GBの方が2倍速くなります。4KBのランダム性能は128GBが読み込み16,000・書き込み21,000 IOPS、256GBが18,000・22,000 IOPSで、差は小さめです。大容量イメージの連続書き込みでは256GBモデルが有利です。ただし、OSのアップデート時間はランダムI/OやCPU、通信速度にも左右され、持続書き込み速度だけでは比較できません。
Raspberry Pi 5はUSBメモリから起動できますか?
起動できます。Pi 5の既定イメージのブート順序(0xf461)にはUSBが含まれており、ブート可能なSDカードとNVMe SSDが無ければUSBから起動します。ただし、3Aの電源では既定でUSBブートが無効です。27W(5A)の公式電源を使うか、config.txtにusb_max_current_enable=1を書いてください。
SDカードとUSBメモリを両方挿すとどちらから起動しますか?
既定のブート順序では、SDカードから起動します。USBを優先するには、sudo rpi-eeprom-config --editでBOOT_ORDER=0xf14に変えてください。
Raspberry Pi 3でUSBブートするには何が必要ですか?
Pi 3B+は設定なしでUSBから起動できます。Pi 3Bと3A+は、config.txtにprogram_usb_boot_mode=1を書いて一度起動し、OTPのビットを立てる必要があります。この書き込みは取り消せません。
fstabでUSBメモリを自動マウントすると起動しなくなるのはなぜですか?
nofailを付けずに登録したUSBメモリが、起動時に見つからないためです。nofailを付け、必要に応じてx-systemd.device-timeout=30で待ち時間を短くしてください。