jrg Asked: 2011-04-30 10:01:30 +0800 CST2011-04-30 10:01:30 +0800 CST 2011-04-30 10:01:30 +0800 CST 如何打开 .dmg 文件? 772 我有一个.dmg文件,但我不知道如何打开它。我怎样才能打开它? files 9 个回答 Voted rumpel 2013-02-16T01:19:00+08:002013-02-16T01:19:00+08:00 要提取它,使用 7zip 要容易得多: 7z x file.dmg Best Answer Lekensteyn 2011-04-30T10:11:09+08:002011-04-30T10:11:09+08:00 安装dmg2img。 接下来,阅读包信息页和手册页,看看是否对你有用。 该应用程序似乎将 .dmg 转换为可以使用以下mount命令安装的文件: dmg2img file.dmg imagefile.img 从您的Wikipedia 文章中,似乎可以使用下一个命令来执行此操作: sudo mount -o loop -t hfsplus imagefile.img /mnt 通过这种方式,该文件imagefile.img是来自的结果dmg2iso,其内容将在/mnt. 如果未检测到 hfsplus 类型,您可能需要为其加载内核模块: sudo modprobe hfsplus 完成后,您可以通过运行以下命令卸载它: sudo umount /mnt tuxdna 2014-02-06T03:11:17+08:002014-02-06T03:11:17+08:00 这对我有用: 提取使用7z x 找到hfs分区文件 挂载到目录 提取使用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 找到hfs分区(这里是4.hfs文件): 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 将其挂载到文件夹: 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 user107033 2012-12-22T17:37:31+08:002012-12-22T17:37:31+08:00 如果您按照 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, 现在 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 当前的 Ubuntu 版本从 14.04 版本开始附带 1.6.5 aman 2014-05-08T00:22:35+08:002014-05-08T00:22:35+08:00 dmg2img file.dmg imagefile.img在 linux 上使用时,如果您收到 ERROR: Inflation failed 消息,只需安装7zip作为 sudo aptitude install p7zip-full 并在终端上发出以下命令 7z x your_file.dmg 找到 InstallMacOSX.pkg/InstallESD.dmg dmg2img InstallESD.dmg imagefile.img在终端上发出命令。 现在你可以挂载 imagefile.img 了 modprobe hfsplus 接着 mount -t hfsplus -o loop mountain.img /mnt cat 2019-02-19T18:47:46+08:002019-02-19T18:47:46+08:00 在某些.dmgs 的情况下,您既不能是7z x它们,也不能mount是 的结果dmg2img。 在这种情况下,.img结果 fromdmg2img your.dmg new.img可以使用以下方法提取其分区7z x: $ 7z x factor-macosx-x86-64-0.98.dmg [...] Extracting archive: factor-macosx-x86-64-0.98.dmg ERROR: factor-macosx-x86-64-0.98.dmg factor-macosx-x86-64-0.98.dmg Open ERROR: Can not open the file as [Dmg] archive $ dmg2img factor-macosx-x86-64-0.98.dmg factor.img [...] factor-macosx-x86-64-0.98.dmg --> factor.img [...] Archive successfully decompressed as factor.img $ sudo mount -o loop -t hfsplus factor.img /mnt mount: /mnt: wrong fs type, bad option, bad superblock on /dev/loop5, missing codepage or helper program, or other error. $ 7z x factor.img [...] Extracting archive: factor.img [...] Everything is Ok Folders: 2717 Files: 10266 Size: 176431113 Compressed: 264214528 $ ls -lah factor factor/factor/ factor: total 24K drwx------ 6 cat cat 4.0K Jul 30 2018 . drwxr-xr-x 21 cat cat 4.0K Feb 19 16:28 .. drwx------ 8 cat cat 4.0K Jul 30 2018 factor drwx------ 2 cat cat 4.0K Jul 30 2018 '[HFS+ Private Data]' drwx------ 2 cat cat 4.0K Jul 30 2018 '.HFS+ Private Directory Data'$'\r' drwx------ 2 cat cat 4.0K Jul 30 2018 .Trashes factor/factor/: total 97M drwx------ 8 cat cat 4.0K Jul 30 2018 . drwx------ 6 cat cat 4.0K Jul 30 2018 .. drwx------ 163 cat cat 4.0K Jul 30 2018 basis drwx------ 45 cat cat 4.0K Jul 30 2018 core -rw-r--r-- 1 cat cat 702 Jul 30 2018 .dir-locals.el drwx------ 288 cat cat 12K Jul 30 2018 extra -rw-r--r-- 1 cat cat 32 Jul 30 2018 factor drwx------ 3 cat cat 4.0K Jul 30 2018 Factor.app -rw-r--r-- 1 cat cat 97M Jul 30 2018 factor.image -rw-r--r-- 1 cat cat 40 Jul 30 2018 .gitattributes -rw-r--r-- 1 cat cat 43 Jul 30 2018 git-id -rw-r--r-- 1 cat cat 366K Jul 30 2018 libfactor.dylib -rw-r--r-- 1 cat cat 16K Jul 30 2018 libfactor-ffi-test.dylib -rw-r--r-- 1 cat cat 1.3K Jul 30 2018 LICENSE.txt drwx------ 9 cat cat 4.0K Jul 30 2018 misc -rw-r--r-- 1 cat cat 4.6K Jul 30 2018 README.md -rw-r--r-- 1 cat cat 3.6K Jul 30 2018 .travis.yml drwx------ 2 cat cat 4.0K Jul 30 2018 work 成功! binfalse 2011-04-30T10:09:29+08:002011-04-30T10:09:29+08:00 首先安装DMG2IMG。现在您可以将其转换为IMG: dmg2img your.dmg new.img IMG可以安装: sudo modprobe hfsplus sudo mount -t hfsplus -o loop new.img /mnt 看看/mnt arainone 2015-08-03T07:04:40+08:002015-08-03T07:04:40+08:00 遵循@aman 和@tuxdna 的回答,因为 dmg2img 似乎不适用于压缩的 dmg 图像。 所以我制作了一个 bash 脚本(在 ubuntu 14.10 上测试)来自动化以下过程: 在临时文件夹中使用 7z 提取 寻找要挂载的分区 将 hfs/hfsplus 文件夹/分区复制到其他地方 删除临时文件夹 挂载分区 在这里找到它:https ://github.com/aurelien-rainone/scripts/blob/master/mountdmg.sh 使用示例: panty@Computerino:[~/scripts]: mountdmg.sh -t hfsplus -d /mnt ~/Downloads/cutecom-ng.dmg 7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,2 CPUs) Processing archive: /home/panty/Downloads/cutecom-ng.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: 33549312 Compressed: 10059312 mountdmg.sh: successfully mounted 4.hfs on /dev/loop0 mountdmg.sh: run sudo umount /dev/loop0 when finished FlexMcMurphy 2021-06-03T09:50:00+08:002021-06-03T09:50:00+08:00 该主题的一些帖子中的说明仅适用于旧版本的 7z。 如果您想从 .dmg 文件中提取 4.hfs 文件(即:仅深一层)并使用较新版本的 7-zip,那么您需要使用不同的参数: 在 7-Zip [64] 9.20 中,您可以使用以下命令: 7z x file.dmg 4.hfs 在 7-Zip [64] 16.02 中,您需要使用以下命令: 7z x -t* file.dmg 4.hfs
要提取它,使用 7zip 要容易得多:
安装dmg2img。
接下来,阅读包信息页和手册页,看看是否对你有用。
该应用程序似乎将 .dmg 转换为可以使用以下
mount
命令安装的文件:从您的Wikipedia 文章中,似乎可以使用下一个命令来执行此操作:
通过这种方式,该文件
imagefile.img
是来自的结果dmg2iso
,其内容将在/mnt
. 如果未检测到 hfsplus 类型,您可能需要为其加载内核模块:完成后,您可以通过运行以下命令卸载它:
这对我有用:
7z x
hfs
分区文件提取使用
7z x
找到
hfs
分区(这里是4.hfs
文件):将其挂载到文件夹:
如果您按照 Lekensteyn 和 binfalse 的指示成功,您将获得更多权力。如果你得到
现在 Ubuntu 只附带 dmg2img 1.6.2 版,而 1.6.4 版有时会有所作为。您还可以从 dmg 中提取特定分区,其中只有一些是 hfs+
dmg2img file.dmg imagefile.img
在 linux 上使用时,如果您收到 ERROR: Inflation failed 消息,只需安装7zip作为并在终端上发出以下命令
dmg2img InstallESD.dmg imagefile.img
在终端上发出命令。现在你可以挂载 imagefile.img 了
接着
在某些
.dmg
s 的情况下,您既不能是7z x
它们,也不能mount
是 的结果dmg2img
。在这种情况下,
.img
结果 fromdmg2img your.dmg new.img
可以使用以下方法提取其分区7z x
:成功!
首先安装DMG2IMG。现在您可以将其转换为
IMG
:IMG
可以安装:看看
/mnt
遵循@aman 和@tuxdna 的回答,因为 dmg2img 似乎不适用于压缩的 dmg 图像。
所以我制作了一个 bash 脚本(在 ubuntu 14.10 上测试)来自动化以下过程:
在这里找到它:https ://github.com/aurelien-rainone/scripts/blob/master/mountdmg.sh
使用示例:
该主题的一些帖子中的说明仅适用于旧版本的 7z。
如果您想从 .dmg 文件中提取 4.hfs 文件(即:仅深一层)并使用较新版本的 7-zip,那么您需要使用不同的参数:
在 7-Zip [64] 9.20 中,您可以使用以下命令:
在 7-Zip [64] 16.02 中,您需要使用以下命令: