Jetson Orin Nano NVMe認識しないエラー解決【ファームウェア更新】
Jetson Orin NanoにNVMe SSDを接続したのに認識されない、という問題に直面したことはないだろうか。実はこのトラブル、ファームウェアのバージョンが古いことが原因であるケースが非常に多い。この記事では実機で試した手順をもとに、NVMe認識エラーの原因特定から解決までを丁寧に解説する。
この記事でわかること
NVMe SSDが認識されない原因はファームウェアが多い
Jetson Orin Nanoにお気に入りのNVMe SSD Western Digital SN770 500GB NVMe(Amazon) を挿して起動したのに、lsblkを叩いても何も表示されない。この現象を初めて経験したとき、最初はSSDの初期不良を疑った。ところが別のPCに挿すとあっさり認識される。
この場合、疑うべきはJetsonのファームウェアだ。
Jetson Orin Nanoは内部的にQSPI-NORフラッシュにBootloaderとファームウェアを格納している。JetPackのバージョンを上げてもOSだけが新しくなり、ファームウェアが古いままになっているケースがある。特にJetPack 6系初期からJetPack 6.2に移行した際にこの問題が発生しやすい。
NVMeコントローラーとのネゴシエーション部分がファームウェアに含まれているため、古いファームウェアでは一部のSSDを正しく認識できないことがある。
まず現状を確認する
NVMeが認識されているか確認
lsblk
nvme0n1などのデバイスが表示されなければ認識されていない。
ls /dev/nvme*
こちらも何も表示されない場合は未認識の状態だ。
PCIeバス経由での認識状況を見る
lspci
NVMe SSDはPCIe接続なので、このコマンドでSSDコントローラーのエントリが出るか確認する。出ない場合は物理的な問題かファームウェアの問題が濃厚だ。
現在のファームウェアバージョンを確認
cat /etc/nv_tegra_release
出力例:
# R36 (release), REVISION: 4.1, GCID: 36106926, BOARD: t234, EABI: aarch64, DATE: ...
REVISIONの数字がファームウェアのリビジョンに相当する。JetPack 6.2であればR36.4.3が対応する。これが古いバージョンであればファームウェア更新が必要だ。
ファームウェアを更新する手順
必要なもの
ホストPCにSDK Managerを用意するところから始める。NVIDIAの開発者アカウントが必要なので、持っていない場合は事前に登録しておく。
Jetsonをリカバリーモードで起動する
ファームウェアの書き換えにはリカバリーモードが必要だ。
1. Jetson Orin Nanoの電源をオフにする
2. ボード上のRECOVERYボタンを押しながら電源を入れる
3. 2〜3秒後にRECOVERYボタンを離す
4. USBケーブルでホストPCと接続する
ホストPC側で以下を実行してリカバリーモードを確認する。
lsusb
NVIDIA Corp.という表示があればリカバリーモードに入れている。
SDK Managerでフラッシュする
# SDK Managerを起動
sdkmanager
GUIが起動したら以下の手順で進める。
1. Target HardwareでJetson Orin Nanoを選択する
2. JetPackのバージョンを最新版(2026年時点ではJetPack 6.2)に設定する
3. Target Operating Systemで書き込むコンポーネントを確認する
4. Flashボタンを押して書き込みを開始する
フラッシュには10〜20分程度かかる。完了するまでUSBを抜かないように注意する。NVMe SSDをシステムドライブとして使用する場合は事前にSSDを挿入しておく。
コマンドラインでフラッシュする場合
SDK Managerを使わずに手動でフラッシュしたい場合は、L4T(Linux for Tegra)パッケージを使う方法もある。
# L4Tのルートディレクトリに移動
cd Linux_for_Tegra
# ターゲットを指定してフラッシュ
sudo ./flash.sh jetson-orin-nano-devkit nvme0n1p1
ボードの型番によってターゲット名が異なる点に注意する。Developer Kitの場合はjetson-orin-nano-devkitを使う。
更新後の動作確認
フラッシュが完了したらJetsonを再起動して、NVMeが認識されているか確認する。
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:0 0 476.9G 0 disk
└─nvme0n1p1 259:1 0 476.9G 0 part /
このようにnvme0n1が表示されれば成功だ。
ファームウェアのバージョンも更新されているか確認しておく。
cat /etc/nv_tegra_release
リビジョンが更新されていれば問題ない。JetPack 6.2ではTensorRT 10.3やCUDA 12.6が含まれており、NVMe I/O性能が前バージョン比で最大20%向上する。
それでも認識しない場合のチェックリスト
ファームウェアを更新してもNVMeが認識されない場合は、以下を順番に確認する。
M.2スロットの物理的な確認
Jetson Orin NanoのM.2スロットはM-Keyの2280サイズに対応している。SSDがスロットにしっかり刺さっているか、ネジで固定されているかを確認する。斜めに挿さっているだけで認識しないことがある。
SSDの規格を確認
Jetson Orin NanoはPCIe Gen3 x4に対応している。NVMe SSDにはPCIe Gen4/Gen5のものもあるが、後方互換性があるため通常は動作する。ただしSATAタイプのM.2 SSDは認識されないので注意が必要だ。SSDの仕様書でNVMe(PCIe)であることを確認する。
電力供給の問題
NVMe SSDは起動時に瞬間的に大きな電流を必要とする。USB電源アダプター Anker PowerPort III 65W(Amazon) の出力が不足していると認識が不安定になることがある。公式が推奨する電源を使うことを強くすすめる。
別のSSDで試す
それでも認識しない場合は別のNVMe SSDで試して、ハードウェア側の問題かどうかを切り分けるのが早道だ。Canonical Ubuntu 22.04イメージを使う場合、別途boot firmware更新が必要な既知の問題がある。
まとめ
Jetson Orin NanoでNVMe SSDが認識されないトラブルは、ファームウェアが古いことが原因であるケースが多い。SDK Managerを使ったフラッシュ手順は一見ハードルが高く見えるが、手順通りに進めれば難しくない。
要点をまとめると以下のとおりだ。
lsblkとlspciでNVMeの認識状況を確認するcat /etc/nv_tegra_releaseでファームウェアバージョンを確認するlsblkで認識を再確認するNVMe SSD Western Digital SN770 500GB NVMe(Amazon) をシステムドライブとして使うと、microSDカードと比べてI/O速度が大幅に向上する。AI推論や画像処理など、ファイルアクセスが多いワークロードで体感できる差が出るので、ぜひ安定認識を達成してほしい。
—
次はこちら
NVMe SSDにシステムを移行したら、次はJetsonのパフォーマンスをさらに引き出す設定に挑戦してみよう。

コメント