这是所谓的“混合”Mac 分区表吗?如何在 Linux 中安装它?

这是所谓的“混合”Mac 分区表吗?如何在 Linux 中安装它?

我想更好地了解该硬盘上的内容,以及如何将其安装到 Linux(特别是 Debian GNU/Linux,稳定版)中:

它是在 Powerbook g4“alu book”上使用默认程序创建的,并用作备份驱动器。现在我正在尝试拯救它或者至少使用dd保存分区的图像数据实际在哪里 (在哪里?)。它已经在旧的 Mac 中安装了几次,但并非总是如此,并且应该有一个分区,其中包含一些文件。

我想用它dd来吹掉适当的字节;这能让我像标准 GPT uefi 驱动器一样安装它吗?

数据说话:

前 2 个区块

这是前 2 512 字节块的样子,转储到 Bash 中

ER���@x$����"��PM?AppleApple_partition_

手动安装

尝试安装该分区的各个部分,不是我想要做的;我想安装整个驱动器,就像在 Mac 上读取一样。我不明白这些文件在哪里,以及为什么有 15-16 个分区而不是 1 个!

“分析”选项的输出testdisk

Disk /dev/sdb - 160 GB / 149 GiB - CHS 19457 255 63
     Partition               Start        End    Size in sectors
 P HFS                       262208  148499399  148237192
 P HFS                    148499400  148523975      24576
 P HFS                    148786120  212717799   63931680
 P HFS                    212979944  271039599   58059656
 P HFS                    271301744  312581791   41280048

以下是根据testdisk初始信息的前面的分区:

1 P partition_map                  1         63         63                 
2 P Driver43                      64        119         56
3 P Driver43                     120        175         56
4 P Driver_ATA                   176        231         56
5 P Driver_ATA                   232        287         56
6 P FWDriver                     288        799        512
7 P Driver_IOKit                 800       1311        512
8 P Patches                     1312       1823        512
9 P Free                        1824     263967     262144
10 P HFS                       263968 ...

分手:

(parted) unit b                                                           
(parted) p                                                                
Model: ST916082 3AS (scsi)
Disk /dev/sdb: 160041885696B
Sector size (logical/physical): 512B/512B
Partition Table: mac

Number  Start          End            Size          File system  Name                      Flags
 1      512B           32767B         32256B                     Apple
 2      32768B         61439B         28672B                     Macintosh
 3      61440B         90111B         28672B                     Macintosh
 4      90112B         118783B        28672B                     Macintosh
 5      118784B        147455B        28672B                     Macintosh
 6      147456B        409599B        262144B                    Macintosh
 7      409600B        671743B        262144B                    Macintosh
 8      671744B        933887B        262144B                    Patch Partition
10      135151616B     91240419327B   91105267712B  hfs+         Apple_HFS_Untitled_1
11      91240419328B   91777290239B   536870912B    hfs+         Apple_HFS_Untitled_2
13      91911507968B   113693339647B  21781831680B  hfs+         Apple_HFS_Untitled_3
14      113693339648B  113727942655B  34603008B     hfs+         Apple_HFS_Untitled_4
16      113862160384B  160041877503B  46179717120B  hfs+         Apple_HFS_Untitled_5

答案1

如果您有空间,请先备份整个磁盘(例如 dd if=/dev/sdb of=disk.img bs=1M),然后再对您认为无效的分区运行 fsck 等随机程序: p。我并不是说你已经损坏了它,但在实验过程中很有可能会损坏它。


由parted & the kernel 显示的分区表看起来令人难以置信:(。

但如果它是在 PowerMac 上创建的,那么对于 GPT 来说肯定太旧了。

你的 ASCII 转储(虽然不是推荐的识别方式)看起来确实有一个苹果分区图那里。请注意“PM”签名。 'ER'也适合

如果有 PC 风格的 MBR,您可能会在第一个扇区的 ASCII 转储中看到一些错误消息。

这看起来与 GPT 也是相互排斥的。除了黑魔法之外,任何人都没有理由向世界释放黑魔法。 (Linux 启动介质中使用的黑魔法以实现兼容性;请参阅上面的 ER 链接。您的信息与此案例有太多分歧点 - 例如,第一个扇区上会叠加一个 MBR,其中包含由.isolinux)。


我没有任何 Mac 经验,但我建议运行测试盘。它的工作原理类似于parted的救援模式。查看它是否识别出任何合理的内容,即覆盖大部分驱动器的 Mac 支持的文件系统。我认为应该以 512 字节扇区为单位显示分区的起始偏移量。

然后您可以使用循环设备尝试 testdisk 识别的偏移量。例如

losetup -f -o offset-in-bytes /dev/sdb

=> 循环N

mount /dev/loopN /mnt

如果您无法挂载文件系统并且只有几个使用常见格式的文件,您可以尝试 photorec(来自同一链接)。它的工作原理与 testdisk 类似,但使用常见的文件格式(最初用于照片,因此得名)而不是文件系统。

答案2

也许它可以与 darling-dmg 一起使用,它可以读取相当现代的 Apple_partition_map :

sudo apt-get install libfuse-dev cmake
git clone https://github.com/darlinghq/darling-dmg
mkdir darling-dmg-build && cd darling-dmg-build
cmake ../darling-dmg
./darling-dmg disk_afs.bin mount_dir/

如果它不起作用,源代码是相当可读的,也许您可​​以根据您的需要对其进行修补。

相关内容