意外删除了EFI分区,系统仍在运行!

意外删除了EFI分区,系统仍在运行!

我正在运行 Ubuntu 20.04,我不小心删除了 EFI 分区(该死的 GParted!)系统仍在运行。我可以在现在未使用的区域中创建一个新分区,设置 EFI 标志和启动标志,然后运行 ​​update-grub 吗?update-grub 会重新填充 EFI 分区吗?我可以从另一个 Ubuntu 安装中 DD EFI 分区吗?

快速回复, 大大地非常感谢!

答案1

谢谢ubfan1,我能够修复并重新启动。我遵循以下步骤:

  1. 使用以下方法重新创建分区分区在通过删除原始 EFI 分区创建的“未分配”部分中。
  2. 选择FAT32,管理标志并设置“引导”旗帜。
  3. 使用blkid命令来查找UUID新的分区。
  4. 编辑/etc/fstab因此/boot/efi将使用新的进行安装UUID
  5. /boot/efi
  6. 将另一台 Ubuntu 机器上的所有文件复制/boot/efi到新的/boot/efi
  7. 编辑/boot/efi/EFI/ubuntu/grub.cfg有机器的分区被修复UUIDroot
  8. 重启

现在一切都好。

答案2

@Dennis D,只是为了完善你的回答,不是每个人都会拥有另一台装有 *nix 的机器。所以

  1. 使用 Gparted 在删除原始 EFI 分区创建的“未分配”部分中重新创建一个分区。
  2. 选择 FAT32,管理标志并设置“启动”标志。
  3. 使用 blkid 查找新分区的 UUID。
  4. 编辑 /etc/fstab 以便使用新的 UUID 挂载 /boot/efi。
  5. 挂载 /boot/efi
  6. sudo grub-install /dev/sdX使用以下 命令安装 grub: sudo grub-install --efi-directory=/boot/efi
  7. 跑步sudo update-grub

第 6 步,只需小心选择正确的设备(/dev/sda、/dev/sdb 等)。

答案3

我知道解决这个问题有点晚了,因为你的系统已经正常运行了,但我提供了两种不同的解决方案。

  1. 删除分区并不会删除数据。将磁盘视为扇区的连续空间(长度约为 512、4096 字节)。有关磁盘分区的信息存储在第一个扇区中(对于 MBR 又称 DOS 分区表)或磁盘的开头和结尾处(对于 GPT)。剩余的磁盘空间留给分区。删除分区只会删除存储有关分区信息的区域中的记录,而不会删除实际的分区数据。只有在同一区域(或其中的一部分)创建另一个分区并写入时,分区数据才会被覆盖。因此,当您再次创建相同的分区时,一切都将再次正常工作。只需确保它具有相同的 UUID(或更改 GRUB 配置和 fstab 中的 UUID)、类型、位置等。

  2. 使用安装盘进行修复。Debian 安装 CD,如果我没记错的话,Ubuntu 安装盘的文本模式版本中也有一个专门针对这些问题的工具。它可以重新安装 GRUB 或 LILO,或将其添加到移动安装中。它还可以重新安装核心系统包等。

答案4

有一个简单的解决方案来挽救被删除的分区parted

  • 启动 Linux 安装 USB 密钥(如 ubuntu live USB 试用或安装)
  • sudo parted在终端运行
  • print devices列出您的设备
  • select使用命令选择正确的设备
  • print显示已删除分区所在的洞
  • 然后使用rescue给出上面打印的边界的命令

分区已恢复,其 U​​UID 未发生改变。您只需重新启动即可。

相关内容