![意外删除了EFI分区,系统仍在运行!](https://linux22.com/image/944798/%E6%84%8F%E5%A4%96%E5%88%A0%E9%99%A4%E4%BA%86EFI%E5%88%86%E5%8C%BA%EF%BC%8C%E7%B3%BB%E7%BB%9F%E4%BB%8D%E5%9C%A8%E8%BF%90%E8%A1%8C%EF%BC%81.png)
我正在运行 Ubuntu 20.04,我不小心删除了 EFI 分区(该死的 GParted!)系统仍在运行。我可以在现在未使用的区域中创建一个新分区,设置 EFI 标志和启动标志,然后运行 update-grub 吗?update-grub 会重新填充 EFI 分区吗?我可以从另一个 Ubuntu 安装中 DD EFI 分区吗?
快速回复, 大大地非常感谢!
答案1
答案2
@Dennis D,只是为了完善你的回答,不是每个人都会拥有另一台装有 *nix 的机器。所以
- 使用 Gparted 在删除原始 EFI 分区创建的“未分配”部分中重新创建一个分区。
- 选择 FAT32,管理标志并设置“启动”标志。
- 使用 blkid 查找新分区的 UUID。
- 编辑 /etc/fstab 以便使用新的 UUID 挂载 /boot/efi。
- 挂载 /boot/efi
sudo grub-install /dev/sdX
使用以下 命令安装 grub:sudo grub-install --efi-directory=/boot/efi
- 跑步
sudo update-grub
在第 6 步,只需小心选择正确的设备(/dev/sda、/dev/sdb 等)。
答案3
我知道解决这个问题有点晚了,因为你的系统已经正常运行了,但我提供了两种不同的解决方案。
删除分区并不会删除数据。将磁盘视为扇区的连续空间(长度约为 512、4096 字节)。有关磁盘分区的信息存储在第一个扇区中(对于 MBR 又称 DOS 分区表)或磁盘的开头和结尾处(对于 GPT)。剩余的磁盘空间留给分区。删除分区只会删除存储有关分区信息的区域中的记录,而不会删除实际的分区数据。只有在同一区域(或其中的一部分)创建另一个分区并写入时,分区数据才会被覆盖。因此,当您再次创建相同的分区时,一切都将再次正常工作。只需确保它具有相同的 UUID(或更改 GRUB 配置和 fstab 中的 UUID)、类型、位置等。
使用安装盘进行修复。Debian 安装 CD,如果我没记错的话,Ubuntu 安装盘的文本模式版本中也有一个专门针对这些问题的工具。它可以重新安装 GRUB 或 LILO,或将其添加到移动安装中。它还可以重新安装核心系统包等。
答案4
有一个简单的解决方案来挽救被删除的分区parted
:
- 启动 Linux 安装 USB 密钥(如 ubuntu live USB 试用或安装)
sudo parted
在终端运行print devices
列出您的设备select
使用命令选择正确的设备print
显示已删除分区所在的洞- 然后使用
rescue
给出上面打印的边界的命令
分区已恢复,其 UUID 未发生改变。您只需重新启动即可。