Windows 10 LTSC 2019 镜像精简与 NTLite 批量装机
1. 决定把发行基线锁在 LTSC 2019 之前我踩过的那几个坑手上这套 Windows 10 Enterprise LTSC 20191809x64、内部版本号 10.0.17763.316 的镜像是我用 NTLite 前后打磨了十几轮才定型的。它不是网上随手一搜就下载的那种第三方改版而是我自己拿官方渠道的原版 ISO一层一层做减法、再做加法做出来的。之所以愿意花这个时间是因为我受够了两件事一是批量装机时每台机器的脾气都不一样二是系统里塞满了这台机器一辈子都用不到的东西白白吃掉内存、磁盘和后台 CPU。这套东西适合谁如果你是那种要给几台到几十台机器做统一环境的人——办公室里清一色的办公机、家里自己攒的开发机、实验室里跑采集程序的工作站、或者把淘汰的服务器改成内网文件机——那这篇文章里的思路你可以直接抄。如果你只是想给自己那台笔记本换个大版本说实话没必要折腾到这个程度装个干净的 LTSC 原版就够了。LTSC 全称是 Long-Term Servicing Channel长期服务通道微软给它的定位就是功能冻结、只收安全补丁不推送功能更新也没有那些一年一换花样的内置应用。对固定用途的机器来说这种无聊恰恰是最值钱的属性。1.1 LTSC 2019、LTSC 2021 与普通消费版到底差在哪很多人第一次接触 LTSC 是在热搜上看到 windows 10 enterprise ltsc 2021然后回头问为什么还有人用 2019。这两个版本我都长期用过差别不在界面而在内核基线和组件堆叠。LTSC 2019 基于 1809 内核也就是 build 17763LTSC 2021 基于 21H2 内核build 19044。后者体积明显更大内置的组件更多对新硬件的驱动覆盖更全但代价是后台服务数量、磁盘占用和更新包体积都上去了。对办公机和老设备来说1809 内核的 17763 已经足够跑日常办公、财务软件、老式行业软件和虚拟机。而对需要较新 CPU 指令集支持、要用较新版本 WSL 或者要跑新版开发工具链的机器2021 会更省心。我的做法是分场景纯办公、纯终端、纯采集用途走 2019需要兼做开发、要长期跟进工具链更新的走 2021。普通消费版家庭版、专业版跟 LTSC 的核心区别我列一下方便你判断对比维度LTSC 20191809LTSC 202121H2家庭版/专业版内置应用商店无无有预装 UWP 应用极少少量大量功能更新策略冻结仅安全补丁冻结仅安全补丁每年推送功能更新初始磁盘占用最小中等最大后台常驻服务数少中等多对新硬件的开箱支持偏弱需自备驱动较好最好这张表里最后一行是重点。LTSC 2019 的初始镜像里没有多少新硬件的驱动尤其是 2019 年之后上市的网卡、无线模块、NVMe 控制器。你要么在集成阶段把驱动打进去要么在安装时手动加载。这就是我后面要专门讲驱动集成的原因。1.2 10.0.17763.316 这个版本号意味着什么17763.316 是 LTSC 2019 官方 ISO 的初始基线版本大概对应 2019 年 3 月那个时间点的补丁级别。理解这个数字很重要因为它决定了你手上这张镜像有多旧。Windows 的版本号格式是主版本.构建号.修订号。17763 是 1809 这条内核线的构建号316 是修订号每次打累积更新都会往上走。也就是说你从官方拿到的原版 LTSC 2019 ISO装完之后系统里是没有任何 2019 年 3 月之后的安全补丁的。如果直接拿去联网用第一件事就是面对一个巨大的更新包。这既费时间也让批量装机变得不可控——你不知道每台机器更新的过程中会不会卡住。所以我的处理方式很明确在 NTLite 里把截至当前需要的关键补丁离线集成进去让镜像出厂时就带着补丁。这样装完即可用第一次开机不需要再等一两个小时的更新。具体怎么选补丁、怎么排序第 4 章会展开。1.3 平台选型物理机、虚拟机还是老服务器改造在动手精简之前先想清楚这镜像要装在哪因为它直接决定你能砍掉哪些组件。装物理办公机打印相关的组件要谨慎处理——很多单位还在用共享打印机和票据打印机把打印后台处理程序Print Spooler彻底砍掉财务那边的针式打印机就彻底废了。我还见过把传真组件删干净之后某套老式考勤系统装不上的情况。装虚拟机宿主或者把老服务器改造成内网服务机情况就不一样了。这种情况下我通常会加装一张老式阵列卡的驱动——比如 Megaraid SAS 9260 8i 这一类很多二手服务器都在用。Win10 的初始镜像里没有它的驱动安装时连硬盘都看不到必须在镜像阶段用/Add-Driver把驱动注进 boot.wim 和 install.wim。这种情况下打印组件、无线网络组件、蓝牙、手写识别这些就可以放心砍掉因为服务器上根本不会用到。装开发机的话限制最多。要保留 .NET 全系列、PowerShell 完整功能、WMI、Hyper-V 或者至少虚拟机平台的相关接口还要预留出给 WSL 的位置。这种情况下精简的空间其实不大主要是清理那些一年也点不开一次的内置应用和多余语言包把磁盘占用压下来。先把用途定死再决定砍谁这个顺序不能反。我见过不少人先兴奋地砍了一堆组件装完才发现自己要用的东西在砍掉的那一堆里只能重来。2. NTLite 处理镜像的完整思路减法、加法、定型三步走NTLite 这类工具的本质是给 DISM部署映像服务和管理套了一层可视化外壳让你不用手敲命令就能挂载映像、增删组件、注入内容和设置。理解这一点很关键——它不是魔法它做的每一件事都能用命令行复现。我之所以还用它的界面是因为组件依赖关系可视化之后能省掉大量删错了才知道关联的试错成本。我处理一张镜像固定分三个阶段顺序绝对不换。2.1 三个阶段为什么不能颠倒第一阶段是减法移除组件、清理内置应用、去掉多余语言。之所以放最前面是因为移除操作会改变映像内部的组件清单和注册信息。如果你先集成了驱动和补丁再去删组件NTLite 在计算依赖关系时会把新加入的内容也算进去容易报出莫名其妙的依赖冲突。第二阶段是加法集成累积更新、.NET 3.5 离线源、VC 运行库、驱动。这一步放在减法之后是因为你要先确定系统里留下了哪些功能模块再决定要补什么。比如你把打印组件砍了就没必要再为打印相关的东西集成补丁。第三阶段是定型无人值守应答文件、首次启动设置、跳过 OOBE、禁用遥测、写注册表优化项、导出 ISO。这一步的所有改动都是配置类的不改变组件清单所以放最后最安全。有人喜欢反过来做先写一堆优化脚本再删组件结果经常遇到优化项对应的注册表键在组件被删后失效或者脚本引用的服务已经不存在装完开机报错。这不是技术难题纯粹是顺序问题。2.2 免费版和授权版的边界在哪NTLite 免费版能挂载镜像、能看到组件树、能做只读分析但真正落地——比如把移除改动保存进映像、把集成内容写回 install.wim、生成 ISO——需要授权版本。具体哪些功能在哪个档位官方页面写得比我准我这里只说实践建议。如果你只是想搞清楚一张官方镜像里到底有什么免费版足够你研究一整天把组件树翻个底朝天。但如果你是要产出成品镜像反复装机那就得用完整功能。我的建议是先用免费版把一棵组件树彻底摸熟确认自己砍的东西没有依赖冲突再决定要不要上车。提示动手之前永远先复制一份原版 ISO 的解压目录出来操作别直接改唯一的一份。镜像处理过程中意外中断尤其是强行关掉程序有可能让挂载目录处于半挂载状态有备份能省你一晚上。2.3 工作目录与镜像挂载的正确姿势这一步看着琐碎但九成处理到一半报错都出在这里。先在非系统盘建一个干净的工作目录路径越短越好最好没有中文和空格。我习惯的布局是这样D:\WIM\ ├─ ISO\ 原版 ISO 解压出来的全部内容 ├─ Mount\ 挂载 install.wim 用的空目录 ├─ Drivers\ 待集成驱动 ├─ Updates\ 待集成补丁 └─ Out\ 最终输出的 ISO挂载目录必须是空目录。如果里面已经有东西DISM 会直接拒绝挂载。而且挂载目录不能和映像文件在同一个被压缩的卷上也不建议放在移动硬盘——挂载过程中拔盘映像基本就废了。手动挂载和卸载的命令我建议你也记一下图形界面卡住的时候能救场dism /Mount-Image /ImageFile:D:\WIM\ISO\sources\install.wim /Index:1 /MountDir:D:\WIM\Mount dism /Get-WimInfo /WimFile:D:\WIM\ISO\sources\install.wim dism /Unmount-Image /MountDir:D:\WIM\Mount /Discard第三条的/Discard是丢弃改动。如果你已经改完了要保存就用/Commit。这两个参数千万别写反——写反了一整晚的活儿白干。我就干过一次凌晨三点对着屏幕发呆从此以后每次都会先确认一遍。还有一个细节LTSC 的 install.wim 里通常只有一个索引Index 1不像消费版那样一个文件装好几个版本。你可以用第二条命令列一下确认索引号别瞎填。3. 组件移除清单哪些能砍哪些动了就得重装这是整篇文章最需要谨慎的部分。网上流传的各种小修版深度精简版镜像问题基本都出在这一章——砍得太狠装完之后音频没声、打印机装不上、某软件报缺 DLL用户还以为是硬件坏了。我的原则是砍掉的东西必须能用一句话说服自己这台机器这辈子不会用到它。说服不了就留着。3.1 可以放心砍的组件附我的常用清单下面这份清单是我在纯办公和纯服务器场景下反复验证过的装完之后日常使用没有出现过功能缺失。但请注意这是可以砍不是必须砍你要按用途自己筛。第一类是完全用不到的内置应用与辅助功能。手写识别、语音识别、放大镜和讲述人这类无障碍组件在没有触屏和特殊需求的机器上可以去掉地图、天气、资讯这类只有消费版才有的东西在 LTSC 上本来就很少但零星的仍然可以清掉。我通常还会把 OneDrive 客户端清掉——这玩意儿在 LTSC 上默认是带着的如果你不用云端同步直接删掉比每次开机手动退出干净得多。第二类是特定硬件相关的驱动与子系统。虚拟机宿主上蓝牙、无线网卡、指纹识别、触摸板手势相关的东西都可以清服务器上音频组件、摄像头支持、游戏手柄支持也都可以清。反过来如果这台机器就是台笔记本那无线和蓝牙一个都不能碰——删了之后很多情况下你连系统都进不去配置界面。第三类是服务端用不到的网络角色。远程协助、家庭组1809 里已经弱化、传真和扫描组件在纯办公机上按需处理。这里要特别提一下 SMB11809 默认已经不装 SMB1 客户端如果你还要连老式共享很多老 NAS、老打印机自带共享需要手动加回来dism /online /enable-feature /featurename:SMB1Protocol /all dism /online /enable-feature /featurename:SMB1Protocol-Client /all第四类是可选的开发与虚拟化组件。WSL、Hyper-V、虚拟机平台这些在 1809 里都是可选功能不装就不会占用资源。如果你确定这台机器只做办公全部关掉能省下不少磁盘和内存。这里插一句关于系统内置杀毒组件的处理。很多人精简时第一件事就是把它删掉理由是占资源、误报、卡编译。删是可以删的但你要清楚代价删完之后系统里就没有实时防护了必须装第三方安全软件顶上来否则联网办公就是在裸奔。而且删掉之后有几率出现安全中心图标点不开、点保护记录直接闪退这类残留现象——这本质上是因为界面组件还在但支撑它的服务已经没了。这是精简系统里最典型的一类半残状态处理办法后面第 5 章会讲。3.2 千万别动的组件清单这部分我建议你直接抄下来贴在显示器边上。动了这些结果通常不是少个功能而是系统装不起来或者装起来天天出怪事。WinSxS 组件存储本体这是系统组件的老家删它等于把地基刨了。后续打补丁、启用功能都会失败。凭据管理、DPAPI 相关删了之后你可能连用户登录、浏览器保存密码、无线网络记住密码都会出问题。WMI 与任务计划程序看着没用实际上大量软件靠它做硬件信息查询、序列号读取、定时任务。Windows 更新服务链这一条争议最大。很多人精简就是为了永久不更新。但你要知道后续安装 .NET Framework 3.5、启用某些可选功能、安装部分驱动包时都会依赖组件安装服务的底层能力。我的做法是保留功能但关闭自动更新策略而不是把服务本体铲掉。网络核心TCP/IP 栈、NDIS、DHCP 客户端、DNS 客户端一个都不能碰。字体尤其是宋体、黑体、仿宋、楷体这几套中文字体。行业软件、票据打印、报表导出都依赖它们。删掉之后界面全变方框恢复起来非常麻烦。硬件抽象层与电源管理删了会蓝屏或者睡眠唤醒异常。RPC 远程过程调用系统内部大量服务靠它通信动它必崩。我再强调一遍那条被无数精简教程忽略的原则组件之间的依赖是网状而不是树状的。你以为删的是一片叶子实际可能是某条链路上的关键节点。NTLite 在移除时会把发现的依赖冲突标红提示你那个提示要认真看别直接点忽略一路过。3.3 移除顺序和依赖关系带来的坑即使你砍的都是可以砍的组件顺序也有讲究。我的一般规则是先删整块的顶级功能再删它下面的子项。举个具体例子。你要去掉虚拟化相关的东西正确顺序是先移除顶级的虚拟化功能模块再移除底下的子组件。反过来先删子项父级功能会因为缺少依赖而残留一个半损坏状态表现出来就是设置界面里那一项还在点进去空空如也或者直接报错。还有一个坑是语言包。1809 的镜像里通常带着多个语言资源。你可以只保留简体中文和必要的英文资源把日文、韩文、其他拉丁语系的资源清掉。但顺序上要最后做而且清完之后不要再回去动别的组件——语言资源和很多界面组件是绑定的先清语言再删应用容易留下找不到资源的界面元素。我的一般顺序供参考 1. 顶级功能模块虚拟化、媒体功能、打印与传真、远程相关 2. 内置应用与辅助功能 3. 硬件相关驱动按目标机器筛选 4. 语言资源最后做每完成一层我都会先用 NTLite 的冲突检查跑一遍确认没有红色警告再进下一层。听着麻烦但比装完发现问题再回溯要快得多。4. 集成环节补丁、运行库、驱动一次性打进去减法做完接下来是加法。这一步做扎实了装完的机器第一次开机就能直接进入工作状态不用再等着联网更新或者手动装一堆运行库。我把要集成的内容分成四类逐个说。4.1 累积更新与服务栈更新的处理顺序LTSC 2019 的 17763.316 基线之后微软陆续发了很多累积更新。你要做的是挑出关键的那些离线集成进去而不是把每一期都堆上——包与包之间有依赖和覆盖关系装错顺序会导致更新失败或者系统状态异常。基本原则是先服务栈更新SSU后累积更新LCU。SSU 是打补丁的基础设施它必须先到位后续的累积更新才能正确安装。如果你只集成累积更新不集成 SSU安装过程中可能报出组件存储相关的错误。具体集成方式图形界面里拖进去就行命令行是这样的dism /Image:D:\WIM\Mount /Add-Package /PackagePath:D:\WIM\Updates\SSU.msu dism /Image:D:\WIM\Mount /Add-Package /PackagePath:D:\WIM\Updates\LCU.msu注意每个 .msu 集成完之后如果命令返回了错误码先停下来看清楚是哪一个包出的问题。累积更新包体积大集成一次要几分钟堆一堆然后一起失败会浪费你大量时间。还有一个实用技巧如果你不确定该集成到哪个补丁级别可以先把系统装进虚拟机联网让它自己更新到最新然后从更新历史里找出它装过的 KB 号再回过来手动集成到镜像里。这样出来的镜像版本号和你实际需要的一致省心。4.2 .NET Framework 3.5 与 VC 运行库的离线集成这两个东西是装完就要用的典型。.NET 3.5 在 1809 里不是默认启用的它包含 2.0 和 3.0 的完整支持很多老软件、老驱动安装程序、行业软件都依赖它。默认情况下 Windows 会在你第一次需要它时提示联网下载但离线装机或者内网机器根本下不来于是就有了那个经典报错。解决方式是用安装介质里的sources\sxs目录作为离线源dism /online /enable-feature /featurename:NetFx3 /all /source:D:\sources\sxs /limitaccess在 NTLite 里对应的操作是在功能列表里勾选 .NET Framework 3.5并指定 sxs 源目录集成阶段就把它写进去了装完直接可用不用再手动折腾。VC 运行库则是另一个维度的东西。微软的可再发行组件包 2015 到 2022 是共用同一个安装程序的也就是你只需要装一份 2015-2022 的 x64 包就能覆盖这段区间里所有版本的运行库需求。很多软件安装时报未安装 Visual C 运行库就是缺这个。集成方式很简单把它作为后置安装任务加进去用静默参数vc_redist.x64.exe /install /quiet /norestart我一般两个都集成x64 一份x86 一份。别觉得 64 位系统就不用装 32 位运行库大量国产软件和老工具仍然是 32 位的缺了照样报错。提示集成这两样东西之后你可以把首次开机要手动装运行库这个步骤从装机流程里彻底删掉。批量装机时省下的时间非常可观对非技术同事来说更是避免了我不会装的尴尬。4.3 驱动集成从 NVMe 到老阵列卡LTSC 2019 的初始镜像不带多少新硬件驱动这是它最明显的短板。如果你装的机器是 2019 年之后买的尤其是笔记本和品牌机大概率会遇到安装界面找不到硬盘或者装完没有网络。我的做法是在镜像阶段就把目标机器的驱动注进去。先把这些驱动准备好存储控制器驱动NVMe、RAID 控制器网卡驱动有线 无线芯片组驱动显卡驱动可选一般装完再单独装最新版更好命令行批量注入dism /Image:D:\WIM\Mount /Add-Driver /Driver:D:\WIM\Drivers /Recurse/Recurse参数的意思是递归扫描子目录所以你把驱动按厂商和型号分文件夹放进去就行不用一个个指定。这里必须说一下老服务器场景因为我踩过这个坑。把淘汰的二手服务器改造成内网文件机时如果机器用的是 Megaraid SAS 9260 8i 这类老阵列卡Windows 安装程序在初始镜像里是认不出它的硬盘列表会是空的。这时候你需要在 NTLite 里把阵列卡驱动同时注入到install.wim和boot.wim——只注入 install.wim 是不够的安装环境本身要能识别硬盘才能往下走。这一点很多人会漏掉。怎么确认注入成功我建议在虚拟机里跑一次完整安装看看硬盘能不能被识别、网卡是不是自动就绪。不要直接上真机真机装到一半发现缺驱动那才叫难受。4.4 无人值守与首次启动配置这部分是把装完之后必须手点的那堆东西提前写好。要处理的主要有这些区域与语言设置直接写死简体中文、中国区、中文键盘布局。这一步做完装完的系统不会出现语言混杂的界面。跳过 OOBE 里的问答把隐私设置、Cortana 引导、网络连接选择这些页面的选项预设好。批量装机时这一步能省掉每台机器好几分钟的点击。本地账户在企业内网场景我通常直接创建一个本地管理员账户并让它自动登录后续再按需求加域或者配其他账户。这一步要谨慎处理账户密码不要在应答文件里留下一个谁都知道的默认密码还在交付后不修改。禁用遥测与诊断数据上报这一条争议不大企业内网机器做数据上报没意义关掉能减少后台网络活动。相关策略在 NTLite 的优化项里有开关。系统还原与预启动恢复环境虚拟机里的机器可以关掉物理机建议保留。原因很简单用户手滑删了文件、装了个坏驱动导致进不去恢复环境是最后一道防线。顺便说一个很实用的小设置把快速启动和休眠相关的东西按需处理。办公机保留休眠比较友好服务器上完全没必要直接关掉能省出和内存等量的磁盘空间。5. 生成 ISO 后的实机验证与常见问题排查镜像做完了导出 ISO接下来才是真正检验成果的时候。我从不相信集成过程没报错就等于成品没问题——必须装一遍才知道。5.1 安装介质制作与启动验证导出 ISO 之后写 U 盘这一步有个经典问题install.wim 如果超过了 4GB用 FAT32 格式的 U 盘根本放不进去因为 FAT32 单文件上限就是 4GB。这时候有两条路。第一条是用支持 NTFS 引导的方式制作 U 盘工具会自动处理引导兼容性现在的 UEFI 主板基本都支持。第二条是把镜像文件拆分dism /Export-Image /SourceImageFile:install.wim /SourceIndex:1 /DestinationImageFile:install.swm /FileSize:4096 /Compress:max这条命令会把 install.wim 拆成若干个不超过 4GB 的 install.swm 分卷文件系统安装程序能自动识别。这条路的好处是兼容性最好老主板也能用。写完之后先在虚拟机里跑一次完整流程引导、分区、拷文件、重启、进桌面。确认没问题再上真机。这个习惯我坚持了很多年救过我不下十次。5.2 常见报错速查表下面这张表是我这些年遇到过的、以及被问得最多的几类问题按现象、原因、解决方式整理。现象大概率原因处理方向安装时提示缺少 .NET 3.5 源未集成离线 sxs 源挂载 ISO用 sxs 目录作为源启用该功能更新相关错误码指向组件存储组件存储不完整或更新包有问题检查移除清单确认未破坏组件存储重新集成补丁安装界面看不到硬盘缺少存储控制器驱动把驱动注入 boot.wim 与 install.wim装完没有网络缺网卡驱动补齐网卡驱动或在镜像里预置远程桌面连不上服务未启用、防火墙规则缺失、账户权限不足逐项检查服务状态、入站规则、用户所属组打印装不上打印后台处理程序被移除重新启用打印相关功能或改用不删该组件的镜像安全中心点保护记录闪退防护组件被删但界面组件残留一并清理残留界面组件或恢复该组件某软件报缺 DLL缺 VC 运行库或媒体组件集成 x86 与 x64 两套运行库中文界面变方框中文字体被移除恢复字体组件蓝牙、无线不可用相关驱动或服务被移除按机器实际硬件重新保留这张表里最后几条其实都指向同一个结论精简系统出问题九成是删了界面组件但留下了服务或者反过来。判断的方法很简单去功能列表里搜一下相关组件的父子关系看看是不是只删了一半。5.3 装完之后还需要手动做的那几件事即使集成做得再全有些东西我还是建议装完之后手动过一遍。第一是确认系统信息。运行winver看一眼版本号和构建号确认和你集成时的目标一致。再打开服务列表快速扫一遍有没有标红或无法启动的关键服务。第二是检查缺失的运行库。有些软件会依赖更冷门的运行库或者 DirectX 组件集成阶段没法覆盖全部。这时候装一遍常用软件跑一圈缺什么补什么然后把补上的这部分回写到镜像里下一批机器就不用再补了。这是迭代的思路别指望一次做完。第三是建立更新策略。LTSC 的定位是长期不变但你仍然需要一套自己的补丁节奏。我的做法是每季度挑一个时间点把这段时间的安全补丁集成进镜像重新出一版替换掉原来的。这样既避免了机器联网自动更新带来的不可控也不会让系统长期停留在旧补丁级别。第四是准备恢复手段。精简过的系统一旦出问题用标准的方法修复可能会发现某些修复路径所依赖的组件已经不在了。所以我会额外保留一份未精简的原版 ISO 放在内网需要的时候用它的恢复环境来处理。6. 把精简体用作开发机时的额外配置前面讲的主要是办公和服务器场景。如果你打算用这套精简体做开发机还有几块内容需要额外补上不然装完开发工具链会各种报错。6.1 开发环境依赖与 Web 服务组件首先明确一点做开发机的精简体砍的力度要小得多。像 .NET 全家桶、PowerShell 完整功能、WMI、Hyper-V 或至少虚拟机平台接口、还有系统里的 C 运行库相关组件都要保留。Java 开发环境的话JDK 可以从国内的开源镜像站获取下载速度比官方源稳定得多装的时候注意环境变量配置尤其是多版本共存时JAVA_HOME的指向问题。这类运行时分发版的目录结构和官方一致配置方式没有区别。如果这台机器要拿来跑 Web 服务做本地调试那么像 Nginx 加 PHP 这种组合在精简系统上一般没问题但有几个点要注意PHP 的某些扩展依赖 VC 运行库前面集成的那套必须到位Nginx 作为服务运行时依赖系统的服务控制能力如果你把相关的服务组件砍了它就没法注册成后台服务只能手动前台运行。我一般会在开发机上保留服务管理相关的组件就是为了避免这类问题。数据库场景也要留意。像 SQL Server 2016 这类较老版本安装时对系统的组件完整性要求比较高会检查一堆依赖。如果你的精简体砍掉了某些它需要的组件安装程序会直接拒绝。这类场景我建议单独做一版轻度精简的镜像只清应用不删系统组件和给办公机用的深度精简版分开管理。6.2 老游戏与媒体相关的兼容处理如果你装机除了办公还想偶尔玩点老游戏那媒体功能相关的组件就得留一部分。1809 里有些老游戏依赖 DirectX 的旧组件和媒体解码能力全砍干净之后会出现启动闪退、没声音、过场动画黑屏这类问题。网上有一些专门给新系统补老游戏兼容组件的小工具思路就是把缺失的旧版组件补回去——这其实反过来证明了精简时该留着什么。我的做法是准备两版镜像一版给纯办公和服务器砍得比较狠一版给需要多媒体和个人使用的机器媒体组件只做轻度清理。两版分开维护用起来最省心。6.3 长期维护该怎么安排精简体最容易被忽略的问题是用着用着就乱了。我的维护节奏是这样的镜像文件按版本号归档每个版本记录清楚砍了什么、集成了什么内网留一份当前推荐版本机器重装直接取用每季度整合一次安全补丁出新版每半年回头核对一次移除清单因为实际使用中总会发现某些删除的东西原来有用。这个节奏听着有点重但真正做起来每次也就一两个小时。比起每次装机器都要现配环境、修各种奇怪问题这点维护成本非常划算。最后说说我自己的体会。精简这件事最容易走的弯路是追求极致——总想把系统压到最小看着那个数字变小很有成就感。但实际用下来一个精简得刚好、装完就能干活、半年不出问题的系统远比一个体积小了两百兆但时不时冒出怪问题的系统有价值。我从最初砍到只剩三个多 G到现在慢慢回调到五六个 G这一路的经验就是每砍掉一样东西都要能说清楚这台机器为什么不需要它说不清楚的留着。磁盘现在这么便宜省下来的那点空间真不值得用稳定性去换。

相关新闻

基于Python的服饰推荐系统:从特征提取到混合推荐实战

基于Python的服饰推荐系统:从特征提取到混合推荐实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:30:32 阅读更多 →
微信小程序手写汉字识别评分:拍照、OCR与TFLite端上推理实战

微信小程序手写汉字识别评分:拍照、OCR与TFLite端上推理实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:30:32 阅读更多 →
ScreenLayout:工业自动化中的画面状态调度中枢

ScreenLayout:工业自动化中的画面状态调度中枢

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:30:32 阅读更多 →

最新新闻

从 DALL-E 3 精灵图到动画 GIF:Gif-PT 系统提示词与 FFT 帧对齐调试全解析

从 DALL-E 3 精灵图到动画 GIF:Gif-PT 系统提示词与 FFT 帧对齐调试全解析

提示工程 【免费下载链接】GPTs leaked prompts of GPTs 项目地址: https://gitcode.com/GitHub_Trending/gp/GPTs 点击查看 免费下载 Gif-PT 是一款利用 DALL-E 3 生成精灵图(spritesheet)、再借助代码解释器切帧并合成动画 GIF 的 GPT 应用…

2026/10/1 2:02:46 阅读更多 →
FlashAttention Hopper(SM90)前向 Kernel 的 R2P 掩码优化:基于 SASS 指令分析的性能调查

FlashAttention Hopper(SM90)前向 Kernel 的 R2P 掩码优化:基于 SASS 指令分析的性能调查

人工智能大模型算子库 【免费下载链接】flash-attention Fast and memory-efficient exact attention 项目地址: https://gitcode.com/GitHub_Trending/fl/flash-attention 点击查看 免费下载 导读 本文以 FlashAttention 仓库中 AI/SM90_R2P_MASKING_SASS.md 的 …

2026/10/1 2:02:46 阅读更多 →
越省越费?杰文斯悖论揭示效率提升背后的能耗反弹

越省越费?杰文斯悖论揭示效率提升背后的能耗反弹

先别急着把这篇文章关了。我一开始看到“Jev”这个词也懵:这到底是个库?是个算法?还是某位网友的外号?后来翻了上下文才发现,大家口中的 Jev,大概率是 Jevons Paradox(杰文斯悖论)的…

2026/10/1 2:02:46 阅读更多 →
从Node-RED到标准语法:用Go构建可维护的规则引擎

从Node-RED到标准语法:用Go构建可维护的规则引擎

如果用一句话概括我这一段时间做的事:我把项目里的规则判定层,从 Node-RED 的拖拽流里整个拆了出来,重新建模成一套基于标准语法的规则描述,然后用 Go 先做出了一个可运行的规则引擎运行时。这篇东西就是完整的设计思路、落地细节…

2026/10/1 2:02:46 阅读更多 →
Python多线程破解RAR/ZIP/7Z压缩包密码:原理与实战

Python多线程破解RAR/ZIP/7Z压缩包密码:原理与实战

简介:这份多线程可视化压缩包解密源码,主要面向多种主流压缩格式的密码破解场景,适合具备基础的安全测试者,也可帮助普通用户找回遗忘的压缩包密码。源码内置常见密码压缩表,密码表用尽后自动切换随机数遍历&#xff0…

2026/10/1 2:02:46 阅读更多 →
scriptc预编译运行时包设计解析:只用多少就链接多少的链接计划

scriptc预编译运行时包设计解析:只用多少就链接多少的链接计划

scriptc预编译运行时包设计解析:只用多少就链接多少的链接计划 【免费下载链接】scriptc TypeScript-to-Native Compiler 项目地址: https://gitcode.com/GitHub_Trending/sc/scriptc scriptc 是一个 TypeScript 到原生可执行文件的编译器(TypeSc…

2026/10/1 2:01:46 阅读更多 →

日新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/30 13:14:22 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/30 18:13:06 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/30 13:14:49 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →