当前位置: 首页>>技术问答>>正文


我怎么能打开.dmg文件?

, , ,

问题描述

我有一个.dmg文件,我无法弄清楚如何打开它。我该怎么打开它?

最佳解决办法

安装dmg2img。

files,file-format,archive,ubuntu

接下来,阅读package information pagemanual page以查看它是否对您有用。

该应用程序似乎将.dmg转换为可以使用mount命令挂载的文件:

dmg2img file.dmg imagefile.img

从您的Wikipedia article,下一个命令似乎可以这样做:

sudo mount -o loop -t hfsplus imagefile.img /mnt

这样,文件imagefile.img是来自dmg2iso的结果,其内容将在/mnt中可用。如果未检测到hfsplus类型,则可能需要为其加载内核模块:

sudo modprobe hfsplus

完成后,您可以通过运行以下命令卸载它:

sudo umount /mnt

次佳解决办法

要提取它,使用7zip要容易得多。简单地说:

7z x file.dmg

第三种解决办法

这对我有用:

  • 使用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

第四种办法

如果你成功接受了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

第五种办法

在linux上使用dmg2img file.dmg imagefile.img时,如果收到ERROR:Inflation failed message,只需安装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

第六种办法

首先安装DMG2IMG。现在您可以将其转换为IMG

dmg2img your.dmg new.img 

IMG可以安装:

sudo modprobe hfsplus
sudo mount -t hfsplus -o loop new.img /mnt

并看看/mnt

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1218.html,未经允许,请勿转载。