当我在 OS X 之前创建新分区时,OS X 停止识别我的 HFS+ 分区

当我在 OS X 之前创建新分区时,OS X 停止识别我的 HFS+ 分区

我有一个使用 GPT 的 2 TB USB 驱动器,但是当我在磁盘上插入一个分区后,我的 MacBook Pro(2015 年初)上的 OSX(10.11.4)停止识别我的 HFS+ 分区。

这是我最初拥有的,并且 OSX 在 Finder 中正确列出了所有分区:

[ Elements            | Extra Fett |             | Time machine ]

[ NTFS                | ExFAT      | Unallocated | HFS+         ]
[ ~1500               | 97         | 97          | 167          ] (GB)

该驱动器当前具有以下布局(我缩小了 Elements 并创建了 TESTPART):

[ Elements | TESTPART | Extra Fett |             | Time machine ]

[ NTFS     | FAT32    | ExFAT      | Unallocated | HFS+         ]
[ ~1350    | 150      | 97         | 97          | 167          ] (GB)

...但这是 OSX 所看到的(仅列出 Finder 中的前三个):

[ Elements | TESTPART | Extra Fett |             | ?            ]

[ NTFS     | FAT32    | ExFAT      | Unallocated | ?            ]
[ ~1350    | 150      | 97         | 97          | 167          ] (GB)

发生了什么?我认为这个操作在 GPT 驱动器上不会有问题。


更多详细信息

Ubuntugdisk表示它使用的是带有保护性 MBR 的 GPT,并且 gdisk 和 gparted 都列出了所有分区,没有任何问题。Windows 10 分区管理器也列出了所有分区,并表示驱动器使用 GPT。

当我diskutil list在 OSX 上运行时,我得到:

/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *2.0 TB     disk2
   1:       Microsoft Basic Data Elements                1.5 TB     disk2s1
   2:       Microsoft Basic Data Extra Fett              104.9 GB   disk2s2
   3:       Microsoft Basic Data                         167.8 GB   disk2s3
   4:       Microsoft Basic Data TESTPART                157.3 GB   disk2s4

我认为存在以下几个问题:

  • 未分配空间未列出。
  • 分区肯定列在错误的顺序
  • HFS+ 卷 #3(我的时间机器)以前在 OSX 中一直可见,失去了标签并被列为 Microsoft Basic Data。它不再显示在 Finder 或磁盘实用程序中。自从我缩小 Elements 后,这种情况就发生了。我在结果空间中创建了 TESTPART(在 Win10 中完成)。

答案1

未分配空间不显示其实并不是什么问题;许多程序(包括gdiskdiskutil)只显示分区,而不显示未分配空间。GParted 和等工具cgdisk明确显示未分配空间(尽管我认为 GParted 也会忽略低于特定大小的未分配空间)。

定义分区顺序有两种方式:分区本身在磁盘上的顺序以及分区表中指向分区的指针的顺序。如果这两个顺序匹配,则最不容易混淆,但 GPT(或 MBR 主分区)中没有任何内容可以强制执行这一点。因此,无序分区很常见,并不一定意味着存在问题。不必担心这个细节。

因此,您报告的唯一真正问题是您的 HFS+ 卷已无法访问。这可能可能是分区表问题,但更可能是文件系统问题。不幸的是,由于没有分区起始点的详细前后信息,我无法区分这两种可能性。最安全的做法是:

  1. 在 OS X 或 Linux 中对分区进行低级备份dd,如sudo dd if=/dev/disk2s3 of=/path/to/lots/of/space/disk2s3-backup.img。这将保留分区中的数据,以防下一步使情况变得更糟,这是真正有可能的。您还应该使用主菜单b上的选项备份当前的分区表。gdisk
  2. 使用 OS X 的磁盘实用程序修复分区。GUI 工具应该可以做到这一点。我不太熟悉 OS X 命令行工具如何做到这一点,但在 Linux 中可以fsck,在 OS X 中可能也一样。
  3. 如果这不起作用,请通过反转if=of=选项恢复您在步骤1中所做的备份。

如果这不起作用,我还有一些其他建议:

  • 您可以删除错误的分区并尝试使用测试磁盘或类似的东西来恢复它。这里的想法是,无论您使用什么来修改分区,都可能调整了 HFS+ 分区的起始点,这将导致它无法访问。TestDisk 会扫描文件系统并为它们创建新的分区表条目,这应该可以解决这个问题。不过,这并不是一件万无一失的事情。
  • 重新创建分区并从备份中恢复其文件。
  • 如果失败,请恢复原始分区(通过使用现在的精确起点和终点重新创建它或通过恢复gdisk分区表备份)并使用相簿或类似工具,逐个文件恢复分区内容。这比从备份中恢复文件要繁琐得多,而且您不太可能恢复所有内容,但如果幸运的话,您将能够恢复大多数文件。

了解您使用什么工具来调整 NTFS 分区的大小并创建新分区可能会有所帮助。虽然我不知道常用实用程序中是否存在会导致这种确切症状的错误,但我当然更信任某些分区工具。(标准 Windows 实用程序是非常例如,MBR 磁盘上的扩展/逻辑分区存在错误 - 但您的是 GPT 磁盘,所以这并不是什么问题。)


编辑:

我刚刚注意到您的描述中有一些内容: 应该为 HFS+ 卷的内容被 标记为“Microsoft Basic Data”类型diskutil。这完全是错误的。使用 可以轻松修复gdisk

  1. gdisk在磁盘上启动。
  2. 键入p以查看分区表并明确识别无法访问的分区。我预计它是分区 3,但最好确定一下。
  3. 键入t以更改类型代码。系统将要求您输入分区号。
  4. 类型3(或刚才确定的任何适当的数字)。
  5. 出现提示时,输入类型代码AF00
  6. 键入w以保存您的更改。(系统将要求您进行验证。)

这应该可以解决问题。(如果您从 OS X 执行此操作,则可能需要重新启动。)有可能需要输入AF05而不是AF00类型代码,因此如果它不起作用,请尝试重复该过程,但要进行更改。

其他工具可能也能修复它,但我对具体步骤不太熟悉。(也许删除partedGParted 中的“msftdata 标志”就可以了……)

相关内容