UEFI 计算机上的 Windows 和 Linux 映像(例如使用 Clonezilla)

UEFI 计算机上的 Windows 和 Linux 映像(例如使用 Clonezilla)

多年来,我使用 Clonezilla 成功制作了 Windows 7 或更低版本以及 Ubuntu 和其他操作系统的分区的映像。制作和恢复映像对我来说很容易。

但是现在随着 UEFI 的出现,我不确定如何使用 Clonezilla 制作图像以及如何以正确的方式恢复它们。

我在同一个 GPT 磁盘上运行 Windows 7 和 Ubuntu。两者都使用 UEFI。

问题是

  • 如果想使用 Clonezilla 制作托管 Windows 7 或 8 的分区的可恢复映像,我是否还必须制作“EFI 系统分区”和 MRP 的映像?

  • 或者不需要制作分区“EFI 系统分区”和 MRP 的映像,因为可以在新磁盘上恢复 Windows 和 Ubuntu 的映像后重建这两个分区(可能使用 Windows 安装光盘或 Linux 工具)?

  • 在新磁盘上恢复 Windows 7 或 8(UEFI)映像的简单方法是什么(例如使用 Clonezilla) - 在恢复映像之前是否必须手动创建其他分区(“EFI 系统分区”和 MRP)?

我知道可以克隆整个磁盘而不仅仅是一个分区,但这不是我想要的。

提前谢谢了!

答案1

EFI 系统分区 (ESP)保存了 Windows 和 Linux 的引导加载程序。因此,备份它至关重要。虽然您可以使用紧急工具恢复这两个引导加载程序,但从备份中恢复它们可能更容易。还请注意,一些关键的引导信息(即哪个启动引导加载程序)存储在 NVRAM 中。理论上,恢复这些信息很容易——如果你知道怎么做。在 Linux 下,你可以使用该efibootmgr实用程序。我建议将其当前配置存储在一个文件中:

$ sudo efibootmgr -v
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0004
Boot0000* rEFInd (direct)   HD(2,c00,114000,6e49fcaf-d054-47c9-ba69-a668c5ee8192)File(\EFI\refind\refind_x64.efi)
Boot0004* UEFI: Built-in EFI Shell  Vendor(5023b95c-db26-429b-a648-bd47664c8012,)..BO

此示例未重定向到文件,只是为了描述其内容。此系统仅通过 rEFInd 启动一个操作系统 (Linux) - 条目Boot0000。该Boot0004条目启动“内置 EFI shell”(但在我的计算机中,这实际上是固件设置实用程序)。双启动系统可能至少还有一个条目。这里的关键点是记录引导加载程序的文件名 -\EFI\refind\refind_x64.efi在此示例中。然后,您可以在必要时使用 的选项恢复这些条目efibootmgr-c还请注意,NVRAM 条目通过其 GUID 编号(在本例中为 6e49fcaf-d054-47c9-ba69-a668c5ee8192)和其他硬件标识来引用分区。因此,如果您重新分区或更换磁盘,即使您恢复文件并efibootmgr显示旧条目完好无损,也可能需要重新创建这些条目。大多数计算机都有条目,例如此处的“内置 EFI shell”示例,这些条目由固件管理,通常您不应尝试重新创建或修改。

我认为“MRP”指的是 Microsoft 保留分区。此分区通常不包含任何内容;它被 Windows 分区工具用作“临时空间”——或者至少,它是为此目的而保留的。(我不知道这些工具是否真的会用它做任何事情。)因此,不备份它应该是安全的,但你应该记下它的大小,并确保在它的位置创建一个新分区。如果你想格外小心,你可以用dd或类似的东西做一个低级备份。我不知道 Clonezilla 是否会备份这种类型的分区。

答案2

我寻找了这样的讨论。这个新的 UEFI 东西带来了变化。在我看来,如果是 Windows 7 64 位,您必须保存(如果制作分区映像)两个分区,fe sda1 和 sda2 才能恢复它们。fe sda1 是 EFI 分区(我手动创建了它,它是 100 MB 分区),sda2 是整个系统所在的 Windows 分区。EFI 很重要,我还没有找到恢复 Windows 启动的方法,如果丢失了该分区,您将丢失 Windows 安装。如果是 Linux,fe Debian 只需使用即可轻松恢复启动该指令。我还没有尝试过恢复 clonezilla 保存的那种分区,但我认为它应该可以工作。我正在使用 parted magic live usb。所以,我会想知道它是否有效。

答案3

-c | --create 创建新变量 bootnum 并添加到 bootorder -C | --create-only 创建新变量 bootnum 但不添加到 bootorder

一定要小心,这条路径上的开关不是很准确?

相关内容