起動しない EndeavourOS を LiveUSB を使って復旧した
EndeavourOS のパッケージを一斉アップグレードしたところ、起動しなくなってしまったので、LiveUSB を使って復旧した。
grub の最新版(2:2.06.r322.gd9b4638c5-1
, 2022/08/30 時点)にアップグレードすると OS が起動しない問題が起きているらしい。
本件について、EndeavourOS のフォーラムで案内されていた。
The latest grub package update needs some manual intervention
パッケージのアップグレード後に起動しなくなったとき、同様の手順で復旧できるかもしれないので、備忘録として残す。
まとめ
- Live USB(CD) を用意して起動する
- Arch-chroot – Discovery に従って、
arch-chroot
コマンドで EndeavourOS がインストールされているディスクに root ディレクトリを変更する - grub-install で Grub を再インストール
復旧手順
Live USB から起動後、ターミナルを開いてコマンドを実行していく。
arch-chroot を使って、OS をインストールしているディスクに chroot する
まず、以下のコマンドで復旧対象のディスクのパスを確認する。
sudo fdisk -l
コマンドを実行すると、接続されている Disk とそれぞれにパーティションの情報が表示される。 複数表示されるディスクの中で、OS をインストールしているディスクを確認する。
自分の場合は、/dev/nvme1n1
が該当する。(LiveUSBのディスクも表示されるので注意)
表示されている情報を確認すると、以下のように表示されている。
Disk /dev/nvme1n1: 465.76 GiB, 500107862016 bytes, 976773168 sectors
Disk model: WD Blue SN570 500GB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 824B11E5-BE1E-7F40-A66A-C6AFB457427F
Device Start End Sectors Size Type
/dev/nvme1n1p1 4096 618495 614400 300M EFI System
/dev/nvme1n1p2 618496 958313126 957694631 456.7G Linux filesystem
/dev/nvme1n1p3 958313127 976768064 18454938 8.8G Linux swap
この中で、Type が以下のものを確認する。
EFI System
(boot パーティション)Linux filesystem
(Linux ファイルシステムが入っているパーティション)
自分の場合は、以下となった。
- boot バーティション:
/dev/nvme1n1p1
- Linux ファイルシステム:
/dev/nvme1n1p2
上記パーティションのファイルを参照するために mount する。
sudo -i
mount /dev/nvme1n1p2 /mnt
mount /dev/nvme1n1p1 /mnt/boot/efi
arch-chroot
を使って、マウントしたディレクトリをrootディレクトリに変更する。
chroot
する際に必要なマウントや resolve.conf
の設定をやってくれるらしい。便利。
※参考: arch-chroot を使う
arch-chroot /mnt
ls /home
を実行して、自分のユーザディレクトリがあれば問題ない。
ls /home
m1yam0t0
Grub の再インストール
以下のコマンドを実行するだけ。
grub-install
後始末
念の為 chroot
を抜けて、umount
しておく。
再起動すると、無事に OS が起動されることを確認できた。
exit
umount --recursive /mnt
reboot
さいごに
最初に OS が起動しなくて焦ったが、情報やドキュメントがかなり充実していたためすぐに対応できた。 Arch系OS のパッケージの一斉アップデートは時間のあるときにだけ実施すべきと再認識した。
EndeavourOS の最新版では grub の最新版をインストールするようにして、アップデートによる不具合が発生しないようになっている。これからインストールする場合は最新のISOイメージを取得したほうが良いかと思われる。
Full transparency on the Grub issue (UPDATE 29-08-22) – EndeavourOS