
https://learn.microsoft.com/en-us/windows/deployment/update/media-dynamic-update
微软这篇文档,以Server2016为例,Server2016不能替换sources目录的setup.exe和setuphost.exe,只替换新的install.wim和新的boot.wim分支2中提取的bootmgr相关文件即可


即ISO中的:
\efi\boot\bootx64.efi 和\bootmgr.efi以及\efi\microsoft\boot\下的bootmgfw.efi和bootmgr.efi
操作过程: 1、从http://catalog.update.microsoft.com 下载各自的setup du补丁
粗略过滤后,逐一甄别对应版本的setup du
2025- "Windows 10 and later Dynamic Update" x64 -"22H2" -"23H2" -"24H2" -"25H2" -"Safe OS" -"GDR-DU" -drivers
精确匹配Server2016的setup du
2025- "Windows 10 and later Dynamic Update" 1607 x64 -"Safe OS" -"GDR-DU" -drivers
精确匹配Server2019的setup du
2025- "Windows 10 and later Dynamic Update" 1809 x64 -"Safe OS" -"GDR-DU" -drivers
精确匹配Server2022早期的setup du
2025- "Windows 10 and later Dynamic Update" 21H2 x64 -"Safe OS" -"GDR-DU" -drivers
精确匹配Server2022后期的setup du
"Dynamic Update for Microsoft server" -"Safe OS" -"GDR-DU" -drivers -"22H2" -"23H2" -"24H2" -"25H2"
2、展开setup du
md C:\mediaRefresh\packages\Other\2016_sources
md C:\mediaRefresh\packages\Other\2019_sources
cd C:\mediaRefresh\packages\Other\
$SETUP_DU_PATH2016 = "C:\mediaRefresh\packages\Other\2016_Setup_DU.cab"
expand.exe $SETUP_DU_PATH2016 -F:* ".\2016_sources"
$SETUP_DU_PATH2019 = "C:\mediaRefresh\packages\Other\2019_Setup_DU.cab"
expand.exe $SETUP_DU_PATH2019 -F:* ".\2019_sources"
2016的setup du展开后可以看到2016_sources里面没有setup.exe和setuphost.exe,如果提取替换了,得到的新ISO,只能通过光驱全新安装,不能就地升级(会报错0xC1900101 - 0x30017),只需要从其中提取boot manager files替换到ISO的相应位置即可。
2019的setup du展开后可以看到2019_sources里面有setup.exe和setuphost.exe,而且版本较新,也不需要从boot.wim分支2中提取替换,只需要从其中提取boot manager files替换到ISO的相应位置即可。
3、提取替换
假如是≥24H2系统
假如是≥24H2系统
假如是≥24H2系统
假设boot.wim的分支2,挂载到C:\boottmp2目录,则
从C:\boottmp2\sources\ 拷贝setup.exe和setuphost.exe替换到ISO的sources目录
从C:\boottmp2\Windows\boot\efi\拷贝出bootmgfw.efi、bootmgr.efi假如是<24H2系统
假如是<24H2系统
假如是<24H2系统
假设boot.wim的分支2,挂载到C:\boottmp2目录,则
不提取setup.exe和setuphost.exe
只从C:\boottmp2\Windows\boot\efi\拷贝出bootmgfw.efi、bootmgr.efi注:ISO中的
bootmgfw.efi、bootx64.efi,都用拷贝出来的bootmgfw.efi替换,保留原文件名不变
bootmgr.efi都用拷贝出来的bootmgr.efi替换,保留原文件名不变最终,ISO中的\efi\boot\bootx64.efi还是bootx64.efi名称、\bootmgr.efi还是bootmgr.efi名称,只是内容换成了从更新后的boot.wim分支2中提取的东西
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。