思路源自遠景原帖: 使用windows版dd將dmg直接寫入硬盤分區(免U盤安裝) 原作者:mayawei1997
適用於寫入dmg鏡像到任何存儲設備的HFS+分區,包括u盤、移動硬盤、本地硬盤等
向作者 mayawei1997 致敬
此教程未完整,僅供使用過 dd 的人作參考
工具下載:
- ddrelease64.exe
- 7zip
- DiskGenius(中文名:磁盤精靈)
格式化為 GPT 分區
使用 DG 把整個U盤轉化為 GUID 格式。因為DG對HFS+支持僅限於GPT。
版本: DG4.9.5.508 x64 僅支持GPT
的HFS+
查看分區及其“底層”路徑
先用 dd 查看所有分區:
ddrelease64.exe --list
找到你需要寫入的分區,比如1號盤第3分區的路徑 \\?\Device\Harddisk1\Partition3
使用 7zip 解壓
因為 7zip 支持 dmg hfs 等鏡像
- 直接解壓dmg文件到當前路徑,例如這里是
"C:\Program Files\7-Zip\7z.exe" e -tdmg yourDMGFileName.dmg
- 或者解壓到指定路徑,例如解壓到
F:\hfs
目錄下
"C:\Program Files\7-Zip\7z.exe" x -tdmg D:\BaiduNetdiskDownload\Install.macOS.Big.Sur.10.16.0.11.Beta2.20A4300b.dmg -r -oF:\hfs
如果是BaseSystem.dmg就會出來一個4.hfs不動,懶人版會出現很多有亂碼的文件,將其中最大的那個9G左右的文件重命名為4.hfs,其他文件可以刪掉。
聽說用7zip圖形界面直接打開解壓也是可以的
使用 dd 命令將解壓出來的 hfs 文件寫入 u 盤某個分區
用dd命令把上一步解壓出的hfs文件
寫入硬盤,dd非常危險,請務必檢查分區號是否正確。
例如這里是
ddrelease64.exe if=F:\hfs\4.hfs of=\\?\Device\Harddisk1\Partition3 bs=8M --progress
dd 寫入成功會提示
rawwrite dd for windows version 1.0beta1 WIN64.
Written by John Newbigin <jnewbigin@chrysocome.net>
This program is covered by terms of the GPL Version 2.
1235+1 records in
1235+1 records out
.hfs文件本質是一個img格式的文件,而img只是磁盤的二進制復刻而已。詳見 img 格式-wiki_pdf.zip
Windows原生不支持讀寫HFS+,對於不認識的分區則會提示你格式化,請不要聽微軟的。
思路源自遠景原帖: 使用windows版dd將dmg直接寫入硬盤分區(免U盤安裝) 原作者:mayawei1997
歸檔-不建議使用
MBR 方案
更改分區參數
法一:用 DiskGenius 修改分區參數ID為AF 表示Mac OS X (HFS+) partition
但只是更改標識,並不等同於格式化。需要配合 dd 使用。
法二:用 CMD 命令
見評論區
這個方法大體上是可行的,只需要調整細節, gibMacOS 也是用這個原理制作基於 MBR 的啟動盤:
- 提取 dmg 鏡像
- 定義 7zip 路徑變量 z_path MakeInstall.py#L39-L41 然后
- 用 7z 解開 dmg 鏡像 MakeInstall.py#L360-L407
- 對磁盤重新分區,設置分區類型 ID MakeInstall.py#L245-L278
- 用 dd 寫入分區 MakeInstall.py#L421-L427