前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DIY Windows最新版ISO

DIY Windows最新版ISO

原创
作者头像
Windows技术交流
修改2024-06-05 18:55:13
3930
修改2024-06-05 18:55:13
举报
文章被收录于专栏:Windows技术交流Windows技术交流

最新版Windows ISO微软不一定会经常更新,有时候好几年不发一个新版ISO,比如server2016和server2019,那要最新ISO,说白了需要自己把最新的补丁集成到ISO,怎么操作呢?以server2016为例

代码语言:javascript
复制
先用原版ISO在VMware里NAT模式创建一台虚拟机,检查更新,看识别到的补丁号,以2018年2月发布的Server2016 ISO为例,创建虚拟机后识别到6个KB(前2个是ISO自带的,后4个是安装系统后新识别到待安装的)
2018.2.3 KB4048953
2018.2.3 KB4049065
以上为ISO自带
2018.05 KB4103723 大 安全更新程序(这个应该是被2023.10 KB5031362迭代了,可以不要KB4103723)
2023.09 KB5030504 小 安全更新程序(服务堆栈更新)
2023.10 KB5031362 大 安全更新程序
2021.01 KB4589210 小 更新程序KB4589210:适用于 Windows 10 版本 1607 和 Windows Server 2016 的 Intel 微代码更新
把对应系统版本的KB文件下载下来(一般从https://www.catalog.update.microsoft.com/ 下载)

先把ISO里的sources\install.wim文件复制出来一份
Dism /Get-ImageInfo /ImageFile:"W:\sources\install.wim"
#(挂载到光驱W:\了,从光驱复制到本地硬盘分区)

mkdir B:\mount
#如果直接从光驱操作,由于只读,mount不了,需要先复制一份
Dism /Mount-Image /ImageFile:"W:\sources\install.wim" /index:4 /MountDir:"B:\mount"

#拷贝一份或者导出一份数据中心版
del B:\install_exp.wim
xcopy /S /E /F /H /Y /Q "W:\sources\install.wim" "B:\install_exp.wim*"
#dism /export-image /sourceimagefile:"W:\sources\install.wim" /sourceindex:4 /destinationimagefile:"B:\install_exp.wim"
#如果是这句Dism命令导出的.wim,那么序号只有1个,就是1,千万别搞错序号

Dism /Get-ImageInfo /ImageFile:"B:\install_exp.wim"
Dism /Mount-Image /ImageFile:"B:\install_exp.wim" /index:4 /MountDir:"B:\mount"


#集成补丁
mkdir B:\Scratch

#2018.05 KB4103723应该是被2023.10 KB5031362迭代了,可以不要KB4103723
#Dism /Image:"B:\mount" /ScratchDir:"B:\Scratch" /Add-Package /PackagePath:"B:\windows10.0-kb4103723-x64_2adf2ea2d09b3052d241c40ba55e89741121e07e.msu"

Dism /Image:"B:\mount" /ScratchDir:"B:\Scratch" /Add-Package /PackagePath:"B:\windows10.0-kb5030504-x64_5451b059e3ada37433b65b36ab51bc4c785aab47.msu"
Dism /Image:"B:\mount" /ScratchDir:"B:\Scratch" /Add-Package /PackagePath:"B:\windows10.0-kb5031362-x64_d5547372d929a0cfcd12559f75d03507ce6c5d8b.msu"
Dism /Image:"B:\mount" /ScratchDir:"B:\Scratch" /Add-Package /PackagePath:"B:\windows10.0-kb4589210-v2-x64_bbbf54336d6e22da5de8d63891401d8f6077d2ce.msu"
Dism /Unmount-Image /MountDir:"B:\mount" /Commit

Dism /Get-ImageInfo /ImageFile:"B:\install_exp.wim"

#提前安装WDK,参考https://learn.microsoft.com/zh-cn/windows-hardware/drivers/download-the-wdk
#切换环境变量,使能用imagex 
C:\Windows\system32\cmd.exe /k "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\DandISetEnv.bat"
#导出压缩后的目标序号的.wim文件
imagex /export "B:\install_exp.wim" 4 "B:\install.wim" /compress maximum

Dism /Get-ImageInfo /ImageFile:"B:\install.wim"

最后用UltraISO打开原ISO文件,用改造后的install.wim替换原来的然后另存为一个新的ISO即可
完成后在VMware安装测试
安装时,Windows Server 2016 Datacenter的productkey是:CB7KF-BWN84-R7R2Y-793K2-8XDDG
productkey参考微软官网:https://learn.microsoft.com/zh-cn/windows-server/get-started/kms-client-activation-keys

就地升级(维护)系统,版本要对,同版本的才支持,不同版本的不行,比如得是pc对pc、server对server、en对en、cn对cn、桌面版对桌面版、core纯命令行版对core纯命令行版,交叉的不行

就地升级(维护)系统,版本要对,同版本的才支持,不同版本的不行,比如得是pc对pc、server对server、en对en、cn对cn、桌面版对桌面版、core纯命令行版对core纯命令行版,交叉的不行

就地升级(维护)系统,版本要对,同版本的才支持,不同版本的不行,比如得是pc对pc、server对server、en对en、cn对cn、桌面版对桌面版、core纯命令行版对core纯命令行版,交叉的不行

2024年4月23日,我又对2018年2月的Server2016 ISO集成最新补丁了,这次我还是取第4个分支(数据中心图形界面版)

代码语言:powershell
复制
先把ISO里的sources\install.wim文件复制出来一份
Dism /Get-ImageInfo /ImageFile:"W:\sources\install.wim"
#(挂载到光驱W:\了,从光驱复制到本地硬盘分区)
del B:\install_exp.wim
xcopy /S /E /F /H /Y /Q "W:\sources\install.wim" "B:\install_exp.wim*"
Dism /Get-ImageInfo /ImageFile:"B:\install_exp.wim"
Dism /Mount-Image /ImageFile:"B:\install_exp.wim" /index:4 /MountDir:"B:\mount"

#虚拟化驱动按需添加,如果是云服务器NT10.0低版本系统向高版本就地升级的需求(比如2016升2019或2022,一般不需要添加虚拟化驱动,因为64位NT10.0系统的驱动是通用的,会沿用)
Dism /Add-Driver /Image:"B:\mount" /Driver:"B:\58007new_fromguoxin_2024.3.21_amd64\viostor.inf" /ForceUnsigned
Dism /Add-Driver /Image:"B:\mount" /Driver:"B:\58007new_fromguoxin_2024.3.21_amd64\netkvm.inf" /ForceUnsigned
#查看驱动
Dism /Image:"B:\mount" /get-drivers

然后把对应系统版本的最新KB文件下载下来(一般从https://www.catalog.update.microsoft.com/ 下载)
这次集成的补丁有

2021.01 更新程序KB4589210:适用于 Windows 10 版本 1607 和 Windows Server 2016 的 Intel 微代码更新
2024-04 适用于 x64 Windows Server 2016 的 .NET Framework 4.8 累积更新(KB5036609)
2024-适用于 Windows Server 2016 的 04 服务堆栈更新,适合基于 x64 的系统 (KB5037016)
2024-适用于 Windows Server 2016 的 04 累积更新,适合基于 x64 的系统 (KB5036899)

#查看补丁
Dism /Image:"B:\mount" /get-packages /format:table

#集成补丁
Dism /Image:"B:\mount" /ScratchDir:"B:\Scratch" /Add-Package /PackagePath:"B:\windows10.0-kb4589210-v2-x64_bbbf54336d6e22da5de8d63891401d8f6077d2ce.msu"
Dism /Image:"B:\mount" /ScratchDir:"B:\Scratch" /Add-Package /PackagePath:"B:\windows10.0-kb5036609-x64-ndp48_087fa1e62da956ae7e7fc0f994321e00a59cf1cf.msu"
Dism /Image:"B:\mount" /ScratchDir:"B:\Scratch" /Add-Package /PackagePath:"B:\windows10.0-kb5037016-x64_dde96790d66ed77a63239fd5a8e69db88c626029.msu"
Dism /Image:"B:\mount" /ScratchDir:"B:\Scratch" /Add-Package /PackagePath:"B:\windows10.0-kb5036899-x64_55391ef83ffb9a029d2489da756a3fb562d4e600.msu"

#查看补丁
Dism /Image:"B:\mount" /get-packages /format:table

#提交变更保存
Dism /Unmount-Image /MountDir:"B:\mount" /Commit

#重命名
del B:\install.wim 2>$null
cmd.exe /c "rename B:\install_exp.wim install.wim"
#注意rename B:\install_exp.wim install.wim在powershell下直接执行会报错,需要用cmd.exe /c "cmd下的命令"来包装执行

最后,把重命名后的install.wim在UltraISO里替换到原位置,即sources目录,至此,最新版Server 2016 ISO就问世了。

总结:Server ISO集成最新版补丁做个最新的ISO其实很简单

一、去微软catalog官网查看最新的补丁是什么

https://catalog.update.microsoft.com/Search.aspx

2016的话,在catalog里分别搜"Windows Server 2016 服务堆栈更新 x64"、"Windows Server 2016 累积更新 x64",最上面就有最新的

2024-04 适用于 x64 Windows Server 2016 的 .NET Framework 4.8 累积更新(KB5036609)

2024-适用于 Windows Server 2016 的 04 服务堆栈更新,适合基于 x64 的系统 (KB5037016)

2024-适用于 Windows Server 2016 的 04 累积更新,适合基于 x64 的系统 (KB5036899)

2019的话,类似,在catalog里分别搜"Windows Server 2019 服务堆栈更新 x64"、"Windows Server 2019 累积更新 x64"

注意不是Azure Edition

注意不是Azure Edition

注意不是Azure Edition

代码语言:powershell
复制
一、查询并下载2019最新补丁
2024-04 Cumulative Update for .NET Framework 3.5 and 4.7.2 for Windows Server 2019 for x64 (KB5036604) 
2024-04 Cumulative Update for .NET Framework 3.5 and 4.8 for Windows Server 2019 for x64 (KB5036610) 
2024-04 Cumulative Update for Windows Server 2019 for x64-based Systems (KB5036896) 

B:\windows10.0-kb5036604-x64_b83a6ea8550712befd70d19518d8d519426631a0.msu
B:\windows10.0-kb5036610-x64-ndp48_0785b869db11132c279d2adcae9096ae48ede43d.msu
B:\windows10.0-kb5036896-x64_57eaad3d6f3738831f3f8c6bdf7a77df618429c2.msu

B:\镜像资料\2019\sw_dvd9_win_server_std_core_2019_1809.18_64bit_english_dc_std_mlf_x22-74330.iso
B:\镜像资料\2019\sw_dvd9_win_server_std_core_2019_1809.18_64bit_chnsimp_dc_std_mlf_x22-74329.iso

镜像嘛,看各人渠道,公网是能获取到的,我个人买了百度网盘会员,下载会快一些

二、给原版ISO集成最新补丁
挂载2022年底微软发布的server2019 cn iso :SW_DVD9_Win_Server_STD_CORE_2019_1809.19_64Bit_ChnSimp_DC_STD_MLF_X23-31940.ISO 到盘符W:

分别搞2次,一个中文ISO,一个英文ISO

挂载2021年8月微软发布的server2019 cn iso :B:\镜像资料\2019\sw_dvd9_win_server_std_core_2019_1809.18_64bit_chnsimp_dc_std_mlf_x22-74329.iso 到盘符W:
挂载2021年8月微软发布的server2019 en iso :B:\镜像资料\2019\sw_dvd9_win_server_std_core_2019_1809.18_64bit_english_dc_std_mlf_x22-74330.iso 到盘符W:


del B:\install_exp.wim 2>$null
xcopy /S /E /F /H /Y /Q "W:\sources\install.wim" "B:\install_exp.wim*"
Dism /Get-ImageInfo /ImageFile:"B:\install_exp.wim"
Dism /Mount-Image /ImageFile:"B:\install_exp.wim" /index:4 /MountDir:"B:\mount"

#虚拟化驱动按需添加,如果是云服务器NT10.0低版本系统向高版本就地升级的需求(比如2016升2019或2022,一般不需要添加虚拟化驱动,因为64位NT10.0系统的驱动是通用的,会沿用)
Dism /Add-Driver /Image:"B:\mount" /Driver:"B:\58007new_fromguoxin_2024.3.21_amd64\viostor.inf" /ForceUnsigned
Dism /Add-Driver /Image:"B:\mount" /Driver:"B:\58007new_fromguoxin_2024.3.21_amd64\netkvm.inf" /ForceUnsigned
#查看驱动
Dism /Image:"B:\mount" /get-drivers

#集成补丁之前先下载好最新补丁
Dism /Image:"B:\mount" /get-packages /format:table

Dism /Image:"B:\mount" /ScratchDir:"B:\Scratch" /Add-Package /PackagePath:"B:\windows10.0-kb5036604-x64_b83a6ea8550712befd70d19518d8d519426631a0.msu"
Dism /Image:"B:\mount" /ScratchDir:"B:\Scratch" /Add-Package /PackagePath:"B:\windows10.0-kb5036610-x64-ndp48_0785b869db11132c279d2adcae9096ae48ede43d.msu"
Dism /Image:"B:\mount" /ScratchDir:"B:\Scratch" /Add-Package /PackagePath:"B:\windows10.0-kb5036896-x64_57eaad3d6f3738831f3f8c6bdf7a77df618429c2.msu"

Dism /Image:"B:\mount" /get-packages /format:table

Dism /Unmount-Image /MountDir:"B:\mount" /Commit


ls B:\install*.wim*
del B:\install.wim 2>$null
#切换环境变量,使能用imagex 
C:\Windows\system32\cmd.exe /k "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\DandISetEnv.bat"
#导出压缩后的目标序号的.wim文件
imagex /export "B:\install_exp.wim" 4 "B:\install.wim" /compress maximum

Dism /Get-ImageInfo /ImageFile:"B:\install.wim"

exit后替换新的install.wim到原版ISO原位置后另存为,比如:
BaseonServer2019ISO_202108CN_Add202404Hotfix(KB5036604+KB5036610+KB5036896)_madebyshawyang_20240425.iso

按上面办法再搞个英文版ISO,比如:
BaseonServer2019ISO_202108EN_Add202404Hotfix(KB5036604+KB5036610+KB5036896)_madebyshawyang_20240425.iso

中文界面选了英文ISO就会报这个

英文界面选了中文ISO报这个

所以,最好有中英文2个版本的ISO才行。

2022的话,搜索字符串不太一样,在catalog里分别搜"21H2 服务堆栈更新"、"Server 21H2 累积更新"

注意字符串跟2016和2019的不一样

注意字符串跟2016和2019的不一样

注意字符串跟2016和2019的不一样

代码语言:powershell
复制
一、查询并下载2022最新补丁
2024-04 Cumulative Update for .NET Framework 3.5 and 4.8 for Microsoft server operating system version 21H2 for x64 (KB5036613) 
2024-04 Cumulative Update for .NET Framework 3.5 and 4.8.1 for Microsoft server operating system version 21H2 for x64 (KB5036621) 
2024-04 Cumulative Update for .NET Framework 3.5, 4.8 and 4.8.1 for Microsoft server operating system version 21H2 for x64 (KB5037033) 
2024-04 Cumulative Update for Microsoft server operating system version 21H2 for x64-based Systems (KB5036909) 


2024-04 用于 .NET Framework 3.5 和 4.8 的累积更新,适合基于 x64 的 Microsoft server operating system version 21H2 (KB5036613)
2024-04 用于 .NET Framework 3.5 和 4.8.1 的累积更新,适合基于 x64 的 Microsoft server operating system version 21H2 (KB5036621)
2024-04 适用于 Microsoft server operating system version 21H2(x64 版)的 .NET Framework 3.5、4.8 和 4.8.1 的累积更新 (KB5037033)
适用于基于 x64 系统 (KB5036909)的 Microsoft server operating system version 21H2 版本的2024-04 累积更新

https://catalog.s.download.windowsupdate.com/c/msdownload/update/software/secu/2024/03/windows10.0-kb5036621-x64-ndp481_fa0e211c8319df2074c1991668172f7ee1a82d89.msu
https://catalog.s.download.windowsupdate.com/d/msdownload/update/software/secu/2024/03/windows10.0-kb5036613-x64-ndp48_e6377591321f769949c25afb6eff1fabe093ad24.msu
https://catalog.s.download.windowsupdate.com/c/msdownload/update/software/secu/2024/04/windows10.0-kb5036909-x64_786040b0b0d000b17d6a727ea93ff77d733d1044.msu


B:\BaiduNetdiskDownload\zh-cn_windows_server_2022_updated_april_2024_x64_dvd_164349f3s.iso
B:\BaiduNetdiskDownload\en-us_windows_server_2022_updated_april_2024_x64_dvd_164349f3s.iso
镜像嘛,看各人渠道,公网是能获取到的,我个人买了百度网盘会员

二、给原版ISO集成最新补丁
挂载2024年4月微软发布的server2022 cn iso :B:\BaiduNetdiskDownload\zh-cn_windows_server_2022_updated_april_2024_x64_dvd_164349f3s.iso 到盘符W:
挂载2024年4月微软发布的server2022 en iso :B:\BaiduNetdiskDownload\en-us_windows_server_2022_updated_april_2024_x64_dvd_164349f3s.iso 到盘符W:


del B:\install_exp.wim 2>$null
xcopy /S /E /F /H /Y /Q "W:\sources\install.wim" "B:\install_exp.wim*"
Dism /Get-ImageInfo /ImageFile:"B:\install_exp.wim"
Dism /Mount-Image /ImageFile:"B:\install_exp.wim" /index:4 /MountDir:"B:\mount"

#虚拟化驱动按需添加,如果是云服务器NT10.0低版本系统向高版本就地升级的需求(比如2016升2019或2022,一般不需要添加虚拟化驱动,因为64位NT10.0系统的驱动是通用的,会沿用)
Dism /Add-Driver /Image:"B:\mount" /Driver:"B:\58007new_fromguoxin_2024.3.21_amd64\viostor.inf" /ForceUnsigned
Dism /Add-Driver /Image:"B:\mount" /Driver:"B:\58007new_fromguoxin_2024.3.21_amd64\netkvm.inf" /ForceUnsigned

#集成补丁
Dism /Image:"B:\mount" /get-packages /format:table

Dism /Image:"B:\mount" /ScratchDir:"B:\Scratch" /Add-Package /PackagePath:"B:\windows10.0-kb5036613-x64-ndp48_e6377591321f769949c25afb6eff1fabe093ad24.msu"
Dism /Image:"B:\mount" /ScratchDir:"B:\Scratch" /Add-Package /PackagePath:"B:\windows10.0-kb5036621-x64-ndp481_fa0e211c8319df2074c1991668172f7ee1a82d89.msu"
Dism /Image:"B:\mount" /ScratchDir:"B:\Scratch" /Add-Package /PackagePath:"B:\windows10.0-kb5036909-x64_786040b0b0d000b17d6a727ea93ff77d733d1044.msu"

Dism /Image:"B:\mount" /get-packages /format:table

Dism /Image:"B:\mount" /get-drivers
Dism /Unmount-Image /MountDir:"B:\mount" /Commit


ls B:\install*.wim*
del B:\install.wim 2>$null
#切换环境变量,使能用imagex 
C:\Windows\system32\cmd.exe /k "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\DandISetEnv.bat"
#导出压缩后的目标序号的.wim文件
imagex /export "B:\install_exp.wim" 4 "B:\install.wim" /compress maximum

Dism /Get-ImageInfo /ImageFile:"B:\install.wim"

二、参考文档前半部分用dism命令制作最新补丁的ISO用于就地升级

我2024-4-23制作的Server2016原版ISO中英文版包含腾讯云虚拟化驱动和最新4月补丁的新ISO分享到微云了。

https://share.weiyun.com/bM2htsq9

我2024-4-25制作的Server2019原版ISO中英文版包含腾讯云虚拟化驱动和最新4月补丁的新ISO后续也会分享到微云。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2016的话,在catalog里分别搜"Windows Server 2016 服务堆栈更新 x64"、"Windows Server 2016 累积更新 x64",最上面就有最新的
  • 2019的话,类似,在catalog里分别搜"Windows Server 2019 服务堆栈更新 x64"、"Windows Server 2019 累积更新 x64"
  • 2022的话,搜索字符串不太一样,在catalog里分别搜"21H2 服务堆栈更新"、"Server 21H2 累积更新"
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com