如何制作 Boot Camp 分区的可启动克隆?

如何制作 Boot Camp 分区的可启动克隆?

我在一台旧 iMac(2006 年)上安装了旧的 Boot Camp Win XP。我可以启动 Mac OS 或 Win XP。我使用终端中的 dd 命令将 Win XP 分区克隆到 USB 驱动器。这应该会导致逐字节复制。

我想从这个驱动器启动我的 MacBook Pro。尽管 Win XP 分区的所有内容似乎都存在,但我无法从 USB 驱动器启动。Mac OS 无法将其识别为可启动驱动器,并且在按住选项键重新启动时不会将其显示为选项。

我按照建议安装了 rEFInd 启动管理器这里但这并没有帮助,尽管我并不完全清楚如何让 rEFInd“同步我的 GPT 和 PMBR”。

我还使用了 Paragon Hard Disk Manager 并运行了针对 Boot Camp 分区建议的所有修复。仍然没有结果。rEFInd 看到 Windows 系统并将其显示为一个选项,但选择它会显示一条消息,提示“未找到可启动设备...”

这个专业能够做到这一点第一的使用 Boot Camp Assistant 创建 Boot Camp 分区并然后使用命令行中的 dd 将分区克隆到该分区上。我的 BCA 版本只能重新安装到 Win 7,并且在对目标驱动器进行分区之前要求安装磁盘,因此这不是一个选项。我不确定我是否可以找到旧版本的 BCA 并使其工作。

所以我想在这里问一个问题:有没有简单的方法可以让分区可启动?该分区的格式为 Fat32。提前致谢。

答案1

Mac 只能从使用相对现代的 GUID 分区表 (GPT) 作为分区表格式的驱动器启动。这里我仅指驱动器的前几个块,它们告诉计算机其余分区的位置以及它们的类型/格式。

不幸的是,根据我的经验,大多数 USB 闪存驱动器出厂时都使用古老的“主引导记录”(MBR) 格式。因此,首先要检查的是确保您的 USB 闪存驱动器使用的是 GPT 而不是 MBR。

请注意,出于向后兼容性的原因,某些 GPT 驱动器有一种称为“保护性 MBR”的假 MBR,这有助于防止只知道 MBR 的古老软件将驱动器误认为是空白的而弄乱它。不要让 PMBR 的存在让你感到困惑。如果你使用一个旧的工具,仅有的了解 MBR 并转储分区表,它会找到 PMBR 并转储它,但不会更明智。您需要使用了解 GPT 的工具,例如 macOS 的“磁盘实用程序”应用程序(位于 /Applications/Utilities 中)或 macOS 的diskutil命令行工具。

如果您的驱动器没有 GPT,则需要 [...首先备份(如有必要),然后...] 将其重新格式化以使用 GPT。您仍然可以将“整个驱动器”设置为一个大的 FAT32 分区,只是在 FAT32 分区开始之前的前几个块中,您将拥有 GPT,而不是(或除了)MBR。

一些 PMBR 使整个驱动器看起来像一个大的分配分区,即使 GPT 显示它有很多不同的分区。如果您需要将驱动器与仅知道 MBR 的旧软件一起使用,则可能会出现问题。因此在某些情况下,您需要使用软件来帮助您确保 GPT 中的每个条目在 [P]MBR 中都有完全匹配。有效地使其成为 MBR/GPT 组合驱动器。不幸的是,有很多软件只处理 MBR,还有很多其他软件只处理 GPT,因此在删除/创建/调整大小/重新格式化分区时保持 MBR 和 GPT 同步可能会有问题,SuperUser 上大多数人的 Boot Camp 问题似乎归结为某些磁盘实用程序或 Linux、Windows 或 macOS 的安装程序实用程序编辑了一个分区表但没有在另一个表中进行匹配的编辑。

按照你的方式克隆分区可能会遇到其他 Boot Camp 麻烦,但你需要验证的第一件事是你的 USB 闪存驱动器上是否有 GPT。否则 Mac 将永远无法从它启动。Mac 中的 EFI 启动固件不知道如何从 MBR 驱动器启动。

答案2

简短答案

从原始 MBR 配置开始,使用 Windows 恢复工具尝试恢复其引导加载程序。运气好的话,这将使它正常工作。不要在新磁盘上从 MBR 切换到 GPT。

长答案

你应该首先了解GUID 分区表 (GPT)主引导记录 (MBR)分区系统。前者是基于 Intel 的 Mac 和较新的 PC 的本地分区系统。后者在 Windows 8 发布之前用于大多数 PC。GPT 与 EFI 模式下的启动相关(如 OS X 启动),而 MBR 最常用于启动 BIOS 模式的操作系统(包括 Windows XP)。重要的是,GPT 的一部分是保护性 MBR,它基本上是一个 MBR 数据结构,具有一个覆盖整个磁盘(或 2 TiB,在大于此的磁盘上)的单个 0xEE 类型分区。如果不存在保护性 MBR,或者它不符合此描述,那么从技术上讲,该磁盘不是有效的 GPT 磁盘。

Apple 使用了一种丑陋而危险的 GPT 和 MBR 混合体,被称为混合型 MBR,在某些双启动配置中。您的原始磁盘可能以这种方式配置。在混合 MBR 中,最多三个“真实”GPT 分区在 MBR 中重复,并且 MBR 的保护性 type-0xEE 分区会相应缩小。这意味着混合 MBR 在技术上不是有效的 GPT 磁盘;但 OS X 和 Linux 都将其视为 GPT 磁盘。另一方面,Windows 将具有混合 MBR 的磁盘视为 MBR 磁盘。这在 EFI 模式下双启动 OS X 并在 BIOS 模式下双启动 Windows 时很有用,但这是一种危险的黑客行为,因为它可能会出错。(我不会详细介绍,因为它们会离题。)您提到的 GPT 和 MBR 的“同步”正在创建混合 MBR。这与您的情况无关(至少,正如最初所述)。

您还应该至少大致了解 Windows XP 的启动方式:BIOS 引导加载程序代码存储在 MBR(磁盘的第一个扇区)中。计算机启动时,BIOS 会加载并执行此代码。然后,此代码会从分区引导记录 (PBR;Windows XP 分区的第一个扇区) 读取其他引导代码。PBR 代码会通过读取其他文件继续引导过程,最终启动 Windows 内核等。这里的关键点是 MBR 和 PBR 都不是文件;它们是定义分区 (MBR) 或文件系统 (PBR) 并包含引导加载程序代码的低级数据结构。考虑到您复制 Windows 安装的方式,PBR 被复制,但 MBR 未被复制。另一点是,某些版本的 Windows 引导加载程序要求 Windows 分区设置其“引导标志”(又称“活动标志”)。

这与 Mac 的交互方式特别相似,因为 Apple 使用分区表类型(纯 GPT 与 MBR 或混合 MBR)作为决定是否激活兼容性支持模块 (CSM) 的关键,CSM 是一种 BIOS 模拟器,可让 Mac 启动 Windows XP 等 BIOS 模式操作系统。如果磁盘具有 MBR 或混合 MBR,Mac 将激活其 CSM 并可能启动 BIOS 模式操作系统;但如果磁盘是纯合法的 GPT 磁盘,Mac 会使其 CSM 处于非活动状态,因此无法启动 Windows XP。(可通过 BIOS 启动的光盘也可以激活 CSM。)

还可能存在其他启动问题。例如,启动加载程序可能会引用不存在的文件,或者在复制文件后,硬编码的扇区值不再有效。Windows 因此类问题而臭名昭著,您通常必须使用 Windows 紧急磁盘来恢复此类问题。事实上,我建议您这样做。不幸的是,我对 Windows 恢复过程了解不够,无法为您提供明确的分步说明;但如果您在线搜索,有数十个网站描述了如何执行此操作。您需要一个 Windows XP 恢复磁盘,您可以启动它并用它来修复您复制的 Windows 安装。

更广泛地说,如果外部磁盘装有 Windows XP,并且不是包括可启动的 OS X 安装,我建议您使用直接 MBR 配置。除非使用混合 MBR,否则 Windows XP 将无法从 GPT 磁盘启动,而这种配置会增加复杂性,并且更有可能让您在将来遇到问题而没有任何好处。

请注意,Spiff 声称 Mac 无法从 MBR 磁盘启动是完全错误的。我自己也这样做过,在 BIOS 模式和 EFI 模式下都这样做过。不过,Mac 可能会不稳定。在 BIOS/CSM/传统模式下从外部磁盘启动时尤其如此。因此,可以想象,您永远无法从外部磁盘上做到这一点。另一方面,它在许多系统上工作,所以也许你可以管理这项任务。

相关内容