如何(是否可以)在 Linux 上修复 Mac 驱动器?

如何(是否可以)在 Linux 上修复 Mac 驱动器?

我有一个已格式化为 Mac 操作系统的外部 USB 4 TB 硬盘,但在 Mac 操作系统中已不再确定。它有 2 个分区,其中一个可以在 Windows 磁盘管理工具下看到,该工具可能是在工厂预先创建的。

linux下lsblk显示为

$lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
...
sdd      8:48   0   3,7T  0 disk
├─sdd1   8:49   0   128M  0 part
└─sdd2   8:50   0   3,7T  0 part

fdisk节目

$sudo fdisk -l

...

Disk /dev/sdd: 3,7 TiB, 4000787027968 bytes, 7814037164 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 3162E29F-0091-414C-9642-AB784F285608

Device      Start        End    Sectors  Size Type
/dev/sdd1      34     262177     262144  128M Microsoft reserved
/dev/sdd2  264192 7814037127 7813772936  3,7T unknown

Partition 1 does not start on physical sector boundary.

尝试mount显示:

# sudo mount -t hfsplus /dev/sdd2 /media/myhfsdrive
mount: /media/myhfsdrive: wrong fs type, bad option, bad superblock on /dev/sdd2, missing codepage or helper program, or other e
rror.

dmesg

[  356.907713] hfsplus: unable to find HFS+ superblock

尝试修复分区说

$ sudo fsck.hfsplus /dev/sdd2
** /dev/sdd2

并退出。

我可以dd整个磁盘或分区。

该驱动器可能会发生什么情况以及如何修复它?

答案1

要么文件系统实际上是 hfs+ 类型,并且或多或少严重损坏,要么文件系统不是 hfs+ 类型。


由于mount声称它不是 hfs+ 类型(从读取幻数)只有你自己的知识才能说明 mount 实际上是错误的。 (这幻数实际上已损坏)
在 Linux 下有一些(非自动)方法可以修复该问题。
然而,你很容易理解……如果这个假设(fs type = hfs+)不正确……摆弄必然是乏味且有害的。


如果您的磁盘是 SSD 并且文件系统是在 2018 年之后创建的,则挂载正确的可能性很高,因为文件系统实际上是APFS类型。 (*1)
AFAIK,Linux 对 APFS 的本机支持(迄今为止)留给了专有驱动程序自称实验*fsprogs


不管怎样,Artem 在 OP 的评论中给出的建议是明智的:处理 dd 图像。


1:寻找魔法某些分区转储的前几个字节(偏移量 0x20)中的单词“NXSB”将是有效的指示。

在此输入图像描述

相关内容