Amazonのアソシエイトとして、ラズパイダ(raspida.com)は適格販売により収入を得ています。詳しくは当サイトの プライバシーポリシーをご覧ください。

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

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

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

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

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

現在販売されているRaspberry Pi 本体は、何も設定せずともOSを書き込んだUSB接続のSSDドライブを繋げて、microSDカードを抜けばUSB起動します。明示的にUSB起動させたい場合は、記事の通りに設定してください。

Raspberry Pi はSATA規格のSSDドライブに対応しています。

M.2 2280 SATAで商品検索

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

■Pi 5は8GBモデルがオススメ

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へ入ります。

USBデバイスがデフォルトのブートデバイスになりました。

  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 one

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カードを取り出します。

argonケースと拡張ベイ

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

シールは気にしないでくださいw

Rレッド 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って・・・

Raspberry Pi はSATA規格のSSDドライブに対応しています。

M.2 2280 SATAで商品検索

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

Rグリーン Rグリーン
UbuntuMATEは更に快適に感じました。

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

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

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

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

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

Crucial クルーシャル SSD 480GB BX500 SATA3 内蔵2.5インチ 7mm 3年保証 CT480BX500SSD1 [並行輸入品]

速度を測ってみたよ

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

Ubuntu MATEでも試したよ

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