完全オフラインで使用していたUbuntu20.4の起動が怪しくなってしまったため対応したときのメモ。ついでにUbuntu24.4に更新。結論から言うと、カーネルを変えると問題が解決した。ざっと調べたが、Linuxの起動に関する問題でカーネルの追加は解決策として見つけられなかったのでメモ。
問題
夏に不定期的な停電があり、研究室につくとPCが落ちていることが何度かあった。そのせいかリカバリーモードからブートしないと安定して起動できないという問題が発生した。
行ったこと
オフライン使用していたため、Ubuntuのバージョン更新は放置していた。問題が解決することを期待してUbuntuのアップグレードを行った。
20.4から22.4、22.4から24.4に順次アップグレードした。20.4から22.4に更新し再起動が行われた後、通常モード、リカバリーモードでの起動で問題が発生した。ブート後、黒い画面で止まるか、watchdog: BUG: soft lockup - CPU#XX stuck for 23sと表示されてフリーズした。
いろいろと調査し、リカバリーモードでの各オプションを試したが解決せず。最終的には、以前に起動カーネルを変えると問題なく起動できたことを思い出し、カーネルが破損しているという結論に至った。
解決策
20.4から22.4に更新した際、カーネル(5.15.131)が1つしかない状態であったが、リカバリーモードで起動後networkを有効にした後rootに入り、古いバージョンのカーネル(5.15.121)をインストールした。コマンドは以下の通り。
インストールできるカーネルリストの表示
# apt list --all-versions|grep linux-image-[0-9]|grep generic
カーネルのインストール
# apt install linux-image-<バージョン>-generic
再起動時に起動カーネルを変更したところ、問題なくGUIが起動した。
その後22.4から24.4へのアップグレードは問題なく終了した。
24.4への更新後、最終的なカーネルのバージョンは6.8.0-52となった。
*2025/01/29 当時の対応です。