利用Dism向Windows镜像添加补丁包
背景
最近L同学的朋友向大D求助,说是要在Intel100系主板+NVMe SSD上装win7,好吧。
很久没接触DIY(P.S.因为没钱),大D还是花了点时间了解了一下情况,于是搞起来就是了。
科普
想了一下,还是写个科普段子好了,虽然写本文的时候感觉挺累的,要感冒的样子。
问题1:为什么不能直接安装Win7
首先,Windows的安装镜像之所以庞大就是因为内置了很多驱动程序。
但硬件的发展速度是非常之快的,Windows内置的驱动程序无法驱动新硬件,也就出现在Win7安装向导界面上无法使用键鼠(缺少USB3.0驱动)、无法看到硬盘(缺少磁盘控制器驱动)等等,所以Win2K时代(Win9X时代有没有大D记不清了),Windows安装程序就可以在安装过程中添加驱动了。
由于Intel 100系主板已经原生不在支持EHCI(USB2.0),只有XHCI(USB3.0),所以使用ISO烧录U盘的方式来进行安装会遇到蓝屏。
存储控制器也一样,WinXP时代没有内置AHCI的驱动程序,当主板开启AHCI模式时,安装WInXP则找不到硬盘,换到这次也是一样的道理,NVMe这种全新的存储标准老旧的Win7自然不支持,所以也就导致了无法直接安装。
问题2:什么是NVMe
说到NVMe,就要说到AHCI。
高级主机控制器接口,缩写:AHCI,由Intel制定的存储器架构规范,规定了系统存储器与SATA存储设备之间如何传输数据,经过多年的发展,AHCI接口标准下可以达到SATA 6Gbps得到速率,但随着SSD性能和可靠度的日益提高,研发新的存储标准便提上日程。
从研发对象来看,AHCI面向的是高延迟的机械硬盘,而NVMe主要的提升就在于降低延迟。
AHCI在传输时,需要经过南桥,而NVMe面向PCI-E SSD,直接通过PCI-E总线与CPU直连来降低延迟提升性能。(如果使用的是南桥提供的低速PCI-E接口,那么延迟并不会降低多少)
正文
由于NVMe SSD需要驱动程序,所以如果安装Win7就需要向Win7的镜像内添加驱动,同时还要加入两个Win7补丁来进行支持。
添加驱动的部分,由于以前博文写过,这里不再赘述,可点击 传送门
1.挂载镜像
1 2 3 4 5 6 7 8 9 |
f:\win7>dism /mount-wim /wimfile:install.wim /index:4 /mountdir:f:\wimmount 部署映像服务和管理工具 版本: 10.0.14393.0 正在安装映像 [==========================100.0%==========================] 操作成功完成。 |
2.添加驱动
由于是新主板,这里就添加USB3.0,NVMe驱动(L同学的朋友用的是三棒的SSD,找驱动可是费了一番周折),以及主板的iRST驱动。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
F:\win7>dism /image:f:\wimmount /add-driver /driver:f:\win7\Drivers /recurse /forceunsigned 部署映像服务和管理工具 版本: 10.0.14393.0 映像版本: 6.1.7600.16385 正在搜索要安装的驱动程序包... 找到 6 个要安装的驱动程序包。 正在安装第 1 个,共有 6 个 - f:\win7\Drivers\irst\iaAHCIC.inf: 驱动程序包已成功安装。 正在安装第 2 个,共有 6 个 - f:\win7\Drivers\irst\iaStorAC.inf: 驱动程序包已成功安装。 正在安装第 3 个,共有 6 个 - f:\win7\Drivers\nvme\secnvme.inf: 驱动程序包已成功安装。 正在安装第 4 个,共有 6 个 - f:\win7\Drivers\usb\HCSwitch\x64\iusb3hcs.inf: 驱动程序包已成功安装。 正在安装第 5 个,共有 6 个 - f:\win7\Drivers\usb\Win7\x64\iusb3hub.inf: 驱动程序包已成功安装。 正在安装第 6 个,共有 6 个 - f:\win7\Drivers\usb\Win7\x64\iusb3xhc.inf: 驱动程序包已成功安装。 操作成功完成。 |
3.添加补丁
1 2 3 4 5 6 7 8 9 10 11 12 |
F:\win7>dism /image:f:\wimmount /add-package /packagepath:f:\win7\hotfix 部署映像服务和管理工具 版本: 10.0.14393.0 映像版本: 6.1.7600.16385 正在处理 1 (共 2) - 正在添加程序包 f:\win7\hotfix\Windows6.1-KB2990941-v3-x64.msu [==========================100.0%==========================] 正在处理 2 (共 2) - 正在添加程序包 f:\win7\hotfix\Windows6.1-KB3087873-v2-x64.msu [==========================100.0%==========================] 操作成功完成。 |
dism命令参数解释:
/image:wim挂载位置
/add-package:添加补丁包
/packagepath:补丁msu文件存放位置
4.封包并解除挂载
1 2 3 4 5 6 7 8 9 10 11 12 |
F:\win7>dism /unmount-wim /mountdir:f:\wimmount /commit 部署映像服务和管理工具 版本: 10.0.14393.0 映像文件 : F:\win7\install.wim 映像索引 : 4 正在保存映像 [==========================100.0%==========================] 正在卸载映像 [==========================100.0%==========================] 操作成功完成。 |
最后在利用UltraISO等工具打开一个Win10的安装ISO,替换掉Source文件夹下的install.wim文件。
这样做是因为win10的boot.wim内包含NVMe的驱动,可以直接识别。
上一张虚拟机测试时的图,可以看出是Win10的安装界面,但可选安装项为Win7.
已有 5 条评论
发表评论
电子邮件地址不会被公开。 必填项已标注。
大D V5
@adamfei 好久不见呀
"最后在利用UltraISO等工具打开一个Win10的安装ISO,替换掉Source文件夹下的install.wim文件。"是替换掉bott.wim吧。不然前面做的全白费 了
不知道你有没有仔细看。
本文通篇是使用win10的boot.wim挂载win7的install.wim来借道安装win7的,也说明了为何不替换boot.wim的原因。
大神,貌似我按照你说的那样做了,还是蓝屏 我的是华硕主板E3 PRO GAMING V5 intel ssd6 固态盘。你在不在成都可否协助安装不?向你学习 觉得你懂得多高人!谢谢!邮箱即是我QQ