我的笔记本电脑上安装了 Windows 10 和 Ubuntu Gnome 16.04。由于 Windows 出现一些问题,我决定删除它,在此过程中我意外删除了 Ubuntu 的 EFI 分区。如何在不重新安装整个 Ubuntu 的情况下恢复它?
答案1
如果你没有重新使用磁盘空间,你应该能够使用以下命令恢复分区测试磁盘。以这种方式恢复分区后,基于 NVRAM 的启动管理器引用可能会或可能不会再起作用,因此您可能需要以某种方式将系统恢复到可启动状态。一种方法是使用我的rEFInd 启动管理器在 USB 闪存驱动器或 CD-R 上执行一次性启动,然后使用 创建新的启动项efibootmgr
。命令如下:
sudo efibootmgr -c -d /dev/sda -p 1 -l \\EFI\\ubuntu\\shimx64.efi -L ubuntu
EFI/ubuntu/shimx64.efi
这将为上的引导加载程序文件创建一个新的引导项/dev/sda1
。请根据您的系统需要更改-d
、-p
和选项。-l
需要注意的是:我提供的 rEFInd USB 闪存驱动器和 CD-R 映像不支持安全启动。如果启用了安全启动,您需要禁用它或克服一些困难使 rEFInd 在安全启动激活的情况下工作。如果愿意,您可以暂时禁用安全启动,然后稍后重新启用它。
如果您覆盖了用于保存 ESP 的磁盘部分,那么您的任务会更加困难。您仍然可以使用 rEFInd 进行一次性启动,但随后您需要创建一个新的 ESP,并使用 Ubuntu(可能是 GRUB,但您可以使用 rEFInd 或其他程序)和 Windows 的引导加载程序填充它。如果您有 ESP 的备份,则恢复它应该有效。如果没有,您可以使用引导修复安装全新的 GRUB 或从其 Debian 包或 PPA 安装 rEFInd。对于 Windows 启动恢复,您必须在 Windows 论坛上询问。如果可能,请先执行 Windows 恢复,因为 Windows 会将其引导加载程序设置为默认,并且它不会提供链式加载到 Ubuntu 的选项。相比之下,GRUB 和 rEFInd 都提供了启动 Ubuntu 或 Windows 的选项。(或者它们应该提供;有时这不起作用。)