Làm thế nào tôi có thể mở một tệp .dmg?


75

Tôi đã có một tệp .dmg và tôi không thể tìm ra cách mở nó. Làm thế nào tôi có thể mở nó?

Câu trả lời:


53

Cài đặt dmg2imgCài đặt dmg2img .

Tiếp theo, đọc trang thông tin góitrang hướng dẫn để xem nó có hữu ích với bạn không.

Ứng dụng dường như chuyển đổi .dmg thành một tệp có thể được gắn kết bằng mountlệnh:

dmg2img file.dmg imagefile.img

Từ bài viết Wikipedia của bạn , lệnh tiếp theo dường như có sẵn để làm điều đó:

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

Theo cách này, tệp imagefile.imglà kết quả từ dmg2isovà nội dung sẽ có sẵn tại /mnt. Nếu loại hfsplus không được phát hiện, bạn có thể cần tải mô-đun hạt nhân cho nó:

sudo modprobe hfsplus

Khi hoàn tất, bạn có thể ngắt kết nối nó bằng cách chạy:

sudo umount /mnt

Điều này sẽ không hoạt động nếu tệp dmg có 10,6+ tệp nén trong đó.
HDave

5
Tôi gặp lỗi này -mount: wrong fs type, bad option, bad superblock on /dev/loop0
tuxdna

1
@tuxdna Bạn có thực sự có hình ảnh HFS không? Kiểm tra đầu ra của file file.dmg. Bạn cũng có thể cố gắng 7z l file.dmgliệt kê các nội dung.
Lekensteyn

Tôi đang sử dụng dmg2img v1.6.2. Tôi đã chạy dmg2img trên mysql-5.5.28-osx10.6-x86_64.dmgđó được tạo mysql-5.5.28-osx10.6-x86_64.img, nhưng nó không gắn kết.
tuxdna

@Lekensteyn Cảm ơn! Bây giờ nó hoạt động. Kiểm tra câu trả lời của tôi dưới đây.
tuxdna

45

Để giải nén nó, việc sử dụng 7zip sẽ dễ dàng hơn nhiều. Đơn giản chỉ cần làm:

7z x file.dmg

7
Cảm ơn, 7zđã làm công việc, trong khi dmg2imgphàn nàn về một hình ảnh dmg bị hỏng.
rinni

3
Lưu ý rằng 7z chỉ hoạt động đối với hình ảnh dmg không được mã hóa
vog

Điều này chỉ tạo ra một tập tin gọi 0.unknown partitioncho tôi.
Aaron Franke

31

Điều này làm việc cho tôi:

  • Trích xuất bằng 7z x
  • Xác định vị trí hfstệp phân vùng
  • Gắn nó vào một thư mục

Trích xuất bằng 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

Xác định vị trí hfsphân vùng (đây là 4.hfstệp):

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

Gắn kết nó vào thư mục:

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

Bạn có thể chỉ định tệp duy nhất bạn muốn giải nén:7z x ../mysql-5.5.28-osx10.6-x86_64.dmg 4.hfs
Lekensteyn

8

Nếu bạn thành công với các hướng dẫn từ Lekensteyn và binfalse thêm sức mạnh cho bạn. Nếu bạn đang nhận được

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

Ngay bây giờ Ubuntu chỉ đi kèm với dmg2img phiên bản 1.6.2 và phiên bản 1.6.4 đôi khi tạo ra sự khác biệt. Ngoài ra, bạn có thể trích xuất các phân vùng cụ thể từ một dmg và chỉ một số trong số chúng là 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
  • Các phiên bản Ubuntu hiện tại đi kèm với 1.6.5 kể từ phiên bản 14.04

4

Khi sử dụng dmg2img file.dmg imagefile.imgtrên linux nếu bạn nhận được thông báo ERROR: Lạm phát không thành công, chỉ cần cài đặt 7zip

sudo aptitude install p7zip-full

và đưa ra lệnh sau trên terminal

7z x your_file.dmg
  • tìm InstallMacOSX.pkg / InstallESD.dmg
  • ban hành lệnh dmg2img InstallESD.dmg imagefile.imgtrên thiết bị đầu cuối.

Bây giờ bạn có thể gắn kết imagefile.img với

modprobe hfsplus

và sau đó

mount -t hfsplus -o loop mountain.img /mnt

3

Trước hết cài đặt DMG2IMG . Bây giờ bạn có thể chuyển đổi nó thành IMG:

dmg2img your.dmg new.img 

IMGthể được gắn kết với:

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

Và hãy xem /mnt


2

Trong trường hợp của một số .dmgs, bạn có thể không phải 7z xhọ, cũng không phải mountlà kết quả của dmg2img.

Trong trường hợp đó, .imgkết quả từ dmg2img your.dmg new.imgcó thể được trích xuất bằng 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

Sự thành công!


Nhiều câu trả lời gợi ý sử dụng trực tiếp 7ztrên tập tin dmg. Tại sao lại chuyển đổi nó?
Olorin

@Olorin đây là khi 7z x your.dmgkhông thành công Can't open as archive: 1và khi nào thì dmg2imgđầu ra sẽ không được chấp nhận mount. Tôi sẽ làm rõ
con mèo

1

theo câu trả lời của @aman và @tuxdna, vì dmg2img dường như không hoạt động trên hình ảnh dmg nén.

vì vậy tôi đã tạo một tập lệnh bash (được thử nghiệm trên Ubuntu 14.10) để tự động hóa quá trình:

  • giải nén với 7z trong thư mục tạm thời
  • tìm kiếm phân vùng để gắn kết
  • sao chép thư mục / phân vùng hfs / hfsplus ở một nơi khác
  • xóa thư mục tạm thời
  • gắn kết phân vùng

tìm nó ở đây: https://github.com/aurelien-rainone/scripts/blob/master/mountdmg.sh

ví dụ về việc sử dụng:

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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.