使用mac制作window系统启动盘实在是身边没有win电脑(主要是的对应的教程多),而使用mac的话教程很少。在网上找到了两篇教程觉得可行,就开始实践了。其中多有曲折,记录下来对理解磁盘信息多有裨益。
中间得出的结论都是个人臆断,欢迎评论指正交流。
工具
- U盘64G
- 笔记本电脑- 惠普暗影精灵一代,固态+机械硬盘
- How to Make a Windows 10 USB Using Your Mac - Build a Bootable ISO From Your Mac's Terminal
- Creating a Bootable Windows USB from ISO on a Mac
步骤
-
下载ios文件, [官网下载地址](- www.microsoft.com/en-gb/softw…)
-
使用mac上的diskutil命令,对插入的U盘进行格式化
# 列出所有的磁盘信息 diskutil list # 上一步骤中得知你的U盘位置是/dev/disk4 # 下面的命令具体就是 # 将你的U盘分区表设置为GPT # 创建一个EFI系统分区 # 一个文件格式为Fat32的主分区 # 这个将这个U盘挂载到/Volumes/WIN10目录 diskutil eraseDisk MS-DOS "WIN10" GPT /dev/disk4
-
将下载的ios文件挂载
# 这个挂载操作最终挂载到了/Volumes/CCCOMA_X64FRE_ZH-CN_DV9目录下
# 具体名称可能由于文件名的不同而不同,可以去/Volumes看一下,看看挂载在电脑上的磁盘文件信息
hdiutil mount ~/Downloads/Win10_22H2_Chinese_Simplified_x64v1.iso
- 将iso中的文件同步到u盘中
# exclude参数是排除同步时的大文件 install.wim
rsync -vha --exclude=sources/install.wim /Volumes/CCCOMA_X64FRE_ZH-CN_DV9/* /Volumes/WIN10
- 将大文件拆分放入U盘中
# brew是一个包管理器,需要下载
brew install wimlib
# 这个命令中最后分出的两个文件后缀确实是swm,安装时也没有出错
wimlib-imagex split /Volumes/CCCOMA_X64FRE_ZH-CN_DV9/sources/install.wim /Volumes/WIN10/sources/install.swm 3000
- 弹出挂载的两个设备
# 弹出U盘
diskutil eject disk4
# 挂载的ios文件
diskutil eject disk5
- 插入U盘,启动,设置bios ,禁用传统模式,启动项中U盘的优先级设置为最高,保存设置并启动
遇到的问题
步骤四中,同步过程中文件过大,无法同步
情景
在执行步骤四时,没有加 --exclude=sources/install.wim
这个参数,果然就报错了。
原因
- 查看镜像中的sources目录下install.wim的大小,是4.6GB
- 是因为步骤2中格式化U盘时,主分区的文件系统为fat32,这是win和mac系统都可以读写的文件系统,但是对单个文件大小有限制,单个文件不能超过4GB。
解决方案
- 如步骤四,五中,在同步时大文件排除,使用wimlib工具,将大文件拆分为两个小文件。我使用的是此方法。
- 对U盘主分区重新格式化,修改为修改为NTFS格式,这种格式是mac系统只读,不可修改。需要安装工具才能写入文件。也可以选择修改为exFAT,据说是和fat32一样都支持,但是没有实验过不做评价。
安装界面
情景
顺利进入系统安装界面后,在安装磁盘选择的时候,出现我们无法创建新的分区,也找不到现有的分区
.。将磁盘上所有分区删除后,可能会进入到下一步骤,但是又会遇到windows无法对计算机进行启动到下一个安装阶段的准备
这错误。
原因
- 安装系统的过程中,会对选中的磁盘重新添加分区,EFI系统分区,msr保留分区,剩下的空间设为主分区用来安装系统。
- windows安装程序不允许一台电脑上多个硬盘里出现EFI分区
解决方法
- 抓住关键问题,就是在当前电脑的各个磁盘中只能让安装系统的磁盘拥有EFI分区,就称它为系统磁盘吧。
- 系统安装程序中有命令行工具,非常的方便,使用Diskpart工具就可以操作磁盘,查看每个磁盘分区情况。
- 于是发现在U盘中有一个EFI分区,这个就是问题所在,使用Diskpart工具就可以删除这个分区。由于安装界面上没有显示U盘,也算是个盲点吧。
- 最后就是删除系统磁盘上的所有分区,让安装程序对磁盘创建规划分区。
- (个人理解不保真),如果不想要清除系统磁盘上的分区,只留一部分来安装系统,需要保证分区中没有EFI系统分区和msr保留分区,因为几次实践下来,发现安装程序无论磁盘中是否有这两个分区都要重新创建。
个人实践理解
- 在遇到第一个文件过大的问题时以为是rsync命令导致的,就尝试使用cp命令复制文件,同样失败了,而且查看source目录下,多了一个4GB的install.wim文件,这个文件显然要删除的。这就是rsync的优点吧,在单个文件传输失败的时候没有残留错误文件。rsync顾名思义就是同步,两个目录中同样的文件是不会重复复制的,于是删除文件后的,又执行了排除大文件的rsync命令,也不用担心之前同步的文件出现副本。
- Creating a Bootable Windows USB from ISO on a Mac下面有很多的评论,翻译过后查看也毫无压力,很多人在下面反馈了最新镜像中
install.wim
文件过大的问题,也给出了很多不同的解决思路。这种评论的氛围就很羡慕。 - windows无法对计算机进行启动到下一个安装阶段的准备这个是解决第二个问题遇到的,给我启发的是视频下面的长评论,指出了
windows安装程序不允许一台电脑上多个硬盘里出现EFI分区
。也同样很羡慕这个评论区的氛围。 - 这也是第一次写这么长的文章,发现自己的毛病就是无法实现
详略得当
。