Ubuntu のブートパーティションが破損してしまって起動しなくなってしまいました。その時の復旧手順を記載します。
Ubuntu ブートパーティションを破壊する
Ubuntu のブートパーティションを実際にコマンドで破壊してしまいます。ここではテスト用Ubuntuが既に構築済みであることとインストール用イメージをDVD(またはUSB)に焼いたものを用意した状態で始めます。
- シュレッダー (shred) というコマンドでブートパーティション (sda1) を破壊します。
$ sudo shred /dev/sda1
- Ubuntu を再起動します。
$ sudo reboot
ここで少し待って、Ubuntu (grub) が起動しないことを確認します。
Ubuntu インストール用DVDで起動する
Ubuntu をインストーラーから起動します。そのとき「Try Ubuntu」を選びます。
次にターミナルを選択します。
ブートパーティションを復旧する
ターミナルから次の手順のコマンドを実行してブートパーティションを復旧します。
- ルートパーティションのマウントと chroot
$ sudo mount /dev/sda2 /mnt
$ sudo mount --bind /proc /mnt/proc
$ sudo mount --bind /dev /mnt/dev
$ sudo mount --bind /sys /mnt/sys
$ sudo mkdir -p /mnt/boot/efi
$ sudo chroot /mnt
- grub 再インストール
root@ubuntu: /# grub-install /dev/sda
Installing for i386-pc platform.
Installation finished. No error reported.
root@ubuntu: /# update-grub2
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.15.0-94-generic
Found initrd image: /boot/initrd.img-5.15.0-94-generic
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be executed to detect other bootable partitions.
Check GRUB_DISABLE_OS_PROBER documentation entry.
done
root@ubuntu: exit
復旧環境の確認
既にブートパーティションを復旧しています。
$ sudo reboot
再起動後、BIOS設定でブート対象を復旧ストレージに設定します。
正しくUbuntuが起動していることを確認します。