apt upgrade後にkernel panicで起動不能になったLinux機をLive USBで復旧した話
概要 しぴちゃんには仕事で管理しているAI用サーバー (DGX OS)があります。サーバー機で apt update && apt upgrade を実行したところ、コマンド自体が異常終了。そのまま再起動をかけたら次のようなカーネルパニックでクラッシュループに陥り、起動不可になりました。 1 VFS: Unable to mount root fs on unknown-block(0,0) 原因の切り分けから、Live USB経由でのchroot復旧までの一連の対応を記録しておきましょう。同じ症状に遭遇した人の参考になれば幸いです。 なお、このトラブルシューティングはClaude Code (Sonnet 5)と共同で行い、解決後の記事執筆はClaude Sonnet 5で行っています。 症状 apt upgrade でカーネルが新バージョンに更新された アップグレード処理の途中で失敗し、コマンドが異常終了 そのまま再起動をかけたところ、GRUBの先でカーネルパニックが発生し起動不能に ヘッドレス運用のためGRUBのタイムアウトが 0 に設定されており、通常の起動シーケンスでは古いカーネルへのフォールバックができない状態だった 原因 unable to mount root fs on unknown-block(0,0) は、カーネルがroot filesystemをマウントするための initramfs(初期RAMディスク)を見つけられない場合に発生する典型的なエラーである。 今回のケースでは以下が重なっていた。 新カーネルのイメージ (vmlinuz-*) はインストールされたが、対応する initrd.img-* が生成されないままアップグレードが中断した NVIDIAのGPUドライバなど、DKMS(Dynamic Kernel Module Support)でビルドされる外部カーネルモジュールが、新カーネルに対するビルドに失敗していた(コンパイラの -Werror によって警告がエラー扱いとなり、ビルドが止まっていた) dpkg 上ではこのカーネルパッケージが iF(installed but failed to configure)状態のまま残っていた GRUBはデフォルトで最新(=壊れている)カーネルを指しており、かつメニューのタイムアウトが 0 のため、リモートからは古いカーネルへの切り替えができなかった つまり「新カーネルのinitramfsが存在しない」→「GRUBはそれでも新カーネルを起動しようとする」→「rootfsをマウントできずpanic」という流れである。 ...