我在 MacBook Air(Mac OS X + Windows 7 + Ubuntu)上有一个可以运行的三重启动系统,这是我前段时间通过遵循各种教程实现的。
现在我想通过重新安装带有全盘加密的 Ubuntu 来让它更有趣一点(使用这个很棒的教程) 并完全删除 Mac OS X,因为我不再使用它了。
但我遇到了一个障碍:只要我接触到 GPT,无论我做多少改动,Windows 无法启动!
这是当前工作的分区表(Linux gdisk 命令 p)
Disk /dev/sda: 490234752 sectors, 233.8 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): DC542B27-E782-479A-B17F-AAB05FACFA6C
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 490234718
Partitions will be aligned on 8-sector boundaries
Total free space is 2877 sectors (1.4 MiB)
Number Start (sector) End (sector) Size Code Name
1 40 409639 200.0 MiB EF00 EFI System Partition
2 411648 160409599 76.3 GiB 8300
3 160409600 168409087 3.8 GiB 8200
4 168409088 244826335 36.4 GiB AF00 Apple_HFS_Untitled_2
5 244826336 246095871 619.9 MiB AB00 Recovery HD
6 246095872 490233855 116.4 GiB 0700 BOOTCAMP
分区 2 和 3 分别是 Linux 根目录和交换目录。
这是保护性 MBR(命令:ro)
Disk size is 490234752 sectors (233.8 GiB)
MBR disk identifier: 0x4B9CA30C
MBR partitions:
Number Boot Start Sector End Sector Status Code
1 1 246095871 primary 0xEE
2 * 246095872 490233855 primary 0x07
我想要做的是删除 GPT 分区 2 到 4(不要与上面的 MBR 分区 2 混淆),用 256MB Linux 启动和保存其他所有内容的 LUKS 分区替换它们。(我会保留 Mac OS X 恢复,以防我需要一些实用程序来写入 nvram 或类似的东西。)
我可以使用以下命令轻松完成此操作:d 2、d 3、d 4、n 2 default +256M、n 3 default default。结果如下:
...
Total free space is 869 sectors (434.5 KiB)
Number Start (sector) End (sector) Size Code Name
1 40 409639 200.0 MiB EF00 EFI System Partition
2 409640 933927 256.0 MiB 8300 Linux filesystem
3 933928 244826335 116.3 GiB 8300 Linux filesystem
5 244826336 246095871 619.9 MiB AB00 Recovery HD
6 246095872 490233855 116.4 GiB 0700 BOOTCAMP
打印保护性 MBR 显示与之前完全相同的表格。
但是,如果我将其写入磁盘并重新启动,Windows 将无法再启动!即使我没有更改其分区,也没有更改保护性 MBR。
如果我在启动过程中按住 Alt 并选择 Windows,我会得到一个以 Grub 命令提示符结尾的奇怪屏幕序列!Grub 从哪里来,仍然是个谜。
幸运的是,我预感到可能会发生这样的事情,所以我在动手之前做了完整的 Clonezilla 备份。现在我可以轻松地将系统恢复到三重启动状态并重试。但无论我怎么尝试,它都会坏掉!
我怎样才能在不关闭 Windows 的情况下修改这些分区?
编辑—这是我在更改 GPT 后尝试启动 Windows 时出现的奇怪的 Grub 屏幕:
在第二个屏幕中,它提到了 3 个类型为 0xEE 的分区。它们来自哪里?这个 Grub 首先来自哪里?