如何备份 EFI 系统分区?

如何备份 EFI 系统分区?

在开始更改 ESP 之前,我想对其进行备份。我是否可以只复制其中的文件和目录(比如使用文件管理器或 cp),还是必须使用 dd 之类的工具。此外,我将备份放在哪个文件系统上重要吗?如果我采用第一种方法(使用 thunar 或 cp),是否必须将其放在 FAT32 文件系统上?

谢谢。

答案1

您可以复制其中的所有内容(ieegsudo cp -R /boot/efi /path/to/backup也可以,但我个人建议使用tar:)sudo tar cfz /path/to/backup/ESP_backup.tar.gz /boot/efi

存储备份的文件系统无关紧要;唯一需要担心的可能是权限,但 UEFI 固件并不支持 Linux 权限(事实上 FAT32 甚至不支持它们),所以这根本不是问题。

答案2

Kos 的回答很好。不过,我想再提一点:如果你将 ESP 备份到 USB 闪存驱动器上的 FAT 分区,你可能可以在紧急情况下使用备份启动。也就是说,假设 ESP 在你不知情的情况下被意外破坏,你关闭了电脑。当你打开电源时,电脑将不再启动。但是,如果你插入备份,你可能能够从中启动,而无需使用任何其他紧急恢复工具,然后将备份复制回 ESP。但是,要做到这一点,您需要以下两项之一:

  • 后备引导加载程序-- EFI/BOOT/bootx64.efiFAT 分区上的文件名(或其他架构的等效文件名)是倒退文件名,当其他 NVRAM 指定选项均不起作用或从可移动媒体启动时,固件将使用此文件名。某些操作系统(如 Windows)除了常规名称外,还会自动将引导加载程序的副本置于此名称下。Ubuntu 不会这样做,但您可以轻松创建此类副本 - 只需将目录EFI/ubuntu(在 ESP 或备份上)复制到EFI/BOOT,然后在目录中重命名shimx64.efi(或grubx64.efi,如果shimx64.efi不存在)EFI/BOOTbootx64.efi
  • 固件支持从任意文件启动-- 某些 EFI 为您提供了从任意文件启动的方法。您可以在固件设置实用程序或启动管理器中选择“从文件启动”选项,然后 EFI 会向您显示一个文件选择工具。您可以使用该工具浏览到要使用的启动加载程序 -- EFI/ubuntu/shimx64.efi(用于安全启动支持)或EFI/ubuntu/grubx64.efi在这种情况下。

您可以自己设置备用引导加载程序文件名作为备份,因此第一种方法适用于任何基于 EFI 的计算机。但是,第二种方法取决于制造商提供的功能,因此在依赖此功能之前,您应该检查此功能是否可用。无论哪种方式,测试以这种方式启动的能力都是值得的。

如果您的备份是其他形式(如 tarball 或深埋在目录树中)或位于 FAT 以外的文件系统上,并且 ESP 已损坏到无法启动的程度,则需要使用应急系统(Ubuntu“live CD”、可移动磁盘上的 rEFInd 映像等)来启动应急系统或常规安装,然后从中恢复备份。当然,这不是什么大麻烦,但如果您手边没有这样的工具,这可能会很麻烦,尤其是如果您没有另一台计算机来下载和准备恢复工具。因此,将备份保存为可移动磁盘的形式可能会让事情进展得更顺利一些。

相关内容