如何备份EFI系统分区?

在我开始对ESP进行更改之前,我想对其进行备份。 我可以只复制其中的文件和目录,让我们说我的文件管理器,或cp,或者我必须使用像dd这样的工具。 另外,我备份的文件系统是否重要? 如果我是第一种方式,使用thunar或cp,我是否必须将它放在FAT32文件系统上?

谢谢。

你可以复制其中的所有内容(ieeg sudo cp -R /boot/efi /path/to/backup很好,不过我个人建议使用tarsudo tar cfz /path/to/backup/ESP_backup.tar.gz /boot/efi );

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

科斯的答案很好。 我想提出一点:如果你将ESP备份到USB闪存驱动器上的FAT分区,你可以在紧急情况下使用备份启动。 也就是说,假设ESP在您不知情的情况下意外泄露并且您关闭了计算机。 当您打开电源时,计算机将不再启动。 但是,如果插入备份, 可以从中启动,而无需使用任何其他紧急恢复工具,然后将备份复制回ESP。 但是,要实现这一点,您需要以下两种方法之一:

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

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

如果您的备份是其他forms(如tarball或深埋在目录树中)或FAT以外的文件系统,并且如果ESP损坏到无法启动的位置,则需要使用紧急系统(Ubuntu“live CD”,可移动磁盘上的rEFInd映像等)可以启动紧急系统或常规安装,您可以从中恢复备份。 当然,这不是一个很大的麻烦,虽然如果你没有这样的工具已经很麻烦,特别是如果你没有另一台计算机可以下载和准备恢复工具。 因此,以可移动磁盘的forms保留备份可能会使事情变得更加顺利。