小智 62
要提取它,使用 7zip 更容易:
7z x file.dmg
Run Code Online (Sandbox Code Playgroud)
Lek*_*eyn 58
安装dmg2img。
该应用程序似乎将 .dmg 转换为可以使用以下mount命令挂载的文件:
dmg2img file.dmg imagefile.img
Run Code Online (Sandbox Code Playgroud)
从您的Wikipedia 文章中,似乎可以使用下一个命令来执行此操作:
sudo mount -o loop -t hfsplus imagefile.img /mnt
Run Code Online (Sandbox Code Playgroud)
通过这种方式,该文件imagefile.img是一个结果,dmg2iso内容将在/mnt. 如果未检测到 hfsplus 类型,您可能需要为其加载内核模块:
sudo modprobe hfsplus
Run Code Online (Sandbox Code Playgroud)
完成后,您可以通过运行以下命令卸载它:
sudo umount /mnt
Run Code Online (Sandbox Code Playgroud)
tux*_*dna 32
这对我有用:
7z xhfs分区文件提取使用 7z x
root # aptitude install p7zip-full
root # 7z x ../mysql-5.5.28-osx10.6-x86_64.dmg
7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
p7zip Version 9.20 (locale=en_IN,Utf16=on,HugeFiles=on,4 CPUs)
Processing archive: ../mysql-5.5.28-osx10.6-x86_64.dmg
Extracting 0.MBR
Extracting 1.Primary GPT Header
Extracting 2.Primary GPT Table
Extracting 3.free
Extracting 4.hfs
Extracting 5.free
Extracting 6.Backup GPT Table
Extracting 7.Backup GPT Header
Everything is Ok
Files: 8
Size: 125475840
Compressed: 117543935
root # ls
0.MBR 1.Primary GPT Header 2.Primary GPT Table 3.free 4.hfs 5.free 6.Backup GPT Table 7.Backup GPT Header
Run Code Online (Sandbox Code Playgroud)
找到hfs分区(这里是4.hfsfile ):
root # ls -l
total 122548
-rw-r--r-- 1 root root 512 Feb 5 16:06 0.MBR
-rw-r--r-- 1 root root 512 Feb 5 16:06 1.Primary GPT Header
-rw-r--r-- 1 root root 16384 Feb 5 16:06 2.Primary GPT Table
-rw-r--r-- 1 root root 3072 Feb 5 16:06 3.free
-rw-r--r-- 1 root root 125435904 Feb 5 16:06 4.hfs
-rw-r--r-- 1 root root 2560 Feb 5 16:06 5.free
-rw-r--r-- 1 root root 16384 Feb 5 16:06 6.Backup GPT Table
-rw-r--r-- 1 root root 512 Feb 5 16:06 7.Backup GPT Header
Run Code Online (Sandbox Code Playgroud)
挂载到文件夹:
root # mkdir t
root # mount -oloop 4.hfs t
root # cd t/
root # ls
mysql-5.5.28-osx10.6-x86_64.pkg MySQL.prefPane MySQLStartupItem.pkg ReadMe.txt
Run Code Online (Sandbox Code Playgroud)
小智 8
如果您按照 Lekensteyn 和 binfalse 的指示成功,您将获得更多权力。如果你得到
$ lsmod | grep hfs
hfs 54782 0
hfsplus 84912 0
$ sudo mount -o loop,ro -t hfsplus imagefile.img /mnt
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
Run Code Online (Sandbox Code Playgroud)
现在 Ubuntu 仅带有 dmg2img 1.6.2 版,而 1.6.4 版有时会有所不同。您也可以从 dmg 中提取特定分区,其中只有一些是 hfs+
$ dmg2img -l file.dmg
partition 0: Protective Master Boot Record (MBR : 0)
partition 1: GPT Header (Primary GPT Header : 1)
partition 2: GPT Partition Data (Primary GPT Table : 2)
partition 3: (Apple_Free : 3)
partition 4: disk image (Apple_HFS : 4)
partition 5: (Apple_Free : 5)
partition 6: GPT Partition Data (Backup GPT Table : 6)
partition 7: GPT Header (Backup GPT Header : 7)
$ dmg2img -p 4 file.dmg imagefile.img
Run Code Online (Sandbox Code Playgroud)