Câu trả lời:
Cài đặt dmg2img .
Tiếp theo, đọc trang thông tin gói và trang 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 mount
lệ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.img
là kết quả từ dmg2iso
và 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
mount: wrong fs type, bad option, bad superblock on /dev/loop0
file file.dmg
. Bạn cũng có thể cố gắng 7z l file.dmg
liệt kê các nội dung.
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.
Để 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
7z
đã làm công việc, trong khi dmg2img
phàn nàn về một hình ảnh dmg bị hỏng.
0.unknown partition
cho tôi.
Điều này làm việc cho tôi:
7z x
hfs
tệp phân vùngTrí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í hfs
phân vùng (đây là 4.hfs
tệ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
7z x ../mysql-5.5.28-osx10.6-x86_64.dmg 4.hfs
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
Khi sử dụng dmg2img file.dmg imagefile.img
trê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 là
sudo aptitude install p7zip-full
và đưa ra lệnh sau trên terminal
7z x your_file.dmg
dmg2img InstallESD.dmg imagefile.img
trê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
Trong trường hợp của một số .dmg
s, bạn có thể không phải 7z x
họ, cũng không phải mount
là kết quả của dmg2img
.
Trong trường hợp đó, .img
kết quả từ dmg2img your.dmg new.img
có 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!
7z
trên tập tin dmg. Tại sao lại chuyển đổi nó?
7z x your.dmg
không thành công Can't open as archive: 1
và khi nào thì dmg2img
đầu ra sẽ không được chấp nhận mount
. Tôi sẽ làm rõ
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:
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