DIY Windows最新版ISO

2024-06-05 18:55:13 浏览数 (3)

最新版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里的sourcesinstall.wim文件复制出来一份
Dism /Get-ImageInfo /ImageFile:"W:sourcesinstall.wim"
#(挂载到光驱W:了,从光驱复制到本地硬盘分区)

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

#拷贝一份或者导出一份数据中心版
del B:install_exp.wim
xcopy /S /E /F /H /Y /Q "W:sourcesinstall.wim" "B:install_exp.wim*"
#dism /export-image /sourceimagefile:"W:sourcesinstall.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:Windowssystem32cmd.exe /k "C:Program Files (x86)Windows Kits10Assessment and Deployment KitDeployment ToolsDandISetEnv.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里的sourcesinstall.wim文件复制出来一份
Dism /Get-ImageInfo /ImageFile:"W:sourcesinstall.wim"
#(挂载到光驱W:了,从光驱复制到本地硬盘分区)
del B:install_exp.wim
xcopy /S /E /F /H /Y /Q "W:sourcesinstall.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_amd64viostor.inf" /ForceUnsigned
Dism /Add-Driver /Image:"B:mount" /Driver:"B:58007new_fromguoxin_2024.3.21_amd64netkvm.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:镜像资料2019sw_dvd9_win_server_std_core_2019_1809.18_64bit_english_dc_std_mlf_x22-74330.iso
B:镜像资料2019sw_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:镜像资料2019sw_dvd9_win_server_std_core_2019_1809.18_64bit_chnsimp_dc_std_mlf_x22-74329.iso 到盘符W:
挂载2021年8月微软发布的server2019 en iso :B:镜像资料2019sw_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:sourcesinstall.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_amd64viostor.inf" /ForceUnsigned
Dism /Add-Driver /Image:"B:mount" /Driver:"B:58007new_fromguoxin_2024.3.21_amd64netkvm.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:Windowssystem32cmd.exe /k "C:Program Files (x86)Windows Kits10Assessment and Deployment KitDeployment ToolsDandISetEnv.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:BaiduNetdiskDownloadzh-cn_windows_server_2022_updated_april_2024_x64_dvd_164349f3s.iso
B:BaiduNetdiskDownloaden-us_windows_server_2022_updated_april_2024_x64_dvd_164349f3s.iso
镜像嘛,看各人渠道,公网是能获取到的,我个人买了百度网盘会员

二、给原版ISO集成最新补丁
挂载2024年4月微软发布的server2022 cn iso :B:BaiduNetdiskDownloadzh-cn_windows_server_2022_updated_april_2024_x64_dvd_164349f3s.iso 到盘符W:
挂载2024年4月微软发布的server2022 en iso :B:BaiduNetdiskDownloaden-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:sourcesinstall.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_amd64viostor.inf" /ForceUnsigned
Dism /Add-Driver /Image:"B:mount" /Driver:"B:58007new_fromguoxin_2024.3.21_amd64netkvm.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:Windowssystem32cmd.exe /k "C:Program Files (x86)Windows Kits10Assessment and Deployment KitDeployment ToolsDandISetEnv.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后续也会分享到微云。

0 人点赞