Apple Disk Image (dmg) 分析/掛載/製作
測試環境: Linux Mint 18 (Ubuntu xenial) / LMDE (Debian sid)Apple Disk Image 分析
Mac OS X 底下的映像檔其中幾個製作出的種類:
唯讀
$ file app-ro.dmg
app-ro.dmg: data
壓縮
$ file app-comp.dmg
app-comp.dmg: zlib compressed data
可讀寫
$ file app-rw.dmg
app-rw.dmg: DOS/MBR boot sector; partition 1 : ID=0xee, start-CHS (0x3ff,254,63), end-CHS (0x3ff,254,63), startsector 1, 77633 sectors, extended partition table (last)
DVD/CD母片
$ file app-dvd.cdr
app-dvd.cdr: DOS/MBR boot sector; partition 1 : ID=0xee, start-CHS (0x3ff,254,63), end-CHS (0x3ff,254,63), startsector 1, 77633 sectors, extended partition table (last)
混合式映像檔(HFS+/ISO/UDF)
$ file app-mix.dmg
app-mix.dmg: ISO 9660 CD-ROM filesystem data 'APP'
網路下載應用程式分析測試
$ file TorBrowser-5.5.4-osx64_en-US.dmg
TorBrowser-5.5.4-osx64_en-US.dmg: bzip2 compressed data, block size = 900k
$ file Perian_1.2.3.dmg
Perian_1.2.3.dmg: zlib compressed data
dmg2img 轉換後...
$ file TorBrowser-5.5.4-osx64_en-US-img.dmg
TorBrowser-5.5.4-osx64_en-US-img.dmg: ISO 9660 CD-ROM filesystem data 'Tor Browser'
$ file Perian_1.2.3-img.dmg
Perian_1.2.3-img.dmg: Macintosh HFS Extended version 4 data last mounted by: '10.0', created: Sat Jul 23 22:53:07 2011, last modified: Sat Jul 23 21:59:42 2011, last checked: Sat Jul 23 21:53:07 2011, block size: 4096, number of blocks: 3676, free blocks: 2577
掛載方式:
ISO 9660 CD-ROM filesystem data 格式掛載方式與iso相同.
zlib compressed data 或 bzip2 compressed data 須使用dmg2img轉換後才有辦法掛載.
Macintosh HFS Extended version 4 掛載方式使用 mount -t hfsplus
其他暫時未找到掛載方法.但都可以使用 7z 來解壓縮映像檔內容.
Linux 上 dmg 一點用處都沒有, 但如果電腦裡有OSX與Linux雙系統那就非常實用了.
Linux 可當備用的救援系統.當然重點不是在dmg的修改, 而是HFS+的讀寫功能.
=======================
dmg/cdr 映像檔解壓縮
=======================
安裝7-zip
雖然壓縮dmg的格式很多但7-zip比較通用.
$ sudo apt-get install p7zip-full
解壓縮dmg/cdr內容
$ 7z x file.dmg
或
$ 7z x file.cdr
=======================
dmg映像檔製作
=======================
Linux下製作的未壓縮 dmg 在 OS X 底下也能正常使用.
1.安裝 hfsutils
$ sudo apt-get install hfsutils
2.建立一個大小固定的空白映像檔
範例:40MB=1MBX40
$ sudo dd if=/dev/zero of=~/test.dmg bs=1M count=40
3.格式化映像檔
hfsplus格式支援
$ sudo apt-get install hfsplus
hfs格式
$ sudo hformat -l label ~/test.dmg
hfs+格式
$ sudo mkfs.hfsplus -v label ~/test.dmg
4.掛載映像檔
掛載路徑建議在 /run/media/$USER/ 因為重開機掛載目錄就淨空了.
$ sudo mkdir /run/media/$USER/test/
$ sudo mount -o loop -t hfsplus image.dmg /run/media/$USER/test/
5.複製檔案到掛載映像檔路徑
6.卸載映像檔
可直接在檔案管理員卸載
或輸入指令
$ sudo umount /run/media/$USER/test/
=======================
dmg 掛載
=======================
有壓縮的dmg映像檔例如:
$ file ***.dmg
***.dmg: zlib compressed data
這個必須使用 dmg2img 轉換後才有辦法掛載
$ sudo apt-get install dmg2img
$ dmg2img file.dmg file.img
以讀寫方式掛載(預設讀寫)
# mount -o loop -t hfsplus file.img /run/media/$USER/file/
或
# mount -wo loop -t hfsplus file.img /run/media/$USER/file/
以唯讀的方式掛載
# mount -ro loop -t hfsplus file.img /run/media/$USER/file/
=======================
「CD」或「分割區」映像檔製作
=======================
將整個HFS+磁區製作成dmg
$ sudo dd if="/dev/sda3" of=image.dmg
或
$ sudo dd if="/dev/loop1" of=image.dmg
====================
hfs+分割區讀寫
====================
$ sudo apt-get install hfsprogs
掛載未掛載分割區
$ sudo mount -t hfsplus -o force,rw /dev/sdXY /run/media/$USER/mntpoint
重新掛載
$ sudo mount -t hfsplus -o remount,force,rw /dev/sdax
或
$ sudo mount -t hfsplus -o remount,force,rw /run/media/$USER/mntpoint
如果該裝置卸載錯誤或損壞,執行 fsck.hfsplus:
$ sudo fsck.hfsplus -f /dev/sdax
非ROOT使用者HFS+讀寫
$ sudo usermod --uid 501 username
$ sudo chown -R 501:username /home/username
至於 ios ipsw 內 dmg 檔案, 因為該dmg有加密.
目前只有Windows有工具可以解密,具體掛載與修改方式暫時未知.
須等到 My Apple 能越獄時,才有辦法實際測試並做整理. {:5_264:}
以上google大神資料整理與測試 {:5_262:}
ubuntu16.04 我想知道的是,这对同时装有OSX和Linux的PC或Mac而言有什么用处,我没有想通 maoyang 发表于 2016-5-20 08:53 https://www.pcbeta.com/static/image/common/back.gif
我想知道的是,这对同时装有OSX和Linux的PC或Mac而言有什么用处,我没有想通
你不知道有 iPhone這種手機吧 {:5_262:} labaz 发表于 2016-5-20 20:05 https://www.pcbeta.com/static/image/common/back.gif
你不知道有 iPhone這種手機吧
有关系吗?请明示,我电脑很渣,反应不过来{:9_368:}
页:
[1]