
1. 从“调好的系统”到“可交付镜像”第四篇要收的尾做到第四篇基本上已经过了最兴奋的阶段。前三篇里我们把 Windows 10 母盘装好、补丁打齐、运行库补齐、常用软件装完、界面和隐私选项也按自己的习惯调了一遍。这时候系统用起来很顺手但它还只是“你这台机器上的系统”不是“能交付给别人的镜像”。系统封装真正难的地方恰恰在这里怎么把眼前这个已经配置好的环境变成一个可重复部署、换台机器也能正常开机、后续还能维护的 WIM 或 ESD 文件。这篇就专门讲这个收尾过程。核心关键词还是 Windows 10 和系统封装但重点会放在 Sysprep、无人值守应答文件、驱动与补丁的离线集成、镜像捕获、虚拟机验证以及 LTSC 2021、22H2、1909 这些不同版本在封装时的差异处理。如果你是小团队里兼着 IT 的运维、经常帮人装机的爱好者或者想给自己留一个“干净、可控、随时能还原”的底包这篇的内容可以直接抄作业。但我不建议你把它当成“万能镜像公式”因为封装这件事最怕的就是追求一套包打天下。硬件、授权、使用场景不一样镜像策略就应该不一样。先给这篇定一个边界我们只处理合法授权的 Windows 10 镜像只讨论官方部署工具和系统自带机制。第三方精简版、来路不明的 GHOST 包、所谓“一键封装神器”不在推荐范围内。原因很简单封装是为了可控而不是为了把未知风险封进镜像里。你省下来的那点时间后面可能会用十倍精力去排查蓝屏、组件缺失和更新失败。2. 母盘体检封装前必须确认的 8 件事2.1 账户、权限与网络状态在运行 Sysprep 之前我习惯先做一次“母盘体检”。这一步听起来很基础但实际封装失败里至少三成问题都出在这里。第一件事是账户。很多人习惯直接用内置 Administrator 账户做母盘装完软件再封装结果 Sysprep 报错或者部署后账户配置混乱。更稳的做法是创建一个临时管理员账户用它完成软件安装和配置最后封装前把不必要的账户清理掉。注意不是让你把 Administrator 禁用掉就完事而是要确认当前登录账户不是那种绑定了 Microsoft 账户、带生物识别、带加密证书的个人账户。企业镜像里最好只保留本地账户避免 OOBE 阶段被账户同步逻辑拖住。第二件事是网络。封装前建议断开物理网络或者至少把虚拟机网卡切成 NAT 但禁用自动更新。Windows 10 22H2 在联网状态下很容易触发 Store 应用更新、Defender 定义更新、驱动自动推送。你以为母盘已经稳定了结果 Sysprep 之后首次开机系统又偷偷装了一堆东西镜像体积和不确定性都上来了。我的习惯是补丁和运行库在联网阶段全部打完进入封装准备阶段就断网所有后续操作都在离线状态下完成。第三件事是电源与休眠。如果是笔记本母盘封装前把休眠关掉避免 hiberfil.sys 被捕获进镜像。命令很简单powercfg /h off如果是虚拟机母盘虚拟内存可以保留系统托管也可以固定一个较小值。不要为了减小体积把页面文件完全删掉某些老软件和诊断工具会因此报错。2.2 补丁、运行库与 .NET 3.5 的完整性补丁这块先确定你的母盘版本。Windows 10 Enterprise LTSC 2021 和 Windows 10 22H2 的更新节奏完全不同。LTSC 2021 主打长期稳定功能更新少适合工控、收银、办公终端22H2 是常规功能更新版本适合需要较新特性、Store 和现代应用支持的场景。1909 这种老版本除非你有明确的旧软件兼容需求否则不建议作为新镜像底包尤其是 x86 版本内存寻址和驱动支持都受限。运行库方面VC 合集、.NET Framework 3.5、.NET 4.8 是常见刚需。尤其是 1909 x86 或者某些老 ERP、老财务软件经常要求 .NET 2.0 到 3.5。离线安装 .NET 3.5 时源必须和系统版本、架构完全匹配。比如你封装的是 x86 镜像就不能拿 x64 的 sources\sxs 去启用否则会报“源文件不匹配”。在线状态下可以用dism /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:D:\sources\sxs离线挂载镜像时把 /Online 换成 /Image:D:\Mount 即可。注意 /LimitAccess 是防止系统跑去 Windows Update 找文件封装环境里建议加上避免网络波动导致半途而废。2.3 清理垃圾、还原点与检查清单封装前的清理我建议只做“保守清理”磁盘清理、清空临时目录、删除 Windows.old如果存在、清理用户下载目录。不要用第三方暴力清理工具去狂删 WinSxS也不要用注册表清理器。WinSxS 里很多硬链接和组件包删错了当时没事部署后可能连 .NET 更新都装不上。系统还原点建议关闭因为还原点会占体积而且封装后也没多大意义。下面这张表是我自己封装前会过的检查项你可以直接照着核一遍。检查项推荐命令或操作通过标准当前账户whoami临时本地管理员非个人 Microsoft 账户网络状态禁用网卡或断网不会触发自动更新和 Store 推送休眠文件powercfg /h offC 盘无 hiberfil.sys补丁版本winver、systeminfo补丁截至日期明确.NET 3.5DISM 启用显示“操作成功完成”VC 运行库控制面板确认常用版本齐全临时文件磁盘清理、手动删 Temp用户目录无大体积缓存还原点系统属性中关闭无多余还原点占用注意如果你打算把 Nginx、PHP 这类开发环境预装进镜像建议把服务设为手动启动或者在首次开机脚本里按需启动。服务自启动加上防火墙规则很容易让不熟悉的人以为系统“中招了”。3. 组件与应用处理精简的边界在哪里3.1 可以安全移除的组件Windows 10 默认带了一堆 UWP 应用Xbox、地图、天气、邮件、日历、OneDrive、混合现实门户这些在办公镜像里通常用不到。你可以用 PowerShell 在线清理也可以在离线挂载后处理预配包。在线清理的命令大概是这样Get-AppxPackage -AllUsers | Where-Object { $_.Name -like *Xbox* -or $_.Name -like *Maps* -or $_.Name -like *Weather* -or $_.Name -like *Mail* } | Remove-AppxPackage但这里有个坑只删当前用户的 Appx 不够系统里还有预配包部署后新用户登录又会装回来。更彻底的方式是用 DISM 清理预配包Get-AppxProvisionedPackage -Online | Where-Object { $_.DisplayName -like *Xbox* -or $_.DisplayName -like *Maps* } | Remove-AppxProvisionedPackage -Online我一般会保留 Store、计算器、照片、记事本、终端这些基础组件。Store 虽然很多人不用但某些系统组件和驱动应用会依赖它照片和计算器属于日常刚需删了反而麻烦。OneDrive 可以移除但要提前确认用户没有同步需求。LTSC 2021 默认就没有 Store 和这些 UWP所以如果你的场景是工控或纯办公LTSC 2021 反而更省心。3.2 不建议移除的组件有几类组件我强烈建议不要碰。第一是 Edge WebView2很多现代应用和系统小组件依赖它删了之后开始菜单搜索、Defender 界面、部分设置页面都可能异常。第二是 .NET 和 WMI这两个是系统管理基础删了会导致大量软件安装失败。第三是远程桌面服务相关组件除非你确定永远不用远程管理否则别动。第四是 Defender。有人为了性能把 Defender 彻底移除结果系统更新失败、安全中心闪退甚至某些企业软件拒绝运行。你可以关闭实时保护做临时操作但不建议在镜像里做不可逆移除。我遇到过一个很典型的例子为了给镜像瘦身把 Store 和所有 UWP 运行时删得干干净净结果部署后用户点击“开始”菜单搜索框直接闪退Defender 的“查看保护记录”也打不开。后来用 DISM 修复系统组件才恢复。所以精简的边界不是“能删就删”而是“删了之后不会影响正常维护和排错”。3.3 离线挂载与包管理如果你要做深度定制离线挂载 install.wim 是绕不开的。先查看镜像索引dism /Get-WimInfo /WimFile:D:\ISO\sources\install.wim然后挂载到指定目录mkdir D:\Mount dism /Mount-Image /ImageFile:D:\ISO\sources\install.wim /Index:1 /MountDir:D:\Mount挂载后你可以用 DISM 添加驱动、启用功能、清理组件。操作完成后提交更改dism /Unmount-Image /MountDir:D:\Mount /Commit注意挂载目录不要用中文路径也不要用带空格的路径。DISM 对中文路径的兼容性时好时坏报错信息还特别模糊。我习惯统一用D:\Mount、D:\Drivers、D:\Build这种纯英文短路径。4. 补丁、驱动与运行库把“新机器第一次开机”的等待降到最低4.1 补丁集成策略在线更新还是离线集成补丁处理有两种路线。一种是把母盘联网直接跑 Windows Update把所有补丁打到最新然后再封装。这种做法的好处是简单、依赖微软官方源不容易出错缺点是耗时、受网络影响而且 22H2 的某些功能更新和扩展安全更新许可准备程序包可能会改变系统组件封装前要确认这些更新是否真的需要。另一种是离线集成 MSU 补丁适合批量制作和版本固化。离线集成需要按顺序安装先装服务栈更新再装累积更新否则容易报错。对于大多数个人和小团队场景我更推荐在线更新到稳定版本然后断网做母盘没必要为了“完全离线”把自己折腾进补丁依赖地狱。这里顺便说一下版本选择。Windows 10 Enterprise LTSC 2021 的维护周期长功能少适合做长期不折腾的底包。Windows 10 22H2 是常规版本功能更新更频繁适合需要新特性、Store、现代外设驱动的环境。Windows 10 1909 x86 则属于老平台除非你有必须跑 32 位系统的老软件否则不建议新做。至于扩展安全更新许可准备程序包那是企业批量授权场景下才需要考虑的东西个人用户不要去找来乱装授权不匹配反而会带来更新异常。4.2 驱动注入只注入该注入的驱动注入是封装里最容易翻车的环节。我的原则是只注入通用驱动和存储控制器驱动显卡、声卡、网卡这些尽量让 Windows 首次开机自己识别或者用厂商的通用驱动包。原因很简单显卡驱动体积大、版本敏感注入错了直接黑屏网卡驱动如果注入的是特定型号换台机器可能冲突。存储控制器驱动则相反尤其是老主板开 RAID 或者 NVMe 时代的主板不注入可能连硬盘都认不到。离线注入驱动的命令dism /Image:D:\Mount /Add-Driver /Driver:D:\Drivers /Recurse如果驱动没有签名DISM 可能会拒绝。不要随便加/ForceUnsigned除非你非常清楚后果。封装镜像将来是要部署到多台机器上的一个未签名驱动可能导致系统启动时强制进入修复模式。导出驱动可以用dism /Online /Export-Driver /Destination:D:\Drivers这个命令会把当前系统里第三方的驱动导出适合从一台已经调好的样机上提取驱动。导出后最好按厂商和型号分目录不要一股脑塞进一个文件夹方便后续排查。4.3 .NET 3.5 与旧软件兼容老软件兼容是封装里另一个大坑。尤其是 1909 x86 版本很多老财务、老 ERP、老教学软件要求 .NET 2.0 到 3.5。离线源一定要和镜像架构匹配。如果你手里只有 x64 的 ISO却要封装 x86 系统那就得单独准备 x86 的 sources\sxs 目录。启用命令前面已经给过这里再强调一次离线挂载时用/Image在线系统用/Online源路径必须指向包含microsoft-windows-netfx3-ondemand-package.cab的目录。启用成功后最好在虚拟机里跑一个依赖 .NET 3.5 的小程序验证别等到部署现场才发现没生效。如果你打算预装 Nginx PHP 这类环境建议把配置文件放在非系统盘或者至少做好路径规划。PHP 的 FastCGI 进程、Nginx 的服务注册、防火墙 80 和 443 端口规则都会影响镜像的通用性。我的做法是镜像里只装运行时和基础目录具体项目配置交给首次开机脚本或后续手动处理。这样镜像更干净也不容易因为某个项目的端口冲突导致整批机器出问题。5. Sysprep 与无人值守让镜像第一次开机自己走完5.1 Sysprep 参数怎么选Sysprep 是 Windows 系统封装的核心工具位置在C:\Windows\System32\Sysprep\sysprep.exe。常用参数组合是C:\Windows\System32\Sysprep\sysprep.exe /generalize /oobe /shutdown /unattend:D:\unattend.xml/generalize会清除系统特有的信息比如 SID、事件日志、部分硬件抽象层信息让镜像可以部署到不同机器。/oobe表示下次开机进入 OOBE 初始设置界面。/shutdown表示完成后关机方便你进入 WinPE 捕获镜像。/unattend指定无人值守应答文件。这里有几个经验点。第一Sysprep 不要反复跑。虽然系统允许一定次数的重新封装但每跑一次组件状态就复杂一分尤其是 Store 应用和 Defender很容易在多次 generalize 后出现异常。第二跑之前把不必要的用户配置文件删掉尤其是临时账户的 AppData 缓存。第三如果报错先看C:\Windows\System32\Sysprep\Panther\setuperr.log里面会写清楚是哪个组件阻止了封装。常见原因包括预配应用被删除但注册表残留、系统语言包不完整、当前账户是 Microsoft 账户、有挂起的更新需要重启。5.2 unattend.xml 关键节点拆解无人值守文件不需要写得很复杂抓住几个关键 pass 就行。下面是一个简化示例用于跳过 OOBE 隐私设置、创建本地管理员、设置时区?xml version1.0 encodingutf-8? unattend xmlnsurn:schemas-microsoft-com:unattend settings passoobeSystem component nameMicrosoft-Windows-Shell-Setup processorArchitectureamd64 publicKeyToken31bf3856ad364e35 languageneutral versionScopenonSxS xmlns:wcmhttp://schemas.microsoft.com/WMIConfig/2002/State xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance OOBE HideEULAPagetrue/HideEULAPage SkipMachineOOBEtrue/SkipMachineOOBE SkipUserOOBEtrue/SkipUserOOBE NetworkLocationWork/NetworkLocation ProtectYourPC3/ProtectYourPC /OOBE UserAccounts LocalAccounts LocalAccount wcm:actionadd NameAdmin/Name GroupAdministrators/Group Password Value请替换为强密码/Value PlainTexttrue/PlainText /Password /LocalAccount /LocalAccounts /UserAccounts TimeZoneChina Standard Time/TimeZone /component /settings /unattendprocessorArchitecture要和你封装的系统架构一致x64 写 amd64x86 写 x86。SkipMachineOOBE和SkipUserOOBE可以跳过大部分初始设置但有些版本会忽略这些选项尤其是联网状态下强制 Microsoft 账户登录。所以我在首次开机测试时通常先断网确认应答文件生效后再接网。密码字段不要直接写明文长期使用封装完成后应第一时间修改或者改用首次开机脚本创建账户。5.3 首次开机常见卡点首次开机最容易卡在几个地方网络选择、Microsoft 账户登录、隐私设置、Cortana 引导。应答文件能跳过一部分但不是万能的。如果卡在“海内存知己”那个界面通常是网络检测或者账户登录逻辑在作怪。我的处理顺序是先确认虚拟机断网再检查 unattend.xml 是否放到了C:\Windows\Panther目录文件名是否为Unattend.xml。Sysprep 会自动从 Panther 目录读取应答文件不需要你每次手动指定路径。如果你用/unattend参数指定了其他位置也要确保文件权限正确SYSTEM 账户可读。还有一个细节如果你预装了需要联网激活的软件封装前最好先完成激活或确认其离线授权机制。否则部署后每台机器都要重新走一遍用户体验很差。6. 镜像捕获、打包与还原WIM、ESD、ISO 怎么选6.1 捕获前的最后检查Sysprep 关机后不要直接启动进原系统。正确做法是用 WinPE 启动或者挂载一个 WinPE ISO 到虚拟机从 WinPE 环境捕获 C 盘。捕获前确认 C 盘没有挂载点异常没有未完成的磁盘检查没有页面文件占用导致的锁定。你可以在 WinPE 里用diskpart确认分区结构尤其是 UEFI GPT 的机器EFI 分区和 MSR 分区不要动只捕获 Windows 分区。6.2 用 DISM 捕获 WIM捕获命令dism /Capture-Image /ImageFile:D:\Build\install.wim /CaptureDir:C:\ /Name:Win10_Ent_22H2_Base /Description:Base image with drivers and runtimes /Compress:max /CheckIntegrity/Compress:max压缩率最高但耗时最长。如果你追求速度可以用/Compress:fast体积会大一些。/CheckIntegrity建议加上虽然多花几分钟但能在捕获阶段发现文件损坏避免部署时才报错。捕获完成后可以用dism /Get-WimInfo /WimFile:D:\Build\install.wim确认镜像信息和大小。如果 WIM 超过 4GB而你要放进 FAT32 的 U 盘就需要分割或转成 ESDdism /Export-Image /SourceImageFile:D:\Build\install.wim /SourceIndex:1 /DestinationImageFile:D:\Build\install.esd /Compress:recoveryESD 压缩率更高但不可直接编辑。WIM 适合后续继续挂载修改ESD 适合最终分发。我的习惯是保留一份 WIM 作为母版再导出一份 ESD 用于实际部署。6.3 制作可启动 ISO 与虚拟机测试把捕获好的 install.wim 替换回官方 ISO 的sources目录注意不要动引导文件和boot.wim除非你明确知道自己在做什么。替换后可以用虚拟机测试。虚拟机测试至少覆盖两种固件BIOS MBR 和 UEFI GPT。如果你手头有 vmdk 格式的虚拟机磁盘也可以直接挂载测试但要注意 vmdk 里的系统可能带有原虚拟机的硬件抽象信息不能直接当作母盘捕获只能用于验证部署流程。格式压缩率可编辑性适用场景WIM中高可挂载修改母版、持续维护ESD高不可直接挂载最终分发、体积敏感ISO取决于内部格式可替换文件启动安装、虚拟机测试VMDK不压缩或动态虚拟机专用测试部署结果7. 测试与验收别等装到生产机才发现问题7.1 虚拟机快照测试清单镜像捕获完第一次部署测试一定要在虚拟机里做而且要做快照。测试清单至少包括全新安装是否自动进入桌面、驱动是否完整、网络是否正常、声音和 USB 是否可用、开始菜单和搜索是否正常、Defender 是否能打开、远程桌面是否能启用。远程桌面不生效是封装后高频问题排查顺序是系统属性里是否允许远程连接、防火墙是否放行、Remote Desktop Services 是否启动、NLA 网络级身份验证是否兼容、端口 3389 是否被占用或组策略限制。如果是 LTSC 2021还要确认远程桌面组件没有被精简掉。Defender 点击“查看保护记录”闪退也是常见问题。多数情况是 WebView2 运行时缺失或系统组件损坏。可以先尝试dism /Online /Cleanup-Image /RestoreHealth sfc /scannow如果是在封装前就出现建议不要继续封装先修复母盘。因为这类问题往往意味着系统组件不完整部署后可能扩散成更多异常。7.2 实机抽检至少三种硬件虚拟机通过不代表实机通过。我一般会找三种机器抽检一台老平台比如 6 代以前 CPU、一台新平台NVMe UEFI、一台笔记本带无线网卡和指纹。老平台主要看存储驱动和 USB 驱动新平台看 NVMe 和 Secure Boot笔记本看无线网卡、电源管理和热键。如果镜像里预装了 Nginx PHP还要确认服务是否按预期启动端口是否冲突。如果预装了旧版小游戏或兼容组件也要测试它们是否影响系统更新。7.3 常见问题速查表现象可能原因处理思路Sysprep 失败 0x80073cf2预配应用残留、Store 应用损坏清理预配包检查 setuperr.log部署后开始菜单搜索闪退删除 UWP 运行时或 Store 过度精简DISM 修复系统组件恢复必要 UWP远程桌面不生效防火墙、服务、NLA、组策略逐项检查先关 NLA 测试Defender 保护记录闪退WebView2 缺失、组件损坏安装 WebView2DISM 修复首次开机卡 OOBE网络、账户、应答文件未生效断网检查 Panther 目录驱动注入后蓝屏驱动冲突、未签名、存储驱动错误移除问题驱动只保留通用驱动镜像超过 4GB 放不进 U 盘WIM 未压缩或未分割转 ESD 或分割 WIMNginx/PHP 服务不启动服务被设为手动、端口冲突检查服务状态和防火墙规则注意封装测试一定要在隔离环境里做尤其是涉及网络服务的镜像。不要一装好就接入生产网络避免 DHCP、主机名、域账户、安全策略互相干扰。8. 版本选型与长期维护LTSC、22H2、1909 怎么选8.1 LTSC 2021 与 22H2 的差异Windows 10 Enterprise LTSC 2021 是我做长期底包时最常用的版本。它没有 Store、没有 Cortana、没有一堆消费级 UWP更新节奏慢适合工控、收银、医疗设备、办公终端。缺点是某些新硬件驱动和现代应用可能要求 Store 或 WebView2需要手动补。Windows 10 22H2 则更贴近普通用户环境功能新、兼容性好适合开发机、设计机、日常办公。缺点是功能更新频繁封装后可能需要定期重新打补丁。如果你做的是通用装机镜像22H2 更省心如果你做的是专用设备镜像LTSC 2021 更稳。8.2 1909 x86 与旧软件环境1909 x86 现在基本只适合一种场景必须运行 32 位老软件且这些软件在新系统上兼容性差。封装这类镜像时.NET 2.0 到 3.5 的离线源一定要准备好最好把老软件的安装包和依赖一起放进镜像。但说实话我不建议把 1909 x86 接入互联网。它的安全更新支持早就结束了即使有扩展安全更新许可准备程序包也不是普通个人用户能随意使用的。更稳妥的做法是把它放在隔离网络或虚拟机里只跑必须跑的老业务。8.3 镜像维护节奏镜像不是做一次就完事。我的维护节奏是每季度更新一次补丁每半年检查一次运行库和驱动每年重做一次母盘。不要在原镜像上反复 Sysprep而是从干净快照重新走一遍封装流程。每次更新都写变更日志日期、版本号、补丁号、驱动版本、移除或新增的组件。这样出问题时能快速回退。如果你管理多台机器建议把镜像命名规范化比如Win10_LTSC2021_2024Q1_Base.wim、Win10_22H2_2024Q1_Dev.wim避免时间久了分不清哪个包是哪个。9. 我个人的封装习惯与踩坑记录9.1 我常用的目录与脚本我的封装工作目录一般是这样组织的D:\OSBuild\ Base\ 原始 ISO 和 install.wim Mount\ 离线挂载目录 Drivers\ 按厂商分类的驱动 Scripts\ 首次开机脚本、检查脚本 Build\ 捕获后的 WIM/ESD ISO\ 可启动 ISO 工作目录 Logs\ 补丁、DISM、Sysprep 日志脚本方面我只会写一些简单的批处理和 PowerShell用来检查补丁、清理临时文件、导出驱动、记录版本。不建议把复杂逻辑塞进首次开机脚本因为 OOBE 阶段环境变量和权限都不稳定脚本越复杂越容易失败。9.2 几个让我印象深刻的坑第一个坑是删除 Store 太彻底。当时为了做“纯净版”把 Store 和所有 UWP 运行时都移除了结果部署后开始菜单搜索直接闪退Defender 界面也打不开。后来才明白Windows 10 的很多系统组件表面上是 Win32实际上依赖 UWP 运行时。第二个坑是驱动注入。有一次把一台样机的所有驱动都导入了包括显卡和声卡结果部署到另一台机器直接蓝屏。后来只保留芯片组、存储、网卡通用驱动问题就没了。第三个坑是中文路径。DISM 挂载到D:\系统封装\挂载命令死活报错换成D:\Mount立刻正常。第四个坑是补丁顺序。离线集成时先装了累积更新再装服务栈更新结果系统更新记录混乱后面再打补丁一直失败。从那以后我尽量用在线更新到稳定状态再断网封装。9.3 后续还可以扩展的方向如果你已经能稳定做出可部署的 Windows 10 镜像下一步可以研究自动化应答文件生成、批量驱动管理、镜像分层和部署后配置。再往上走可以了解 MDT 或 Microsoft Configuration Manager 这类企业部署工具它们适合几十台以上的批量场景。但工具不是目的核心还是那三件事可复现、可验证、可维护。你把第四篇的收尾流程跑通再回头看前三篇会发现很多之前的配置其实可以更早规划。比如母盘阶段就决定好要不要保留 Store而不是封装前才临时删比如软件安装阶段就把服务启动类型调好而不是部署后再逐台改。我个人在实际操作中的体会是封装最值钱的部分不是最后那个 WIM而是你为了做出这个 WIM 建立的检查清单和回退方案。镜像会过时补丁会更新版本会更替但一套稳定的流程可以一直用下去。下次要做 LTSC 2021 的更新包或者给老设备做 1909 x86 的隔离镜像你只需要替换母盘和驱动剩下的步骤照旧。