LoginSignup
8
5

More than 3 years have passed since last update.

EFIシステムパーティションを破壊した時の対処

Posted at

先日研究室で夜中作業していたときに起こった惨事とその解決法について

何が起こったのか

誤ってパーティションを破壊してしまった。
深夜0時ごろ、ラズパイで遊んでいた友達からSDの中身を消してフォーマットしてくれと頼まれ、
重い目をこすりながらSDをいじった際に何を思ったか誤ってEFIのシステムパーティションを消し去ってしまった。(/boot/efi以下の部分が全て消えていた)

記事をご覧の皆さんはこんなヘマはしないだろうが、この時の解決策を載せておきます。

EFI System Partition とは

消えたEFI System Partitionがどのような役割を担っていたのか

EFI System Partition(archlinux)によると、

EFI System Partition (ESP や EFISYS とも呼ばれます) は FAT32 でフォーマットされた物理パーティション (ディスクのメインのパーティションディスクで、LVM やソフトウェア RAID などとは異なります) でここから UEFI ファームウェアは UEFI ブートローダやアプリケーションを起動します。OS とは独立したパーティションであり、UEFI ブートには必須のパーティションになります。

自分がかなりやばい部分を消してしまったという事実を再認識したところで、解決策を見つけたので書いていく。
(ちなみに、焦りからかこの時点でようやく眠気が引いてきた)

解決手順

①パーティション作り直し

もともとシステムが存在していたところに、新たにパーティションを作成します。
ファイルシステム:FAT32、フラグ:boot

②環境の変更:chroot

ブートローダーを再構築するための下準備

terminal
sudo -s
mkdir /chroot
mount /dev/sda2 /chroot
mount --bind /dev /chroot/dev
mount --bind /dev/pts /chroot/dev/pts
mount --bind /proc /chroot/proc
mount --bind /sys /chroot/sys
mount --bind /run /chroot/run
chroot /chroot

③ブートに必要なgrubをインストール

まず、①のパーティションをマウント ー> grubをインストール

terminal
mount /dev/sda1 /boot/efi
grub-install --efi-directory=/boot/efi
update-grub

以上の手順で /boot/efi 以下が復帰します。
※まだ再起動はかけてはいけません※

④/etc/fstabの変更

/etc/fstab 中のUUIDを変更します
UUIDを確認して、書き換えます。

terminal
blkid /dev/sda1
vim /etc/fstab

終わり

下に載せますが、ほぼ他人様のサイトを参考にしています。
今回の惨事を乗り越えて思ったのは、
「眠すぎるときにPCはいじらない」

参考資料

EFIのパーティションが破損して起動しなくなったUbuntuを直した

8
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
5