Tiny11Builder 完整指南:一条脚本把 Windows 11 官方 ISO 改造成精简镜像
【免费下载链接】tiny11builderScripts to build a trimmed-down Windows 11 image.项目地址: https://gitcode.com/GitHub_Trending/ti/tiny11builder
把一份官方 Windows 11 ISO 喂给Tiny11Builder,几分钟后你会拿到一个名为tiny11.iso的新镜像:Clipchamp、Xbox、Teams、Outlook、Copilot、OneDrive、Edge 等预装组件被移除,遥测与推广内容被关闭,OOBE(开箱体验)阶段跳过微软账号绑定并启用 Compact 压缩安装——而整个过程只靠 DISM 加一个oscdimg.exe,没有第三方精简工具。跑通一次之后,老机器、虚拟机、开发测试机都能装上一个体积更小、干扰更少的系统。
它替你省掉的东西
官方 ISO 里的预装应用和后台推广逻辑,你几乎用不到,却要为它们付出磁盘空间和开机后的持续打扰。Tiny11Builder 把这部分在镜像层面一次性剥离:标准脚本tiny11maker.ps1移除约二十个预装应用(Xbox 全家桶、新闻与天气、Office Hub、邮件日历、Solitaire 等,完整清单见 README.md),并处理 Edge 的独立目录、OneDrive 安装器、遥测注册表和若干计划任务;OOBE 阶段由 autounattend.xml 接管,跳过在线账号界面并以/compact方式部署。它同时绕过 CPU、内存、TPM、安全启动检查,让不满足官方要求的机器也能安装。
核心收益只有一个:产出一个干净、可维护的精简安装镜像;附带两个次要收益:镜像导出使用 DISM 的 recovery 压缩(/Compress:recovery),ISO 体积显著小于源镜像;脚本自动记录日志(tiny11_日期.log),出问题时能回溯全过程。
跑之前先做的四项自检
全部在 Windows 上操作,PowerShell 5.1 及以上。逐条确认:
- 机器:Windows 10/11 64 位。脚本需要以管理员身份运行——若检测到你不是管理员,
tiny11maker.ps1会自动弹出一个新的管理员 PowerShell 窗口并接管,无需手动处理。 - 输入镜像:准备好一份官方 Windows 11 ISO(任意语言、任意版本,不限于特定 build),并已在资源管理器中挂载到虚拟光驱,记下盘符。
- 临时磁盘:标准脚本需要一个独立的 scratch 盘符存放中间文件(源 ISO 会整盘复制到该盘,并展开 WIM),该盘可用空间建议至少 40GB;若不指定,脚本默认使用脚本所在目录所在的盘。
- ISO 打包工具:脚本优先调用已安装 ADK 里的
oscdimg.exe;没装 ADK 也没关系,脚本会联网从微软符号服务器自动下载一份临时使用,跑完即删。
拉取代码并临时放开当前会话的执行策略:
git clone https://gitcode.com/GitHub_Trending/ti/tiny11builder cd tiny11builder Set-ExecutionPolicy Bypass -Scope Process-Scope Process只在当前 PowerShell 窗口内生效,关闭窗口后系统策略不变。
从 0 到成品:四个阶段跑通标准版
阶段一:让脚本找到输入
目的:把 ISO 盘符和临时盘交给脚本。
.\tiny11maker.ps1 -ISO D -SCRATCH E-ISO是已挂载 ISO 的盘符(只写字母,不带冒号),-SCRATCH是临时盘。两个参数顺序可换;也可以直接不带参数运行,脚本会在控制台交互式询问。
跑通的标志:窗口标题变为 "Tiny11 image creator",随后打印 "Drive letter set to D:",并开始 "Copying Windows image..."。如果提示Can't find Windows OS Installation files,说明盘符给错了——确认 ISO 已挂载且盘符不是 C。
阶段二:选定要精简的版本
目的:从镜像索引中挑出具体 SKU(家庭版/专业版/企业版等)。
源镜像若是install.esd(多数官方下载包),脚本会先转成install.wim并列出所有索引,提示Please enter the image index,照列表输入对应版本号即可;若索引无效,脚本会重新列出并让你再输一次,不会中断。
跑通的标志:依次出现 "Mounting complete!" 与 "Performing removal of applications...",说明镜像已挂载、精简开始执行。
阶段三:等待精简与打包完成
目的:脚本自动移除预装应用、写注册项、清理组件,最后打包 ISO。此阶段不需要任何输入,耗时最长(ESD→WIM 转换 + DISM 清理 + 打包)。
期间窗口会依次显示:移除应用 → 移除 Edge/OneDrive → 注册表调整(绕过硬件检查、关遥测、禁推广应用、OOBE 本地账号)→ 删除计划任务 → "Cleaning up image..." → 打包 install.wim 与 boot.wim → "Creating ISO image..."。若你没装 ADK,这里会出现 "Downloading oscdimg.exe..." 一行,属正常现象。
跑通的标志:提示Creation completed! Press any key to exit the script...。
阶段四:确认成品并善后
目的:核对输出、确认临时文件已清理。
成品 ISO 位于脚本所在目录,文件名tiny11.iso。按回车后脚本自动执行收尾:删除临时目录、弹出 ISO 虚拟光驱、移除临时oscdimg.exe与autounattend.xml(注意:autounattend.xml会被删除,但下次运行若缺失会自动重新获取)。
跑通的标志:脚本所在目录出现tiny11.iso;tiny11_日期.log日志完整;控制台 Cleanup check 各条均显示 "removed successfully"。
不同场景下的取舍
日常桌面机:用标准脚本
- 就用
tiny11maker.ps1,它是官方推荐的日常版本。 - 精简后的系统可维护:后续仍可正常打更新、加装语言包和可选功能。
- 若你依赖商店装应用,建议装完后更新一次 Winget 再操作(见下一节的已知现象)。
虚拟机 / 开发测试机:用 Core 脚本
- 改用
tiny11Coremaker.ps1,在标准版基础上再移除 WinSxS 组件库、WinRE,并禁用 Windows Defender(可再启用)与 Windows Update。 - 代价是不可维护:成品之后无法再加语言、打更新、装功能组件,作者明确说明它不适合当日常系统。
- 构建中会询问是否启用 .NET 3.5,按测试需求回答 y/n 即可。
老机器装新系统
- 标准脚本已写入 LabConfig 绕过项(CPU / RAM / TPM / 安全启动 / 磁盘检查全部 Bypass),不满足 Win11 官方硬件门槛的老机器可直接安装。
- 老机器建议选核心组件齐全的 SKU 并留意 OneDrive 被移除后的文件同步需求,必要时自行装回第三方同步工具。
标准版与 Core 版的差异对照
仓库没有公布固定体积数字,实际大小取决于源 ISO 与 DISM 压缩输出,以你本机生成的tiny11.iso实际大小为准。可确定的是下表这些结构性差异:
| 维度 | tiny11maker(标准版) | tiny11Coremaker(Core 版) |
|---|---|---|
| 移除范围 | 约 20 个预装应用 + Edge + OneDrive | 标准版全部 + WinSxS + WinRE |
| 系统更新 | 可用 | 不可用(无 WinSxS 支撑) |
| 加装语言/功能 | 可以 | 不可以 |
| Defender | 保留 | 禁用(可手动恢复) |
| 压缩导出 | /Compress:recovery | /Compress:recovery |
| 定位 | 日常可用系统 | 一次性快速测试/开发镜像 |
数字之外的体感:装完后开机不再等待 Copilot、Teams 等组件的静默安装,设置页里的推广位和"建议应用"消失,磁盘占用以实际输出为准——但"更干净"这一点在 OOBE 和桌面层面是直接可感的。
提前帮你踩过的坑
| 现象 | 处理 |
|---|---|
| 脚本一运行就提示策略受限或被拦截 | 先执行Set-ExecutionPolicy Bypass -Scope Process;脚本本身也会在 Restricted 策略下询问是否切到 RemoteSigned |
| 提示找不到安装文件 / 反复要求重新输盘符 | ISO 未挂载或盘符给错;确认虚拟光驱盘符不是 C,且参数只写字母 |
| scratch 盘报空间不足、复制中断 | 临时盘至少预留 40GB(源镜像会整盘复制并展开 WIM),换更大盘重跑 |
| 打包阶段下载 oscdimg.exe 失败 | 网络问题导致;可先安装 ADK 的 Deployment Tools,脚本会优先使用系统内的oscdimg.exe |
| 装完后 Edge 在"设置→应用"里留了残影、Outlook/DevHome 隔段时间又出现 | 已知问题:应用本体已删除但设置残留;Outlook/DevHome 的回补抑制在持续完善中,以最新版本脚本行为为准 |
| 精简后商店装应用失败 | 先通过 Microsoft Store 更新一次 Winget 再安装 |
三条必须记住的底线:
- Core 版镜像一旦生成,语言、更新、功能组件都无法再加回,日常使用请坚持用标准脚本。
- scratch 盘上的内容会被脚本清理,不要把个人文件放在该盘的
tiny11/scratchdir路径下;重要数据先备份。 - 精简镜像请先在虚拟机里验证能装能进桌面,再考虑落到实体机。
想进一步定制的,可以从两个方向入手:按自己的口味增删 tiny11maker.ps1 里的$packagePrefixes列表(README 明确欢迎二次修改),或调整 autounattend.xml 里的 OOBE 行为。Core 版脚本 tiny11Coremaker.ps1 则是做最小化测试环境时的对照参考。
【免费下载链接】tiny11builderScripts to build a trimmed-down Windows 11 image.项目地址: https://gitcode.com/GitHub_Trending/ti/tiny11builder
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考