GPTsync 不匹配问题

GPTsync 不匹配问题

我有一个混合磁盘。尝试将一些文件从另一个磁盘复制到此磁盘后,我失去了 OSX 和 Ubuntu 启动功能。运行gptsync并得到:

Current GPT partition table:
 #      Start LBA      End LBA  Type
 1             34         1987  BIOS Boot Partition
 2           1988   1029662719  Basic Data
 3     1029662720   2108995583  Basic Data
 4     2108995584   2109405183  EFI System (FAT)
 5     2109405184   2517004287  Mac OS X HFS+
 6     2517266432   2667417599  Mac OS X HFS+
 7     2667417600   3900229631  Basic Data
 8     3900230504   3907029118  Linux Swap

Current MBR partition table:
 # A    Start LBA      End LBA  Type
 1              1   3907029167  ee  EFI Protective

Status: MBR table must be updated.

Proposed new MBR partition table:
 # A    Start LBA      End LBA  Type
 1              1           33  ee  EFI Protective
 2             34         1987  da  Non-FS data
 3           1988   1029662719  83  Linux
 4 *   1029662720   2108995583  07  NTFS/HPFS

May I update the MBR as printed above? [y/N] 

显然 MBR 表已损坏或不匹配。但它根本没有反映正确的 GPT 表分区。如何修复 MBR 以匹配 GPT 表(当然最多 4 个部分的限制)?

问题很简单 - 我是否应该盲目地同意 gptsync 的建议?它看起来还可以,但并不完全如此...请提供建议,解释上述输出以使我的磁盘可用,我将不胜感激。

谢谢你!

答案1

从技术上讲,混合 MBR 是不行的;混合 MBR 明显违反了 GPT 规范。发明它们的人应该为自己感到羞愧。不幸的是,它们是 Mac 上双启动 OS X 和 Windows 的实际必需品。(不过,Windows 8 可能会改变这种情况。)

也就是说,在混合 MBR 的通常非正式规则中,gptsync 建议的规则好的。我怀疑您认为这不行,因为第一个分区(类型为“ee”)与您的任何 GPT 分区都不匹配。这不仅没问题,而且必要的; type-0xEE 分区是保护分区,需要它来将磁盘标识为 GPT 磁盘。它实际上不是分区定义,因为它确实不是指向磁盘中可用于保存文件系统或其他内容的区域。在符合标准的 GPT 磁盘上,此分区跨越整个磁盘(MBR 本身除外),用于防止不支持 GPT 的工具干扰磁盘。在混合 MBR 上,此分区的大小会减小(通常会大幅减小),并且最多会向 MBR 表添加三个“真实”GPT 分区。

至于您是否应该接受此分区表,我不确定;这取决于 Windows 需要能够访问哪些分区。如果 Windows 只需要访问 /dev/sda3(在 GPT 中;/dev/sda4 在建议的混合 MBR 中),那么它应该可以正常工作。但是,如果 Windows 需要访问任何后续分区,您可能需要更有创意。您可以使用( Ubuntu 软件包的gdisk一部分)通过使用恢复和转换菜单上的选项来执行此操作。详细信息显示在gdiskhgdisk 基于 Web 的文档。

相关内容