\ 年に1度のブラックフライデーセール! /

ラズパイ4をUSB接続のSSDから起動する方法(USBブート)

Raspberry Pi 4でもUSBブートが正式に出来るようになりました。いわゆるstable(安定版)のbootloaderがリリースされています。

当時、2020年7月31日版としてリリースされたbootloaderは現在も細かなバージョンアップが続けられています。ラズパイをUSBブートにする方法は比較的に簡単な作業で実行できます。

一度bootloaderの設定をしたラズパイ本体は、基板にあるフラッシュROMに書き込むため、何度も同じことをしなくても大丈夫です。

設定後は、microSDカードに何も挿入せず、(OSがインストールされた)USB接続のSSDドライブを繋ぐだけで起動することが可能になります。

そんなには難しくないので、SSDドライブの速さを体験してください。microSDカード起動には戻れなくなりますけどね。

この記事の主な流れ

SSDドライブで劇的な速度

何がスゴイのか?と言いますと、SSDドライブなどは同じフラッシュメモリー系のmicroSDカードと次のような点で優れています。

  • 堅牢性UP
  • 速度UP

PCのドライブとして利用することを前提に設計されている点が異なります。

ここで取り上げているのは、PC内蔵型のSSDドライブです。

これ見よがしにmicroSDカードをSSDの上に置いてみた!

USBで起動(ブート)が出来れば、microSDカードはもう必要ありません。思ったよりも難しく無かったので、手順通りにトライしてみてください。

最終的なバージョンなどは、uname -aコマンドで調べてみると分かります。今回は画像にあるバージョンでした。

Linux 5.4.51-v8+、aarch64の64bitとあります。

この記事でご紹介しているRaspberry Pi 4によるUSBブートは、Raspberry Pi 4本体と64bit版のRaspberry Pi OSの組み合わせです。

記事執筆時点では64bit版が正式にリリースされる前でした。そのためベータ版で実施しました。現在は正式リリースされ64bitOSも安定しています。

64bit版Raspberry Pi OSイメージは、Raspberry Pi Imagerの2番目にあるRaspberry Pi OS(other)内にあります。

今回の環境

ハードはRaspberry Pi 4 で行いました。今回はラズパイ4のメモリー8GBモデルです。もちろん4GBモデルでも同じ手順でOKです。(Raspberry Pi 3Bでは既にUSBブートが可能になっています)

  • Raspberry Pi 4 メモリー8GBモデル
  • 内蔵型SSDドライブ+SATA-USB変換ケーブル

起動に使うbootloaderは記事初稿の最新版で2020年7月31日版でした。Raspberry Pi OSも当時の最新版2020-08-20(64bit)を使った事例です。

取りあえず、アップデートとアップグレードは一度実行しておきましょう。

sudo apt update && sudo apt full-upgrade

64bitのRaspberry Pi OS の入手方法

記事公開当時は「2020-08-20-raspios-buster-arm64.zip」を使いました。

現在はRaspberry Pi Imagerから選べます。

Raspberry Pi OS (other)内にあります。

SD Card Copierを使う方法

microSDカードの中身をSSDへそっくりそのままコピーするため、Raspberry Pi OS標準のSD Card Copierというソフトウェアを使います。

いきなりSSDドライブに書き込むことも可能になっていますが、この方法だと現在microSDカードで使っているままをSSDドライブにコピーして切り替えることができます。

全く別のOSを書き込む場合でも、ラズパイにRaspberry Pi Imagerをインストールすれば同様に可能です。

Raspberry Pi OS自体が新規インストールだとしても、基本に則りこの方法で試してみてください。

ラズパイ4でUSB起動(SSD)の環境まとめ

  • Raspberry Pi 4B 8GB(4GBでも良い)
  • SD Card CopierでmicroSDカードの中身をSSDへコピー
  • 操作はほとんどraspi-config
  • SSDドライブはタイムセール祭りで買った格安の内蔵型SSD240GB(480GBでもOK)
  • SSDドライブとの接続に使ったSATA to USB変換アダプターは当たりはずれがあり。
  • 内蔵型2.5インチSSDドライブとRaspberry Piを繋ぐ変換するアダプター(USB3.0からSATA接続)は、どれでも良いわけではないので少しだけ注意が必要です。

変換アダプターを2、3試してみました。ケーブル長20cmや50cmがあるようです。

HDDなどでは電力が足りないこともあります。SSDドライブも1TBなど大容量では上手くいかない製品もあるでしょう。SSDドライブもいきなり大容量を購入せずに安価な物で試してみてください。容量480GBがコスパは良い方です。

アップデート&アップグレード

私は既存のRaspberry Pi OSを使いましたので、先ずはコマンドで最新にアップグレードしないとなりません。

sudo apt update
sudo apt full-upgrade

これで最新のOSになりました。

ただ、この時点でもbootloaderは以前のままです。

ハイライトした部分にあるように、バージョンを調べてみます。

bootloaderのバージョンを調べるコマンド

vcgencmd bootloader_version

この画像では4月16日版となっていますね。これを最新版にしましょう。

8月20日版以降のbootloaderであれば、そのままでも構いません。一応最新の方が安心だと思うなら手順通りにバージョンアップしてください。

新しいメニューがあるraspi-config

最新版のRaspberry Pi OSでは、お馴染みのraspi-configコマンドで表示されるメニューに新たなメニューが加わっています。bootloaderのバージョンを上げるのに使用します。

sudo raspi-config

操作は上下キーで選びENTERキーで決定、ESCキーでキャンセルです。

6.Advanced Optionsの中に以下2つが追加されています。
A6 Boot Order
A7 Boot ROM Version

今回、両方使います。

A6 Boot Orderの方でUSB起動するかどうかを決定するわけですが、先程のbootloaderが古いので、先に新しくしようと思います。

A7 Boot ROM Versionの中に2つのメニューがあります。
E1 Latest Use the latest version boot ROM software
E2 Default Use the factory default boot ROM software

E1が”最新バージョンのブートROMソフトウェアを使用”
E2が”デフォルト工場出荷時のブートROMソフトウェアを使用”

最新にしたいので、E1を選びます。E2は元に戻す時に使います。

最新版のブートROMが選ばれました。次回の再起動時に読み込まれます。「はい」を選んでください。

bootos6_cd

つまり、再起動後には新しいブートローダーに変更になっているので、再起動後にもう一度コマンドで確かめてみましょう。

再起動します。

bootloaderのバージョンを調べるコマンド

vcgencmd bootloader_version

どうですか? 先程よりも新しいバージョンになりましたか?

2022年10月時点では9/2版が最新でアップデートしました。

おまけ

raspi-configではなくても、コマンドでアップデートも可能です。

sudo rpi-eeprom-update

こちらはキャンセルするコマンド(元に戻す)

sudo rpi-eeprom-update -r

USBブートを有効にする前に丸ごとコピー

用意したSSDドライブにはまだ何も入っていません。

既に動いているmicroSDカードのRaspberry Pi OSをそのまま使うので、これをコピーして使います。

ドライブを丸ごとコピーするのに、microSDカードをコピーするソフトウェアがRaspberry Pi OSには最初から入っています。

「SD Card Copier」です。

メニュー → アクセサリ → SD Card Copier

ドライブを選んでコピー実行

上部がmicroSDカード、下部がSSDドライブです。

真っ新なので新しいパーティションにチェックを入れてください。

消しちゃうよ?の確認

指定したSSDドライブの中身が全部消えることにYESとしてスタートボタン。

しばらくするとコピーが終わり、完了したダイアログが出ます。

起動をUSBブートに変更する

2番目がUSBブート

ここまで、Raspberry Pi OSとブートローダーを最新版にし、microSDカードのRaspberry Pi OSをSSDにもコピーしました。

これでUSBブートに変更してもOKになります。

もう一度raspi-configをコマンド実行して、6 Advances Options → A6 Boot Orderへ入ります。

  1. microSDカードから起動(boot)にする
  2. USB起動(boot)にする
  3. ネットワーク起動(boot)にする

3つから選びます。2番目がUSBブートに変更するオプションです。

これで完了です。お疲れ様でした。

再起動してからシャットダウンする

再起動しないと有効になりません。

microSDカードを抜く必要があるため、再起動ではなく一度シャットダウンします。

シャットダウンしてmicroSDカードを抜いてから電源を入れてください。

USBブートの設定でも、microSDカードが入っていると、microSDカードが優先されてしまいます。

SSDで起動している様子

写真でお分かりのように、microSDカードは抜いてSSDドライブの上に置いてあります。繋がっているのはSSDドライブだけという訳です。

速い!

立ち上がりが速いのが分かります!

Chromiumブラウザの起動も3秒以内とかなりサクサクです!

fdiskコマンドで見てみると、確かにmicroSDカードのパーティションがありませんね。

/dev/sdaのサイズが223.6GiBと出ていてext4のLinuxフォーマットになっています。

設定すればmicroSDカードでもUSBブートでもどちらもOK

今回の設定の後、microSDカードをまた差し、USB接続のSSDを取り外して起動してみました。ちゃんと今度はmicroSDカードから起動しましたよ!

更に、もう一度microSDカードを取り出し、また先程のSSDを取り付けて起動すれば、またSSDから起動します!

microSDカードが無い場合 → USBブート
microSDカードが挿してある場合 → microSDカードでブート

raspi-config の手順でUSBブートに設定したので、microSDカードが存在しない状態で起動してもSSDで起動できるわけです。

そしてmicroSDカードはチェックに行くので、もしもmicroSDカードにOSがあればそのまま起動する仕組みです。

最初っからそうして欲しかったくらい便利です。

Argonケースでの実例

Argonのケースだと2.5インチ内蔵型ではなく、M2.2230のSSDドライブが使えます。(但しSATAです

冷却ファンも付いていますから、SSDドライブから発する熱も気になりませんからオススメのケースの1つです。

このArgonのケースでUSBブートをする手順としては、何も変わりませんが、最終的にmicroSDカードを抜くためにケースを開けないとならないということがあります。特殊なUSBアダプタ(ケーブルの代わりになっている)をRaspberry Pi OSからコピーをする時に接続してあげた方が手順としては分かりやすいかなと思います。

既にUSBブート化したラズパイ本体でSSDドライブにOSが入っていたとしても、microSDカードが入っていれば先にmicroSDカードのOSが起動します。
でも、microSDカードを入れるのにも底面を外すので、結局はビス留めは全部終わってからですね。

大したことではないので、改めて書くのもどうなのかとは一瞬思いましたが、最初は私もあれ?と思ったので載せておきます。

最初、ケースのネジはしない方が面倒ではありません。最後にmicroSDカードを抜かないとなりませんし、USBアダプターも最初は接続していなくても大丈夫です。(SSDドライブ側の底面と本体のUSBコネクタに繋ぐためのコの字型の物)

いつも通りmicroSDカードにRaspberry Pi OS 64bitをRaspberry Pi Imagerで書き込んで起動します。

USBアダプタを接続すればデバイスで選べる

デスクトップ画面が表示されたら、早速コピーをしたいので、ここでUSBアダプタを接続してSSDドライブを認識させます。

SDカードコピーソフト

画像のように、コピー元デバイがmicroSDカードの/dev/mmcblk0、コピー先がUSB接続したSSDドライブの/dev/sdaの表示になっています。

ケースに付属しているUSBアダプターを接続すれば外部ドライブとしてマウントされプルダウンメニューから選ぶことができます。

これで記事のようにスタートすればOKです。

コピーが完了した後は、一旦シャットダウン(終了)をします。

ネジは止めていなかったのでUSBアダプターを外してケースを開け、microSDカードを取り出します。

最後にネジ止めして完了です。これでSSDから起動するので、基本的に開けることはないですね。

シールは気にしないでくださいw
Rレッド

普段、UbuntuやらPop!_OSやら別のOSを試すのに、このケースのラズパイを使っています。
Raspberry Pi OSにRaspberry Pi Imagerを追加インストールしておけば手間なしです。

起動用のRaspberry Pi OS入りのmicroSDカードを用意してあれば、簡単にOSを書き換えて試せますからね。

sudo apt install rpi-imager

SDカードCopierを使わない場合

SDカードCopierを使わなくても、Raspberry Pi Imagerが動作するWindows、Mac、Raspberry Pi OSで、OSのイメージをSSDドライブに書き込むことはできます。

もちろんRaspberry Pi 4本体は、事前にUSBブート化設定をraspi-configで行う必要はあります。

USBメモリーと一緒と考えていただければ簡単です。

Argonのケースに限っては、USB-Aオス to USB-Aオスのケーブルが必要になってきますが、SATA変換ケーブルなどを使ったSSDドライブの場合は、USBを該当のPCなりに繋げば同じです。

Raspberry Pi Imagerの書き込み先ストレージにSSDドライブを選んであげるだけです。

Raspberry Pi Imager v1.7.2

SDカードCopierを使う手順は、あくまでも操作しているRaspberry Pi OSをそのままSSDドライブへ移行する手順になります。Raspberry Pi OS以外の新規OSならばSDカードCopierは必要ありませんね。

但し、公式のRaspberry Pi OS以外では、config.txtなどを書き換えるか追記する必要が出てきます。USBブートに関する情報は、各OSに記載されていますので、個別に調べてみてください。

USBブートのラズパイ4って・・・

他のOSの場合はどうなんだろう?

→ UbuntuMATEは更に快適に感じました。

USBブートに対応したRaspberry Pi OS(64bit)に、SSDで起動させてみたら思った以上にサクサクで、メモリーも8GBあるならパソコンと変わらないと感じることでしょう!

少なくても私には、これまでで一番ストレスがないRaspberry Pi OSでした。

Raspberry Pi 4のメモリー8GBモデルは少しお高いです。SSDドライブの利用だと、メモリーの余裕を確実に感じられますので、1枚くらいは購入されるのをオススメしています。

Rグリーン

USBブート化する設定は難しくはなくても、対応しているSSDドライブを選ぶ方が難しいと思う!

以上、USBブートの現場からでした。

\年に1度のブラックフライデーセール!/
Amazonで詳しくみる
\年に1度のブラックフライデーセール!/
Amazonで詳しくみる

速度を測ってみたよ

別の記事でご紹介した速度を計測するスクリプトを導入して計測してみました。結果は・・・SSDストレージのベンチマークに使えるスクリプトに追記しておきました。どれだけ速いのか数字でも確認してください。

Ubuntu MATEでも試したよ

Ubuntu MATEは20.10からUSBブートに対応したとのことで、SSDドライブ起動を試しました。

シェアする
  • URLをコピーしました!

Raspberry Pi 4、400、Zero2W

販売価格は、必ず販売サイトで確認してください。

\年に1度のブラックフライデーセール!/
Amazonで詳しくみる
\年に1度のブラックフライデーセール!/
Amazonで詳しくみる
RaspberryPi
¥15,987 (2022/11/29 14:24時点 | Amazon調べ)
\年に1度のブラックフライデーセール!/
Amazonで詳しくみる

この記事のコメント(承認後に公開)

コメント一覧 (24件)

  • 素晴らしい記事ありがとうございました!おかげさまでSSDに変更できそうです。
    現在、raspi-configの画面が変更されて、bootorderなどの設定がadvancedというメニューの配下になってしまったため、探すのに少々苦戦しました。大きく変更しなくても、スクリーンショット変更などで十分対応できる内容かと思いますので、ぜひ修正もお願いします。

    • 情報をありがとうございます。画面が変わっていましたか。ご進言の通りスクリーンショットなどを変更しますね。助かります。
      SSDドライブなら速いですよ。ホント。
      またお気づきの点があればお知らせください。

  • 手順そのままやってみたんですが,SSDから起動してくれません。
    SDカードから起動してSSDをつないでみると中身はちゃんと書き込まれているように見えますが,
    起動しようとしてみると虹色画面→ラズパイロゴと画面遷移し,それが消えた後そのまま先に進まなくなります。
    この時点でSSDのアクセスランプは消灯しています。
    どんなことが原因と考えられるでしょうか。

    • コメントありがとうございます。先に進まないというのは、黒い画面に何かメッセージが出ていませんか?
      USBブートに切り替わっていないのではないでしょうか?

      USB Boot

      USB Bootの項目を選んでEnableにします。

      • あっ、Enableに設定後は一度再起動しないと有効になりません。
        ですから、microSDカードはそのままで再起動させて、それからシャットダウンして、microSDカードを抜いてSSDドライブを接続してから電源を入れてください。
        ここは分かりづらい表現でしたね。

        これが原因だと良いのですが。
        もしもできたら、他の人のためにもご報告をお願いします。

      • 仰る通り再起動してからやっていたのですがSSDが読み込めませんでした。
        以前からOSそのものの調子が悪かったためコピー元のSDカードを疑いまして,SSDにOSをクリーンインストールして接続してみたらうまくいきました。
        お騒がせしました。

  • こちらのケースはなんというものでしょうか。
    オープンケースとUSBブート

  • lineage osをssd bootしてみたいのですが、やり方わかりませんか?大容量sdカードでlineage os起動すると、すごく遅く鈍いので、m.2ssdケースでlineage osをssd bootしてみたいです、

    • この記事の通り、該当のラズパイをUSB接続のSSDドライブ起動に変更してから、そのUSB接続のSSDドライブを、Windows機などでRaspberry Pi Imagerを使って(microSDカードと同じ扱い)LinageOSを書き込めばできますよ。

      • 了解です、がんばってみます、

      • LinageOSはイメージファイルがあります。古いバージョン且つMICROGというイメージファイルなら、Android 11カスタムROMをラズパイ4にインストール、かなり快適に動作しますの通り、Raspberry Pi Imagerで書き込むだけで済みます。
        MICROGはGAppsなし。
        SSDドライブもUSB接続なら、Raspberry Pi Imagerでドライブを指定できます。microSDカードと同じに捉えてもらえば、と思います。
        ラズパイ本体がUSBブートに設定されているかどうかの違いになります。
        がんばってください。

  • 詳しい情報ありがとうございます、ラズパイでm.2ssd使えるのと使えないのかあるらしいんだけど、WESTERN DIGITAL 0718037-872360 WD Red 3D NANDシリーズ SSD 1TB SATA 6Gb/s M.2 2280 高耐久モデル 国内正規代理店品 WDS100T1R0Bこれであってますか?

    • 同じメーカーで青の500GBは使っています。
      基準規格はM.2 SATA SSDドライブへOSをインストールする方法でご紹介してます。
      NVMeでなく、SATA3で端子は2欠けのKeyBが今のところ条件です。
      保証はできませんが、コメントに書かれていたのは対応していると思われます。記事を参考にして下さい。

  • 先生今日argon m.2ssdとssd来ました、usbブリッジ付けると起動しなくて、色々調べたら、どうやら電気足りないらしいくて、今acアダプター探してました、先生の使ってるアダプター教えてください、

  • 色々調べた結果5V 4A無いとダメらしいです、 
    ブリッジ外すと起動するけど、つけると起動しないので、ブリッジかなと思ったんだけど、起動した後つけると認識するので、とりあえず、アルゴンワンのアダプター(PSEなし)と5V 4Aのアダプター(PSEあり)を買って試して見ます、あと試しにUSBメモリで起動実験してみます、

    • ご報告をありがとうございます。そうですか、1TBだとアンペア足りないのでしょうか??
      USBメモリーで起動するかどうかで少し分かりそうですね。
      また原因が分かりましたら教えてください。

  • usb boot 成功しました、専用アダプターはアリエキスプレスで頼んだので、11月くらいになるそうです、pse付きのアダプターは連絡ないや、来たらレビューします

  • Physical Computing Labのpse付きのアダプターも買ったんだけど、1760円に送料1500円だった大失敗、今日アマゾンでよく探したら送料無料で1600円くらいだった、あとしばらく仕事で旅にでます、レビュー12月くらいになります

  • あれからラズパイダさんの記事読み漁って、間違えに気づきました、テキストエディタでなくてメモ帳で編集してました、あとusbの設定を編集してました、テキストエディタで起動設定の所を変えたら、usbのssdでできました、アルゴンワンの方はまだ出来てません、
    あと俺の持ってる5v3aのアダプター全部ラズパイos でも電気足りないって英語で表示されるけど、ラズパイダさんのほうはどうですか?レトロパイはたまにカミナリマークがつきます、

    • USBブートはできましたか。良かったです。
      電力不足についてですけど、SSDから起動の場合に限り、ACアダプターによって出たこともあります。
      Argonは出ないのですけど、別のキットだと出たりしました。
      microSDカード起動の場合は見かけません。3Bの頃がひどかったから、その印象かも知れませんが。

  • お久しぶりです、まだ家に帰れ無いので、アダプターレビューはできませんが、M.2SSDで起動できました、電源入れてからSSD入れると起動します、差したままだと緑のランプがつかなくて画面真っ暗で起動出来ませんでした
    ineage os18.1でARGONONE M.2ケースのファンの設定ってどうすればいいかな?再起動してからtwrpでターミナルで入れて見たけど、ダメだったよ、

    • できましたか。わざわざありがとうございます。
      ケースファンはPythonスクリプトでしたから、Androidでも動くように改変しないとならないでしょうね。
      https://github.com/Argon40Tech

nanasi へ返信する コメントをキャンセル

コメントは日本語で入力してください。名前は表示されます。メールアドレスは表示されません。

CAPTCHA

この記事の主な流れ