Linuxカーネルアップグレード失敗からの復旧|Ubuntu Studio
サブPC に導入しているUbuntu Studio 22.04LTSの端末から apt dist-upgrade コマンドでアップグレードしていたらカーネルビルドの途中で停止し、PCがフリーズしてしまった。
電源ボタン長押しシャットダウン後、PC起動すると通常通りデスクトップは表示され動作もする。が、これ以降全てのアプリケーションパッケージがアップグレード出来なくなってしまった。
さらに端末から dpkg --configure -a コマンドを実行するとカーネルビルドの途中で停止しフリーズ、コンソールから実行してみると kernel panic と表示された。
OSのバックアップイメージを作るのを忘れていたので再インストールするしかないが設定するのが面倒くさい。どうにか復旧出来ないものかともがいてみたところ、dpkg コマンドで復旧できた。原因も分かったのでその備忘録。(2023年12月)
主なPC仕様
マザーボード | ASUS PRIME Z390-A |
---|---|
CPU | Core i9-9900K | CPUクーラー | DeepCool AK500 |
メモリーモジュール | XMP,32GB |
グラフィックスボード | GeForce RTX3060 | 電源ユニット | 750W |
m.2 SSD | NVMe 250GB |
2.5" SSD | 2台 |
ODD | ASUS |
Ubuntu Studio
バージョン:Ubuntu Studio 22.04.3LTS
発生状況:kernel 5.15.0-89-lowlatency を kernel 5.15.0-91-lowlatencyへアップグレード
原因:マザーボードでオーバークロック設定(下記)した状態で dist-upgradeコマンドを実行したため
- AI Overclocking [AI Optimized]
- X.M.P. [Enabled]
現象:
- sudo apt dist-upgrade の途中で停止して以降、カーネルパニックが頻発する
- dpkg --configure -a の実行途中でカーネルパニックを起こす
復旧までのドキュメント:
①コンソールに降りて(nvidiaドライバが原因と思っていた)
$ sudo /etc/init.d/sddm stop $ sudo apt purge nvidia-*
でカーネルパニックを起こす(PCリセットボタンで再起動)
②コンソールに降りて(triggers/unincorpファイルの修復)
$ rm /var/lib/dpkg/triggers/Unincorp $ sudo touch /var/lib/dpkg/triggers/Unincorp $ sudo dpkg --configure -a
でカーネルパニックを起こす(PCリセットボタンで再起動)
③デスクトップ上、端末から
$ sudo dpkg --audit
を実行すると linux-headers の構成時に問題発生、dpkg --configure <package>を試行せよとのメッセージ
④デスクトップ上、端末から
$ sudo dpkg --configure linux-headers-5.15.0-91-generic
を実行すると途中で停止する。数十秒後自動的にPC再起動した
⑤デスクトップ上、端末から再度
$ sudo dpkg --audit
を実行すると今度は initramfs-tools の構成時に問題発生のメッセージ、linux-headersの再構成は成功したのか?
$ sudo dpkg --configure initramfs-tools
を実行すると成功した。その後
$ sudo dpkg --configure -a
で途中で停止する。数十秒後自動的にPC再起動した
⑥デスクトップ上、端末から再度
$ sudo dpkg --audit
を実行すると失敗パッケージ数が減り linux-image と libreoffice-calc の再構成を試行せよとのメッセージ
⑦デスクトップ上、端末から
$ sudo dpkg --configure linux-image-5.15.0-91-lowlatency $ sduo dpkg --configure libreoffice-calc
を実行すると成功した
⑧デスクトップ上、端末から
$ sudo dpkg --audit
を実行すると失敗パッケージの メッセージ は無くなった
⑨PC再起動すると
kernel 5.15.0-91-lowlatency へアップグレードしていた
⑩オーバークロック設定変更
- AI Overclocking [通常]
- X.M.P. [Enabled]
結果:24時間後解決(復旧)した
補足:sudo dpkg --audit の標準出力(一部抜粋)
以下はデスクトップ上の端末から4回コマンド実行した際のメッセージです。(日本語訳は加筆)
1回目
前のセクション③を行った後の結果
Konsole-KDE's : The following packages have been unpacked but not yet configured. They must be configured using dpkg --configure or the configure menu option in dselect for them to work: 次のパッケージは解凍されていますが、まだ構成されていません。これらが機能するには dpkg --configure または dselect のconfigure メニュー オプションを使用して設定する 必要があります。 binutils GNU assembler, linker and binary utilities ︙ 中略(33個のパッケージ) ︙ xserver-xorg-legacy setuid root Xorg server wrapper The following packages are only half configured, probably due to problems configuring them the first time. The configuration should be retried using dpkg --configure <package> or the configure menu option in dselect: 次のパッケージは、おそらく最初の構成時に問題が発生したため、まだ半分しか構成 されていません。dpkg --configure <package> または dselect のconfigure メニュー オプションを使用して構成を再試行する必要があります。 linux-headers-5.15.0-91-generic Linux kernel headers for version 5.15.0 on 64 The following packages have been triggered, but the trigger processing has not yet been done.Trigger processing can be requested using dselect or dpkg --configure --pending (or dpkg --triggers-only): 以下のパッケージはトリガーされましたがトリガー処理がまだ行われていません。 トリガー処理はdselectまたはdpkg --configure --pending(または dpkg --triggers-only) を使用してリクエストできます。 dbus simple interprocess messaging system (daemon and utilitie initramfs-tools generic modular initramfs generator (automation) ︙ 中略(6個のパッケージ) ︙ shared-mime-info FreeDesktop.org shared MIME database and spec
上記下線部の dselect は当然インストールできないので使えるのは dpkg のみです。
2回目
前のセクション④、⑤を行った後の結果
Konsole-KDE's : The following packages have been unpacked but not yet configured. They must be configured using dpkg --configure or the configure menu option in dselect for them to work: 次のパッケージは解凍されていますが、まだ構成されていません。これらが機能するには dpkg --configure または dselect のconfigure メニュー オプションを使用して設定する 必要があります。 binutils GNU assembler, linker and binary utilities ︙ 中略(33個のパッケージ) ︙ xserver-xorg-legacy setuid root Xorg server wrapper The following packages are only half configured, probably due to problems configuring them the first time. The configuration should be retried using dpkg --configure <package> or the configure menu option in dselect: 次のパッケージは、おそらく最初の構成時に問題が発生したため、まだ半分しか構成 されていません。dpkg --configure <package> または dselect のconfigure メニュー オプションを使用して構成を再試行する必要があります。 initramfs-tools generic modular initramfs generator (automation)
linux-headersのエラーは消えたが initramfs-toolsが出た。
3回目
前のセクション⑥を行った後の結果
Konsole-KDE's : The following packages have been unpacked but not yet configured. They must be configured using dpkg --configure or the configure menu option in dselect for them to work: 次のパッケージは解凍されていますが、まだ構成されていません。これらが機能するには dpkg --configure または dselect のconfigure メニュー オプションを使用して設定する 必要があります。 binutils GNU assembler, linker and binary utilities ︙ 中略(33個のパッケージ) ︙ xserver-xorg-legacy setuid root Xorg server wrapper The following packages are only half configured, probably due to problems configuring them the first time. The configuration should be retried using dpkg --configure <package> or the configure menu option in dselect: 次のパッケージは、おそらく最初の構成時に問題が発生したため、まだ半分しか構成 されていません。dpkg --configure <package> または dselect のconfigure メニュー オプションを使用して構成を再試行する必要があります。 libreoffice-calc office productivity suite -- spreadsheet linux-image-5.15.0-91-lowlatency Signed kernel image lowlatency
initramfs-toolsのエラーは消えたが libreofficeと linux-imageが出た。
4回目
前のセクション⑦、⑧を行った後の結果
Konsole-KDE's :
$ _
何も表示されず入力待ちの状態になりました。