Windows下写入dmg原版镜像到指定分区并建立引导

思路源自远景原帖: 使用windows版dd将dmg直接写入硬盘分区(免U盘安装) 原作者:mayawei1997

适用于写入dmg镜像到任何存储设备的HFS+分区,包括u盘、移动硬盘、本地硬盘等
向作者 mayawei1997 致敬

此教程未完整,仅供使用过 dd 的人作参考

工具下载:

格式化为 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 等镜像

  1. 直接解压dmg文件到当前路径,例如这里是
"C:\Program Files\7-Zip\7z.exe" e -tdmg yourDMGFileName.dmg
  1. 或者解压到指定路径,例如解压到 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 的启动盘:

  1. 提取 dmg 镜像
  2. 对磁盘重新分区,设置分区类型 ID MakeInstall.py#L245-L278
  3. 用 dd 写入分区 MakeInstall.py#L421-L427
posted @ 2020-07-20 21:45  蓝天上的云℡  阅读(6355)  评论(2编辑  收藏  举报