Tiny11Builder 完整指南:用 2 个 PowerShell 脚本构建轻量版 Windows 11 安装镜像
【免费下载链接】tiny11builderScripts to build a trimmed-down Windows 11 image.项目地址: https://gitcode.com/GitHub_Trending/ti/tiny11builder
Tiny11Builder 是一个用 PowerShell 脚本"离线构建"轻量 Windows 11 安装镜像的开源项目。它不改装你现有的系统,而是在安装发生之前动手:挂载官方 Windows 11 ISO,移除 50 多项预装应用、硬件门槛检查和遥测组件,再重新压缩封装成可安装的 tiny11.iso——装出来的系统更轻,没有 TPM 或不达标 CPU 的老机器也能装。
一、项目速览:4 个文件,零第三方依赖 📦
结论先行:整个仓库只有 4 个有效文件,构建全程只依赖微软自家的 DISM(系统内置的 Windows 映像服务命令行工具)和 oscdimg.exe(Windows ADK 附带的 ISO 打包工具),没有引入任何第三方组件。
| 文件 | 作用 |
|---|---|
| tiny11maker.ps1 | 标准版脚本(Release 09-07-25),精简但保留系统可维护性 |
| tiny11Coremaker.ps1 | 核心版脚本(BETA 09-05-25),激进精简,牺牲后续维护能力 |
| autounattend.xml | 无人值守应答文件,处理首次开机(OOBE)流程 |
| README.md | 使用说明、移除清单和已知问题 |
两个值得注意的实现细节:
- oscdimg.exe 不随仓库分发:脚本优先从已安装的 ADK 目录查找,找不到时从微软官方符号服务器自动下载,构建完成后自动删除,不污染你的机器。
- 架构与语言无关:得益于 PowerShell 的脚本能力(相比旧版 Batch 脚本的改进),它支持任意 Windows 11 构建版本、任意语言包、x64 与 ARM64 架构,脚本会自动检测镜像的架构和语言并写入应答文件。
二、它替你解决什么:官方安装盘的 4 类冗余 🧹
结论先行:Windows 11 官方 ISO 里"出厂自带"的冗余可以归为 4 类,这个项目全部在映像层面(安装前)一次性处理,比装完系统再逐个卸载更干净,也更适合批量部署。
1. 预装应用。标准脚本内置了一份 53 个条目的 AppX 包名前缀移除清单(含重复项),覆盖 Clipchamp、新闻、天气、Xbox 全家桶(TCUI/App/GameOverlay/Identity 等 6 个相关包)、纸牌合集、Outlook、Teams(新旧两版)、Copilot、Windows Terminal、画图、便笺、3D 查看器、Office Hub、Power Automate、你的手机、媒体播放器、IE 等。Edge 走的是文件级删除:Program Files (x86)\Microsoft下的 Edge、EdgeUpdate、EdgeCore 三个目录加 System32 里的 Edge WebView2 运行时,全部先 takeown 夺权再删。OneDrive 则直接删掉OneDriveSetup.exe。
2. 硬件门槛。脚本对系统映像和安装映像各写一轮注册表:Setup\LabConfig下的BypassCPUCheck、BypassRAMCheck、BypassSecureBootCheck、BypassStorageCheck、BypassTPMCheck共 5 项全部置 1,再加AllowUpgradesWithUnsupportedTPMOrCPU。也就是说,没有 TPM 2.0、CPU 太老的机器装出来的系统不会弹"硬件不受支持"的提示。
3. 遥测与广告。AllowTelemetry置 0,AdvertisingInfo关闭;ContentDeliveryManager 下十数个键(预装应用、静默安装、订阅内容 310093/338388/338389 等 6 个推荐位、启动页建议)逐一禁用;计划任务层面删除了兼容性评估(Compatibility Appraiser)、客户体验改善计划(CEIP,整目录删除)、ProgramDataUpdater、Chkdsk Proxy、Windows 错误报告(QueueReporting)共 5 个采集类任务定义;Copilot 被策略键TurnOffWindowsCopilot直接关闭,搜索框建议同步禁用。
4. 磁盘开销。关闭默认预留存储(Reserved Storage,ShippedWithReserves置 0),禁用 BitLocker 设备加密,Windows Chat自动安装关闭,导出安装映像时使用/Compress:recovery恢复级压缩(比常规压缩更激进,代价是解压恢复稍慢),应答文件里再开Compact=true紧凑安装——即系统文件以更小的方式落盘。
适合谁:需要一次性制作母盘、往多台机器批量装系统的 IT 场景,以及硬件不达标但必须跑 Windows 11 的老机器。不适合谁:只装一台现用机器、且只想去掉几个应用的——重做整张映像的投入产出比不划算,商店里卸载几个应用就够了。
三、逐条拆解:标准版 vs 核心版 ⚡
结论先行:两个脚本的差异不在"移除多少应用",而在装完系统之后还能不能继续维护它。
| 维度 | 标准版 tiny11maker.ps1 | 核心版 tiny11Coremaker.ps1 |
|---|---|---|
| 定位 | 日常/生产使用,官方推荐 | 虚拟机、快速测试与开发沙盒 |
| 应用移除 | 53 项 AppX 清单 + Edge + OneDrive | 在标准版基础上继续精简 |
| WinSxS 组件存储 | 保留(执行 /ResetBase 清理旧组件) | 整体删除(体积收益最大的操作) |
| WinRE 恢复环境 | 保留 | winre.wim 被替换为空文件 |
| Windows Update | 正常可用 | 策略禁用并指向 localhost 假地址 |
| Defender | 保留 | 仅禁用(保留重新启用的可能) |
| .NET 3.5 | 装完后可随时开启 | 构建时必须二选一,事后无法补装 |
| 临时工作区 | 由-SCRATCH参数指定磁盘 | 固定占用系统盘(C:\tiny11) |
| 运行日志 | 带时间戳的独立文件 | 固定 tiny11.log |
| 装后加语言包/补丁/功能 | 可以 | 不行 |
核心版为什么更小?关键在于 WinSxS——它是 Windows 的"组件仓库",补丁、语言包、可选功能的安装都依赖它。核心版把整个目录删掉后,系统等于失去了"备件库",任何后续变更都无从谈起。作者对此的态度很直接:核心版"不是 Windows 11 的替代品,而是快速测试与开发工具,虚拟机场景下尤其有用",并且脚本启动时会强制弹出 y/n 确认,把风险告知放在了流程最前面。
四、完整构建流程:从挂载 ISO 到拿到 tiny11.iso 🛠️
结论先行:标准版构建就四步,全部在 PowerShell 5.1 管理窗口里完成。
先备齐三样东西:
- 一份官方 Windows 11 ISO(.wim 或 .esd 格式均可;.esd 会自动转成 .wim 并按最大压缩保存,这一步耗时较长)
- PowerShell 5.1 且可提权到管理员
- 一块空闲空间足够的临时盘(要容纳 ISO 内容的完整拷贝 + 挂载的映像,建议预留 20GB 以上)
仓库代码可从这里获取:
git clone https://gitcode.com/GitHub_Trending/ti/tiny11builder然后依次执行:
Set-ExecutionPolicy Bypass -Scope Process .\tiny11maker.ps1 -ISO E -SCRATCH D-Scope Process让策略变更只存活于当前会话,不动系统全局配置;脚本本身也有兜底——检测到策略为 Restricted 时会交互式询问是否临时放开,检测到非管理员会自行弹出一个提权窗口。E是 ISO 挂载后的盘符(文件资源管理器里双击 ISO 即可挂载),D是临时盘;参数顺序可随意,缺省参数会逐条交互询问。- 运行时按提示输入映像索引(即 Home/Pro 等 SKU 的编号),之后挂载、移除、改注册表、压缩、打 ISO 全部自动执行。
管线里有几个值得知道的设计:ISO 内容会先完整拷贝到临时盘再动手,官方镜像本身不被修改,失败后可以原样重来;离线注册表用reg load挂载到HKLM\z*前缀下逐键写入;收尾阶段脚本会删除临时文件、弹出虚拟光驱、清理下载过的 oscdimg.exe,做到"跑完不留痕"。
核心版则是一条命令.\tiny11Coremaker.ps1:确认风险告知、输入 ISO 盘符、构建中途会被问一次"是否内置 .NET 3.5"(选完不可改)、其余全自动。
五、效果验证:4 个客观信号确认构建成功 ✅
结论先行:仓库里没有性能基准数据,"构建成功"要靠这 4 个可核验的信号来确认。
- 产物体积:脚本目录下出现
tiny11.iso,且明显小于原 ISO——应用移除 + recovery 压缩 + 核心版的 WinSxS 删除,效果在体积上肉眼可见。 - 完整日志:标准版每次运行生成一个
tiny11_日期_时间.log格式的转录文件,DISM 操作、注册表写入、每个删除步骤都有记录,出问题能定位到具体命令。 - 装机行为:装入虚拟机后核对三件事——首次开机不再强制 Microsoft 账户(应答文件的
HideOnlineAccountScreens=true生效,可建本地账户);不合规硬件上不弹支持性警告;系统盘占用符合紧凑安装的预期。 - 核心版的"负向验证":装完核心版后打开 Windows Update 应显示不可用——这是预期行为而非故障,反过来如果它能联网更新,说明精简没到位。
代价说明:验证窗口在首次装机阶段,所以务必先在虚拟机里把镜像跑通,再考虑推到真实硬件。
六、已知问题与边界 ⚠️
结论先行:作者在 README 中如实列了 4 个已知问题,都可规避,但构建前应先知道。
- Edge 残留:应用本体已删除,但"设置 → 应用"里可能还留有名称条目,属视觉残留,不影响功能。
- Winget 需先更新:首次开机后,可能需要通过 Microsoft Store 更新一次 Winget,才能用命令装新应用。
- Outlook 与 Dev Home 可能复活:脚本用 WindowsUpdate Orchestrator 的
workCompleted键做压制,README 承认这是"ongoing battle"(持续拉锯),个别更新后仍可能回来。 - ARM64 会闪现错误:官方 ARM64 镜像的 System32 里没有 OneDriveSetup.exe,删除步骤报错一闪而过,不影响最终结果。
核心版还有三个 README 之外的坑(来自脚本本身):
- 无 WinRE 兜底:winre.wim 是空文件,系统无法引导时没有内置恢复可用,只能重装。
- WinSxS 删除耗时且占用系统盘:脚本要先对整个目录 takeown 夺权再逐层处理,且临时工作区固定在系统盘,确认 C 盘空间后再跑。
- 不可逆选项前置:.NET 3.5 在构建时二选一,事后无法补装——如果目标环境有可能依赖它,构建时直接选上。
不适合核心版的场景:需要持续接收安全补丁的机器、需要事后加装语言包的机器、依赖系统内建恢复环境的场景——这三条满足任何一条,就用标准版。
七、落地建议
- 默认从标准版起步:它保留 Windows Update、语言包和功能扩展能力,是唯一能进生产环境的选项;核心版只在虚拟机和一次性测试沙盒里用。
- 把它当"一次构建、多次部署"的工具:单台现用机器不值得重做映像;50 台以上批量装机、或需要反复重置的 VM 模板,才是它的目标场景。
- 在可牺牲的环境里构建:构建过程会挂载注册表、移动大文件,中途断电或强杀的代价是整轮重来;挂 UPS、关屏保,别在构建窗口里动电脑。
- 把日志当交付物:
tiny11_*.log记录了每一处改动,建议随 ISO 一起归档,装机后排查"少了什么"时它比任何文档都快。 - 装机前过一遍已知问题清单:Winget 更新、Outlook/Dev Home 复活这两项是装机后的例行动作,写进部署 SOP 就不会再被当成故障报修。
【免费下载链接】tiny11builderScripts to build a trimmed-down Windows 11 image.项目地址: https://gitcode.com/GitHub_Trending/ti/tiny11builder
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考