Restoring Ubuntu Boot Partition Damage

linux boot

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が起動していることを確認します。