![这是所谓的“混合”Mac 分区表吗?如何在 Linux 中安装它?](https://linux22.com/image/41269/%E8%BF%99%E6%98%AF%E6%89%80%E8%B0%93%E7%9A%84%E2%80%9C%E6%B7%B7%E5%90%88%E2%80%9DMac%20%E5%88%86%E5%8C%BA%E8%A1%A8%E5%90%97%EF%BC%9F%E5%A6%82%E4%BD%95%E5%9C%A8%20Linux%20%E4%B8%AD%E5%AE%89%E8%A3%85%E5%AE%83%EF%BC%9F.png)
我想更好地了解该硬盘上的内容,以及如何将其安装到 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/
如果它不起作用,源代码是相当可读的,也许您可以根据您的需要对其进行修补。