Wie kann ich eine .dmg-Datei öffnen?

Antworten:

53

Installieren Sie dmg2imgInstallieren Sie dmg2img .

Lesen Sie als Nächstes die Paketinformationsseite und die Handbuchseite, um festzustellen , ob sie für Sie nützlich sind.

Die Anwendung scheint .dmg in eine Datei zu konvertieren, die mit dem folgenden mountBefehl bereitgestellt werden kann :

dmg2img file.dmg imagefile.img

In Ihrem Wikipedia-Artikel scheint der nächste Befehl dafür verfügbar zu sein:

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

Auf diese Weise ist die Datei imagefile.imgein Ergebnis von dmg2isound der Inhalt ist verfügbar unter /mnt. Wenn der hfsplus-Typ nicht erkannt wird, müssen Sie möglicherweise das Kernelmodul dafür laden:

sudo modprobe hfsplus

Wenn Sie fertig sind, können Sie die Bereitstellung aufheben, indem Sie Folgendes ausführen:

sudo umount /mnt
Lekensteyn
quelle
Dies funktioniert nicht, wenn die DMG-Datei 10.6+ komprimierte Dateien enthält.
HDave
5
Ich bekomme diese Fehlermeldung -mount: wrong fs type, bad option, bad superblock on /dev/loop0
tuxdna
1
@tuxdna Hast du wirklich ein HFS-Image? Überprüfen Sie die Ausgabe von file file.dmg. Sie können auch versuchen 7z l file.dmg, den Inhalt aufzulisten.
Lekensteyn
Ich benutze dmg2img v1.6.2. Ich habe dmg2img ausgeführt, mysql-5.5.28-osx10.6-x86_64.dmgdas erstellt wurde mysql-5.5.28-osx10.6-x86_64.img, aber es wird nicht eingebunden .
Tuxdna
@Lekensteyn Danke! Jetzt gehts. Überprüfen Sie meine Antwort unten.
Tuxdna
45

Um es zu extrahieren, ist es viel einfacher, 7zip zu verwenden. Mach einfach:

7z x file.dmg
rumpeln
quelle
7
Danke, 7zhabe den Job gemacht, während dmg2imgüber ein beschädigtes dmg-Image geklagt wurde.
Rinni
3
Beachten Sie, dass 7z nur für unverschlüsselte dmg-Bilder funktioniert
vog
Soeben wurde eine 0.unknown partitionfür mich aufgerufene Datei erstellt .
Aaron Franke
31

Das funktioniert bei mir:

  • Mit extrahieren 7z x
  • Suchen Sie die hfsPartitionsdatei
  • Hängen Sie es in ein Verzeichnis ein

Mit extrahieren 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

Suchen Sie die hfsPartition (hier ist sie 4.hfsDatei):

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

Mounten Sie es in den Ordner:

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
tuxdna
quelle
Sie können die einzelne Datei angeben, die Sie extrahieren möchten:7z x ../mysql-5.5.28-osx10.6-x86_64.dmg 4.hfs
Lekensteyn
8

Wenn Sie mit den Anweisungen von Lekensteyn und binfalse mehr Macht zu Ihnen erfolgreich sind. Wenn Sie bekommen

$ 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,

Momentan wird Ubuntu nur mit dmg2img Version 1.6.2 ausgeliefert und Version 1.6.4 macht manchmal einen Unterschied. Sie können auch bestimmte Partitionen aus einem dmg extrahieren und nur einige von ihnen sind 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
  • Aktuelle Ubuntu-Versionen werden ab Version 14.04 mit 1.6.5 ausgeliefert
Jorge Castro
quelle
4

Bei Verwendung dmg2img file.dmg imagefile.imgunter Linux, wenn Sie die Meldung FEHLER: Inflation failed erhalten, installieren Sie einfach 7zip as

sudo aptitude install p7zip-full

und geben Sie den folgenden Befehl am Terminal ein

7z x your_file.dmg
  • Suchen Sie die Datei InstallMacOSX.pkg / InstallESD.dmg
  • Geben Sie den Befehl dmg2img InstallESD.dmg imagefile.imgauf dem Terminal aus.

Jetzt können Sie imagefile.img mit einbinden

modprobe hfsplus

und dann

mount -t hfsplus -o loop mountain.img /mnt
ein Mann
quelle
3

Installieren Sie zunächst DMG2IMG . Jetzt können Sie es konvertieren in IMG:

dmg2img your.dmg new.img 

Die IMGkönnen montiert werden mit:

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

Und schauen Sie sich an /mnt

binfalse
quelle
2

Bei einigen .dmgs können Sie weder 7z xsie noch mountdas Ergebnis von dmg2img.

In diesem Fall können die Paritionen des .imgErgebnisses von dmg2img your.dmg new.imgextrahiert werden mit 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

Erfolg!

Katze
quelle
Mehrere Antworten schlagen vor, direkt 7zauf der dmg-Datei zu verwenden. Warum konvertieren Sie es dann?
Olorin
@Olorin dies ist für , wenn 7z x your.dmgnicht mit Can't open as archive: 1, und wenn dmg2img‚s Ausgang nicht von akzeptiert werden mountentweder. Ich werde klären
Katze
1

nach der antwort von @aman und @tuxdna, weil dmg2img nicht auf komprimierten dmg-bildern zu funktionieren scheint.

Also habe ich ein Bash-Skript erstellt (getestet auf Ubuntu 14.10), um den Prozess zu automatisieren:

  • mit 7z in einen temporären Ordner extrahieren
  • Suche nach der Partition, die gemountet werden soll
  • Kopieren Sie den Ordner / die Partition hfs / hfsplus an eine andere Stelle
  • Löschen Sie den temporären Ordner
  • Hängen Sie die Partition ein

Finden Sie es hier: https://github.com/aurelien-rainone/scripts/blob/master/mountdmg.sh

Anwendungsbeispiel:

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
arainone
quelle