我有一台 MacBook Pro(2015 年中),我在上面设置了 MacOS 和 Windows 10 的双启动系统,我已经愉快地运行了 3 年多。当时我打算尝试使用 Ubuntu 16.04 进行三重启动,但我原本打算安装 Ubuntu 的 Windows(Bootcamp)分区空间不足。在阅读了大量文章后,我决定按照 Tim Richardson 的宝贵指示在 USB 闪存驱动器上设置 Ubuntu,取消选中内置驱动器上的 EFI 启动和 esp 标志,这样安装程序只能看到并加载 USB 闪存驱动器上的 EFI。看起来成功了!我有一个 USB 闪存驱动器,可以将其插入旧的 MacBook Pro(2008 年)并启动 Ubuntu 20.04,但它彻底搞砸了我原本想从其进行三重启动的 MacBook Pro(2015 年中)上的引导加载程序。以下是我的系统的前后快照:
前
Ricks-MacBook-Pro:~ rickmaxxx$ diskutil list
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *251.0 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_APFS Container disk1 165.0 GB disk0s2
3: Microsoft Basic Data BOOTCAMP 84.9 GB disk0s3
4: Windows Recovery 897.6 MB disk0s4
/dev/disk1 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +165.0 GB disk1
Physical Store disk0s2
1: APFS Volume Macintosh HD 88.3 GB disk1s1
2: APFS Volume Preboot 46.6 MB disk1s2
3: APFS Volume Recovery 510.5 MB disk1s3
4: APFS Volume VM 1.1 GB disk1s4
Ricks-MacBook-Pro:~ rickmaxxx$ sudo gpt -r show /dev/disk0
Password:
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
409640 322289624 2 GPT part - 7C3457EF-0000-11AA-AA11-00306543ECAC
322699264 165778528 3 GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
488477792 928
488478720 1753088 4 GPT part - DE94BBA4-06D1-4D40-A16A-BFD50179D6AC
490231808 2911
490234719 32 Sec GPT table
490234751 1 Sec GPT header
Ricks-MacBook-Pro:~ rickmaxxx$ sudo fdisk /dev/disk0
Disk: /dev/disk0 geometry: 30515/255/63 [490234752 sectors]
Signature: 0xAA55
Starting Ending
#: id cyl hd sec - cyl hd sec [ start - size]
------------------------------------------------------------------------
1: EE 1023 254 63 - 1023 254 63 [ 1 - 490234751] <Unknown ID>
2: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
3: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
4: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
Ricks-MacBook-Pro:~ rickmaxxx$
后
Ricks-MacBook-Pro:~ rickmaxxx$ diskutil list
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *251.0 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_APFS Container disk1 165.0 GB disk0s2
3: Microsoft Basic Data BOOTCAMP 84.9 GB disk0s3
4: Windows Recovery 897.6 MB disk0s4
/dev/disk1 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +165.0 GB disk1
Physical Store disk0s2
1: APFS Volume Macintosh HD 90.9 GB disk1s1
2: APFS Volume Preboot 46.6 MB disk1s2
3: APFS Volume Recovery 510.5 MB disk1s3
4: APFS Volume VM 1.1 GB disk1s4
Ricks-MacBook-Pro:~ rickmaxxx$ sudo gpt -r show /dev/disk0
Password:
gpt show: /dev/disk0: Suspicious MBR at sector 0
start size index contents
0 1 MBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
409640 322289624 2 GPT part - 7C3457EF-0000-11AA-AA11-00306543ECAC
322699264 165778528 3 GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
488477792 928
488478720 1753088 4 GPT part - DE94BBA4-06D1-4D40-A16A-BFD50179D6AC
490231808 2911
490234719 32 Sec GPT table
490234751 1 Sec GPT header
Ricks-MacBook-Pro:~ rickmaxxx$ sudo fdisk /dev/disk0
Disk: /dev/disk0 geometry: 30515/255/63 [490234752 sectors]
Signature: 0xAA55
Starting Ending
#: id cyl hd sec - cyl hd sec [ start - size]
------------------------------------------------------------------------
1: EE 0 0 1 - 1023 254 63 [ 1 - 409639] <Unknown ID>
*2: DA 1023 254 63 - 1023 254 63 [ 409640 - 322289624] <Unknown ID>
3: 07 1023 254 63 - 1023 254 63 [ 322699264 - 165778528] HPFS/QNX/AUX
4: 07 1023 254 63 - 1023 254 63 [ 488478720 - 1753088] HPFS/QNX/AUX
Ricks-MacBook-Pro:~ rickmaxxx$
注意消息“gpt show: /dev/disk0: 扇区 0 处的可疑 MBR”
因此,这一切的主要后果是我无法再启动 Windows(Bootcamp)。我只看到一个黑屏。MacOS 系统似乎运行良好,但扇区 0 以前是 PMBR,现在是 MBR。在此之前,我成功安装了 rEFInd,对结果非常满意,认为 Linux Ubuntu 会很乐意与它一起工作,让我实现三重启动。
但是,当我启动安装了 USB 闪存盘的 MacBook Pro 时,它直接进入 Ubuntu,没有任何 rEFInd 出现。Ubuntu 中的一切都按预期运行。
或者,当我按住“option”键选择 Ubuntu 来启动 MacBook Pro 时,我收到以下神秘消息:
APFSStart:1555: Mounting with apfs_efi_osx-945.275.9
efi_fusion_pairing:668: Container 06a8e9fd-ae73-4c94-92de-a80e6c2e6099
efi_fusion_pairing:673: fusion uuid: 00000000-0000-0000-0000-000000000000
efi_container_create:972: Volume attached is internal
nx_kernel_mount:1473: : checkpoint search: largest xid 790302, best xid 790302 @ 135
er_state_obj_get_for_recovery:4214: No ER state object for volume Preboot
- rolling is not happening, nothing to recover.
er_state_obj_get_for_recovery:4214: No ER state object for volume Recovery
- rolling is not happening, nothing to recover.
er_state_obj_get_for_recovery:4214: No ER state object for volume VM
- rolling is not happening, nothing to recover.
System BootOrder not found. Initializing defaults.
当我启动 MacOS 并打开磁盘实用程序查看 Bootcamp 时,一切似乎都还在那里,但我不确定我需要修复什么才能访问。我将开始仔细阅读与 Boot Loader 有关的所有文章,但如果有人有任何想法,我将不胜感激。作为最后的手段,我将尝试使用 Carbon Copy Cloner 进行恢复,但我不确定它是否会恢复我的 Boot Loader 序列。提前感谢所有建议。
答案1
下载并按照以下说明操作后,我能够成功启动到我的 Windows(Bootcamp)分区:罗德·史密斯关于超级用户:如何使用磁盘实用程序修复混合 MBR
这是一个混合 MBR。在 BIOS 模式下启动 Windows 是必需的,但如果您计划在 EFI 模式下安装 Windows 8 或 10,则需要将混合 MBR 替换为合法的保护性 MBR。您可以使用我的GPT fdisk (
gdisk
)程序:
gdisk
在磁盘上启动(sudo gdisk /dev/disk0
就您的情况而言)。- 键入
x
以进入专家模式。- 键入
n
以创建新的保护 MBR。- 输入“w”保存您的更改。
- 键入
y
以确认您要保存更改。
我还向他的网站捐赠了一小笔钱,以感谢他为 Ubuntu 社区提供的丰富技术知识。GPT fdisk 教程