最初に行っておきますが、これは対処療法なので推奨はしません。
それと今回の話は動く状態を固定するという趣旨なので、デスクトップ(X.Org)まで入れたところからになります。 デスクトップを出すところまでは TimeShift とかをつかって気合で復元してください。 できない場合は GRUB 経由で古いカーネルでログインするなどすれば何とかなったりならなかったりします。
何があったか
Ubuntu 24.04.3 から 24.04.4 への更新(多分)に含まれている Linux kernel 6.14 から 6.17 への更新がうまく行かず(dpkg の失敗)、失敗した状態で再起動するとカーネルパニックを引き起こす。 Ubuntu desktop だと自動更新が知らないうちに入って「なんか再起動したらカーネルパニックになったんだけど!」というケースが多数だと思う、てか僕がそう。
- https://ubuntu.com/kernel/lifecycle
- https://www.reddit.com/r/Ubuntu/comments/1qw4a16/issues_after_recent_kernel_update_from_614_to_617/?tl=ja
- https://x.com/zervoid/status/2019571216152166610
どうするか
なので使用するカーネルのバージョンを 6.14 に留めておく設定をします。 言わずもがなこんなんセキュリティ的に問題しかないので、6.17 が正常にインストールできたら設定を戻すことを推奨します。
具体的な方法
適当に /etc/default/grub を開いてください(閲覧なら root 権限不要)。
多分なにも触っていない状態だと以下のようになっていると思います。
|
|
この一番上にある GRUB_DEFAULT が起動時するカーネルを選択するので、これを変更します。
まず uname -r で現在動いているカーネル番号を抑えてください。
|
|
これを /etc/default/grub の GRUB_DEFAULT に書き込みます(root 権限が必要)。
ちょっと書き方が特殊なので、適宜コピペしつつ番号を書き換えてください。
|
|
with うんちゃらかんちゃらのところを起動できるカーネル番号にします。 私の場合は 6.14.0-37-generic がそれなので、そう書きました。 んで、書き換えたら
If you change this file, run ‘update-grub’ afterwards to update /boot/grub/grub.cfg.
に従って
|
|
を実行すれば設定の上書き完了。 これで “Kernel panic!” の画面は見なくて済むんじゃないかな?
今後の話
今のところは上に書いたとおり 6.17 だと動かないですが、もし dpkg がエラーを吐かなくなった暁には GRUB_DEFAULT=0 に戻して最新のカーネルを使えるようにしてあげてください。
以上。