我最近在 Macbook Air 上安装了 Linux Mint,并将我的旧操作系统保存到几个磁盘映像(EFI 和 OS)。我在外部硬盘上创建了两个与 EFI 和 OS 映像大小完全相同的分区,然后使用“磁盘”中的“恢复分区映像”工具。但是,当我在Alt启动时按住打开备用启动菜单时,只有一个选项,即启动到 Linux。
输出sudo gdisk /dev/sdb
:
[me]@[me]:~$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 1.0.3
Partition table scan:
MBR: hybrid
BSD: not present
APM: not present
GPT: present
Found valid GPT with hybrid MBR; using GPT.
Command (? for help): p
Disk /dev/sdb: 3907029168 sectors, 1.8 TiB
Model: 0011 99Y
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): 12C82EC5-8211-41B4-A49A-A615DC07A3BC
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 3907029134
Partitions will be aligned on 2048-sector boundaries
Total free space is 1240698989 sectors (591.6 GiB)
Number Start (sector) End (sector) Size Code Name
1 2666362880 2934798335 128.0 GiB 0700
2 2048 411647 200.0 MiB 0700
3 411648 250413055 119.2 GiB 8300
5 518879232 2666362879 1024.0 GiB 0700
Command (? for help): r
Recovery/transformation command (? for help): o
Disk size is 3907029168 sectors (1.8 TiB)
MBR disk identifier: 0xFDB98627
MBR partitions:
Number Boot Start Sector End Sector Status Code
1 1 2047 primary 0xEE
2 2666362880 2934798335 primary 0x07
3 * 2048 411647 primary 0x0B
4 411648 250413055 primary 0xAF
Recovery/transformation command (? for help):
答案1
您需要修复分区类型代码并删除或重新创建混合 MBR。
修复 GPT 分区表
使用磁盘分区首先通过运行(或任何外部驱动器)对分区进行排序sudo gdisk /dev/sdb
,然后选择选项。请注意,在 Linux Mint 中,如果您使用旧式等表示法而不是 UUID 或标签s
定义了这些分区,则需要更新它们以匹配。/etc/fstab
/dev/sdb3
如果您随后使用选项显示分区表,p
它应该看起来像这样(请注意分区 2 和 3 之间的未分配空间):
Number Start (sector) End (sector) Size Code Name
1 2048 411647 200.0 MiB 0700
2 411648 250413055 119.2 GiB 8300
3 518879232 2666362879 1024.0 GiB 0700
4 2666362880 2934798335 128.0 GiB 0700
接下来使用选项更正分区类型t
。您可以使用选项查看分区类型代码l
,您可能感兴趣的三个类型是EF00
(EFI 系统) 和AF00
(Apple HFS/HFS+) 或AF0A
(Apple APFS)。例如,将分区 1 更改为EF00
(EFI 系统分区)
Command (? for help): t
Partition number (1-7): 1
Current type is 'Microsoft basic data'
Hex code or GUID (L to show codes, Enter = 8300): EF00
Changed type of partition to 'EFI System'
假设分区 2 是您的旧 macOS,您应该将类型代码更改为AF00
原始版本是否为 HFS(现在称为 macOS 扩展)或AF0A
是否为 APFS 容器。这取决于您的 macOS 版本。根据维基百科
自 macOS High Sierra 起,所有配备闪存的设备都会自动转换为 APFS。[24] FileVault 卷也会转换。从 macOS Mojave 开始,Fusion Drives 和硬盘驱动器也会在安装时升级。[25]
假设第 3 和第 4 个分区没有问题,您可以保留它们。GPT 分区表现在应如下所示:
Number Start (sector) End (sector) Size Code Name
1 2048 411647 200.0 MiB EF00
2 411648 250413055 119.2 GiB AF00
3 518879232 2666362879 1024.0 GiB 0700
4 2666362880 2934798335 128.0 GiB 0700
修复混合型 MBR
macOS 不需要混合型MBR并始终使用 GPT 分区布局进行引导。仅当您想在传统 BIOS 模式下引导 Windows 或 Linux 时才需要混合 MBR。
选项1
如果此磁盘上只有 macOS 和数据分区,则只需要一个覆盖整个磁盘的保护性 MBR。选择x
进入恢复/转换菜单,然后选择n
创建新的保护性 MBR。您可以使用选项“o”进行检查
对于你来说它看起来应该是这样的:
Command (? for help): x
Expert command (? for help): n
Expert command (? for help): o
Disk size is 3907029168 sectors (1.8 TiB)
MBR disk identifier: 0x00000000
MBR partitions:
Number Boot Start Sector End Sector Status Code
1 1 3907029167 primary 0xEE
选项 2
如果您从此磁盘以 Legacy/BIOS/CSM 模式启动 Windows 或 Linux,则创建混合 MBR 以匹配更新的 GPT 分区表。选择r
进入恢复/转换菜单,然后选择h
创建新的混合 MBR。
列出了 MBR 分区类型代码这里.您可以AF
使用任何对于macOS,07
对于 NTFS 或 exFAT,0B
对于 FAT32 等。如果其中一个分区应该是可启动的(macOS 除外,因为它忽略混合 MBR),请设置可启动标记为Y
。
解释了如何设置混合 MBR这里但你可能想要这样的东西(假设分区 3 设置为可启动):
Recovery/transformation command (? for help): h
WARNING! Hybrid MBRs are flaky and dangerous! If you decide not to use one,
just hit the Enter key at the below prompt and your MBR partition table will
be untouched.
Type from one to three GPT partition numbers, separated by spaces, to be
added to the hybrid MBR, in sequence: 2 3 4
Place EFI GPT (0xEE) partition first in MBR (good for GRUB)? (Y/N): Y
Creating entry for GPT partition #2 (MBR partition #2)
Enter an MBR hex code (default AF): AF
Set the bootable flag? (Y/N): n
Creating entry for GPT partition #3 (MBR partition #3)
Enter an MBR hex code (default 07): 07
Set the bootable flag? (Y/N): y
Creating entry for GPT partition #4 (MBR partition #4)
Enter an MBR hex code (default 07): 07
Set the bootable flag? (Y/N): n
您可以使用选项检查它o
- 它应该看起来像这样,分区 1 从扇区 1 运行到 EFI 分区的末尾,其他的起始/结束位置与您的 GPT 分区表相匹配。
Recovery/transformation command (? for help): o
Disk size is 3907029168 sectors (1.8 TiB)
MBR disk identifier: 0xFDB98627
MBR partitions:
Number Boot Start Sector End Sector Status Code
1 1 411647 primary 0xEE
2 411648 250413055 primary 0xAF
3 * 518879232 2666362879 primary 0x07
4 2666362880 2934798335 primary 0x07
对新布局满意后,您可以选择w
将更改写入磁盘(或q
随时退出而不保存)。最后重新启动或弹出/重新连接驱动器,以便操作系统看到新表。