はじめに
Raspberry Pi 5を購入したので、以前から気になっていたSSD起動に挑戦してみました。結論から言うと、「多少高くても、純正品を買うのが一番の近道」という結果になりました。今回はその経緯を紹介します。
SSD起動に挑戦
今回使用した機材です。
- Raspberry Pi 5(8GB)
- Raspberry Pi 27W USB-C Power Supply
- Raspberry Pi M.2 HAT+
- Raspberry Pi SSD(512GB)
- (検証用)KIOXIA BG4(256GB)
最初は手元にあった KIOXIA BG4 を使うことにしました。
「NVMe SSDなら動くだろう」と軽く考えていたのですが、これが苦戦の始まりでした。
BG4では起動が不安定
Raspberry Pi ImagerでOSを書き込み、SSDから起動すると
起動しない
数回に1回しか起動しない
起動途中でフリーズ
起動してもOS全体が固まる
という状態でした。
dtparam=pciex1_gen=2
を設定したりしましたが改善しません。
SSDは壊れていなかった
USB-NVMeケースを購入してWindowsとLinuxで確認すると
SMART正常
エラーなし
Windowsから普通にアクセス可能
という結果でした。つまり、SSD自体は正常でした。
さらに、Dellが公開しているBG4用ファームウェアまで調査しましたが、USB接続では更新できず、最終的には「Raspberry Pi 5との相性」という結論になりました。
純正SSDを購入
ここまで調査しても改善しなかったため、Raspberry Pi公式SSD を購入しました。
すると、Raspberry Pi ImagerでOSを書き込み、SSDを取り付け、電源を入れただけで…
なんと一発起動。
やはり純正品は安心です。
しかし、一つ気になることがありました。
「まだ起動が遅い?」
起動時に
NetworkManager.service
という表示が出て、約1分待たされるのです。
最初はSSDがおかしいのかと思いましたが、起動後に
systemd-analyze blame
を実行すると
1min 44ms NetworkManager-wait-online.service
となっていました。
つまり、SSDではなくネットワーク待ちだったのです。
起動時間は秒になった
そこで
sudo systemctl disable NetworkManager-wait-online.service
sudo systemctl stop NetworkManager-wait-online.service
を実行して再起動したところ、「秒」で起動するようになりました。
ネットワークが完全に接続されるまで待つサービスだったようで、私の用途では不要でした。ただ、インターネットがつながるまでは少し時間がかかります。
※ 起動直後にNASをマウントするなど特殊な用途では必要になる場合があります。
SSD起動は本当に快適
SSD化すると
起動が速い
アプリがすぐ起動する
パッケージ更新も速い
ブラウザも快適
と、microSDとは別物です。とても快適になりました。
これからSSD化する方へ
もちろん、手持ちのSSDでも動くものはたくさんあると思われますが、SSDとの相性は意外とあるように思います。
私のように
原因調査
SMART確認
ファームウェア調査
設定変更
と何日も試行錯誤することを考えると、最初から純正SSDを購入する方が結果的には安く、時間も節約できます。
まとめ
今回学んだことです。
- Raspberry Pi 5のSSD起動は非常に快適
- SSDには相性問題がある
- Raspberry Pi公式SSDは安定して動作した
- 起動が遅い場合はSSDではなく NetworkManager-wait-online.service が原因かもしれない
- systemd-analyze blame は起動時間の調査に非常に便利
そして最後に一言。
やっぱり純正品が一番。
多少価格は高くても、「すぐ使える安心感」は、それ以上の価値があると感じました。
おわりに
今回の検証は生成AIの助けを借りながら行いました。SSDの相性やファームウェアについて予想以上に深く調べることになりました。結果として純正SSDに落ち着きましたが、その過程でRaspberry Piの起動シーケンスなどの調査方法を学ぶことができました。
もしこれからSSD化を考えている方の参考になれば幸いです。また、BG4をRaspberry Pi 5で安定動作させた事例をご存じの方がいらっしゃいましたら、ぜひコメントで教えてください。