この資料は、もともと非公開としていましたが、未来の誰かの役に立つかもしれないので、公開することにしました。
とはいえ、私の環境では Plasma 6 系にアップグレードしたことによって、この問題は解決しており、質問などには回答できない可能性が高いです。
また、非公開であった理由でもあるのですが、だいぶ資料が適当なのはご了承ください。
問題
いつも通り、KDE neon (Linux) の Discover で更新ファイルを適応し、次の日にパソコンを開くと…
end Kernel panic - not syncing : No working init found. Try passing init= option to kernel. See Linux Documentation/admin-guide/init.rst for guidance.
(Linux Kernel が起動できなくなりました。)
黒画面に白文字で以上の文字が表示され、いつもの Kool な KDE が見れなくなってしまいました!!
TL;DR;
解決方法
- 古いカーネル(リカバリーモード)を起動
(LiveUSBから起動するのでもできるかもしれません) -
fsck
とgrub
を選択 (おそらく不要) - GUI を起動
- Discover を更新 (おそらく不要)
-
sudo apt update
とsudo apt full-upgrade
、sudo pkcon update
を実行 (おそらく不要) sudo update-initramfs -u -k all
とsudo update-grub
を実行- シャットダウンする
- 最新(今まで使っていた)カーネルが起動できるようになる (修復完了!!)
たまたま解決できただけなので、解決方法に憶測が多いです。
(ここに書いてあることをすべてやったら解決できると思いますが。)
環境
`..---+/---..` lemon73@lemon73
`---.`` `` `.---.` ---------------
.--.` `` `-:-. OS: KDE neon 5.27 x86_64
`:/: `.----//----.` :/- Host: FMVD13005
.:. `---` `--.` .:` Kernel: 6.5.0-14-generic
.:` `--` .:- `:. Uptime: 1 hour, 32 mins
`/ `:. `.-::-.` -:` `/` Packages: 2221 (dpkg), 16 (flatpak), 12 (snap)
/. /. `:++++++++:` .: .: Shell: bash 5.1.16
`/ .: `+++++++++++/ /` `+` Resolution: 1920x1080
/+` -- .++++++++++++` :. .+: DE: Plasma 5.27.10
`/ .: `+++++++++++/ /` `+` WM: KWin
/` /. `:++++++++:` .: .: Theme: [Plasma], Breeze [GTK2/3]
./ `:. `.:::-.` -:` `/` Icons: [Plasma], breeze-dark [GTK2/3]
.:` `--` .:- `:. Terminal: konsole
.:. `---` `--.` .:` CPU: Intel i3-4160 (4) @ 3.600GHz
`:/: `.----//----.` :/- GPU: Intel 4th Generation Core Processor Family
.-:.` `` `-:-. Memory: 3105MiB / 7858MiB
`---.`` `` `.---.`
`..---+/---..`
原因
更新のダウンロード中にデータが破損し、その破損したファイルが起動に関係するファイルだった。(おそらく)
カーネルの状況
まずKDE neonでは、Linux カーネルを
- 6.2.0-39 - 最新バージョン
- 6.2.0-39(reco) - 最新バージョン (リカバリー用)
- 6.2.0-37 - 1個前のバージョン
- 6.2.0-37(reco) - 1個前のバージョン (リカバリー用)
- 5.?-?-?? - だいぶ古いバージョン
の5つから選択できるのですが、今回はすべて起動できませんでした。(この日は)
(このときは気づいていないのですが、実は下にスクロールできて、5.x 系のリカバリー用が使えます)
自分が試したこと
grubから (失敗)
そのため、grub
のコマンドで修復ができそうなこちらを試してみました。
が、特に変化はありませんでした。
LiveUSBから
次の日、以下の Post を Reddit にて発見しました。
が、先述どおりどのカーネルも動かない (と思っていた?) ので、LiveUSB で SSD をマウントして、そこからこれと同じ方法を試そうと考えました。
環境
- LiveUSB: Linux Mint 20.2 Cinnamon (なぜか最新の21.2が起動できなかったので昔ダウンロードしたものを利用)
- LiveUSB 作成: Fedora Media Writer
マウント作業
- パーティション確認
sudo fdisk -l
- マウントポイント作成
sudo mkdir /mnt/myroot
- SSDをマウント
sudo mount /dev/sda2 /mnt/myroot
自分は Linux filesystem をマウントして失敗しましたが、もしかしたら Linux swap の方をマウントしたら成功するかもしれません。(確か、後で試したのですが、できなかった気がします)
(/dev/sda2
の部分は環境によって異なります。)
- アップデート
sudo apt update
sudo apt full-upgrade -y
sudo apt autoremove -y
6.2.0-37 (reco) が起動できたのはここの作業のおかげかもしれません。
が、実際のところよくわかりません…(ただの確認ミスで本当は最初からそれで起動できたのかもしれないし)
- 先ほどの Reddit の内容を実行
自分は Linux filesystem をマウントしてこの作業を行いましたが、エラーばっかりだったのでおそらくここでは修復できていません。(というか、この後に起動しても同じエラーで起動できませんでした。)
Linux swap をマウントした状態でコマンドを実行したら修復できるかもしれません。
なぜか6.2.0-37 (reco) が使えるようになる
先述のとおり、LiveUSB からアップデートをしたからなのか、元から起動できたのかわかりません (多分関係ないです) が、使えるようになっていたので、こちらから起動し、修復することにしました。
このあとは Reddit の内容と同じことをやっているので詳しい説明は割愛します。
(KDE Discuss にも同様の内容を記載しているので、参考にしてください。)