Tiny11Builder:两条 PowerShell 脚本,把 Windows 11 官方 ISO 瘦进 5GB
【免费下载链接】tiny11builderScripts to build a trimmed-down Windows 11 image.项目地址: https://gitcode.com/GitHub_Trending/ti/tiny11builder
老笔记本装完官方 Windows 11,开机十分钟,C 盘先胖 25GB。Tiny11Builder 用两条 PowerShell 脚本把官方 ISO 裁剪成 5GB 以内的定制镜像,regular 版装完还能照常打更新。
两个脚本,两种减重方案
打开仓库只有 4 个文件:tiny11maker.ps1、tiny11Coremaker.ps1、autounattend.xml 和一份 README。两个脚本的差别只在一个问题上:减完重之后,你还想不想再加东西回来?
- tiny11maker.ps1(regular 版):移除 20 多个预装应用和遥测,保留 WinSxS(Windows 组件存储,相当于整箱备件),装完仍能装更新、语言包和功能,适合日常机器。
- tiny11Coremaker.ps1(core 版):在 regular 基础上再拆掉组件存储、Windows Update、Defender 和 WinRE——镜像最小,但建完就不能再维护,只配进虚拟机测试。
- 关键数据:两者都用 DISM 的 recovery 压缩导出 WIM(微软部署映像工具,可理解为给系统镜像做无损压缩),regular 版成品 ISO 通常落在 5GB 以内,core 版再去掉 WinSxS,还要再小一截。
| 脚本 | 移除范围 | 装完能否打更新/装语言包 | 适合 |
|---|---|---|---|
| tiny11maker.ps1 | 预装应用、遥测、广告位 | 能(保留 WinSxS 组件库) | 日常开发机、老笔记本 |
| tiny11Coremaker.ps1 | 上者 + WinSxS、更新、Defender、WinRE | 不能 | VM 测试床、驱动试验 |
最短路径:从官方 ISO 到 tiny11.iso(5 步)
在一台有管理员权限的 Windows 构建机上,按 5 步走:
- 拿 ISO 并挂载:从官方渠道下载 Windows 11 零售版 ISO,资源管理器右键"挂载",记下虚拟盘符,假设是 E:。确认
E:\sources\下有install.esd或install.wim——这是真正的系统镜像,没有就说明盘符错了。 - 克隆脚本并放开执行策略:
git clone https://gitcode.com/GitHub_Trending/ti/tiny11builder cd tiny11builder Set-ExecutionPolicy Bypass -Scope Process # 只对当前会话生效,不改系统全局策略- 管理员身份运行(不加 -SCRATCH 时临时文件默认落在脚本自身目录):
.\tiny11maker.ps1 -ISO E -SCRATCH D # E = 挂载的 ISO 盘符;D = 空闲 20GB 以上的分区💡 -SCRATCH 是临时工作区,脚本会把整个镜像拷过去、挂载、裁剪。这块盘用 SSD 的话速度差别明显。
- 输入镜像索引:脚本列出 WIM 里的 SKU 列表(家庭版/专业版/教育版…),输入对应数字后坐等。零售 ISO 多为 install.esd,脚本会先自动转成 install.wim,这一步最久。
- 验收产物:脚本目录出现
tiny11.iso,旁边还有一份tiny11_日期时间.log转录日志。体积应明显小于原 ISO,然后挂进虚拟机装一遍,确认 OOBE 不强制微软账号。
日常开发机:regular 版到底动了什么
如果你的机器还要跑 VS Code、Docker、WSL2,用 regular 版就够,它动的都是"装完用不上"的东西:
- 应用层:Edge(连同 WebView2 与 OneDriveSetup)、Xbox 全家桶、Clipchamp、天气、新闻、纸牌、Copilot、Teams、Dev Home 等,按
$packagePrefixes前缀批量执行/Remove-ProvisionedAppxPackage。 - 安装门槛:往 install.wim 和 boot.wim 的
HKLM\SYSTEM\Setup\LabConfig写入BypassTPMCheck、BypassSecureBootCheck、BypassRAMCheck、BypassCPUCheck、BypassStorageCheck并全部置 1——相当于在安装器门口贴了张"免检条",老 CPU、4GB 内存、没 TPM 2.0 的机器也能装。 - 系统与隐私:
AllowTelemetry=0关遥测,删掉 CEIP 等诊断计划任务,BypassNRO=1配合 autounattend.xml 跳过 OOBE 的微软账号页,ReserveManager关掉保留存储。 - 收尾:
/StartComponentCleanup /ResetBase清理组件库,/Compress:recovery导出 WIM,再用 oscdimg(优先取系统 ADK 里的,没有就自动下载)压成可启动 ISO。
预期输出:tiny11.iso+ 完整构建日志;装完直达本地账号,无微软账号强注册,任务栏没有广告位。
如果说 regular 版是给整车拆选装件,core 版就是把后货箱连同备件架一起焊死的赛车底盘——轻,但别指望它以后拉货。
虚拟机测试床:core 版怎么用
给 CI 搭一次性 Windows 环境,或者拿老硬件试驱动,core 版才登场。它没有命名参数,直接跑:
.\tiny11Coremaker.ps1会先弹一段 BETA 声明问 y/n,随后依次输入 ISO 盘符、镜像索引,中途还会问要不要启用 .NET 3.5。与 regular 版最大的三个差别:
- 临时文件写系统盘:core 版把
C:\tiny11和C:\scratchdir直接建在系统盘下($env:SystemDrive),运行前把 C 盘腾干净,跑完脚本自行清理。 - 服务层开刀:
wuauserv、UsoSvc、WaaSMedicSVC被删除或禁用,Defender 五个服务全部Start=4,WinRE 移除——系统从此离线自洽,也永远离网。 - 日志与产物:转录文件是
tiny11.log(regular 版带时间戳),成品同样叫tiny11.iso。
踩坑对照:报错先查这 5 条
⚠️ 脚本中途停住、装完行为怪异,九成是下面几种情况:
- 现象:
Can't find Windows OS Installation files。根因:盘符输错或 ISO 没挂载(脚本只认 C–Z 的字母,不带冒号)。解法:用Get-Volume确认挂载盘符,再核对E:\sources\下的镜像文件。 - 现象:SCRATCH 盘写满、构建中断。根因:整个镜像要先拷进临时盘,挂载态 WIM 再占一份空间。解法:临时盘留 20GB 以上余量并优先 SSD;core 版则保证 C 盘干净。
- 现象:装完 winget 装不了应用,过段时间 Outlook、Dev Home 又冒出来。根因:winget 版本过旧;Windows Update 编排器会回推这两个应用,README 已列为已知问题。解法:先用微软商店更新 winget;脚本已写
workCompleted=1压制,复发就再打一遍对应注册表。 - 现象:arm64 机器执行时闪一下报错。根因:arm64 镜像的 System32 里没有 OneDriveSetup.exe,删除动作扑空。解法:忽略,脚本会自行继续。
- 现象:离线环境第二次构建,OOBE 又要求微软账号。根因:脚本每次跑完都会删掉本地的
autounattend.xml,下次运行发现缺失才去联网补下,离线时缺文件就白建了。解法:手边留一份 autounattend.xml 备份,或先联网构建一次。
瘦身到什么程度,什么时候别用
- 体积:以 24H2 中文版为例,官方零售 ISO 约 6.4GB;regular 版走 recovery 压缩后通常落在 4.5–5GB,core 版去掉 WinSxS 再小一截,具体随原镜像语言包浮动。
- 磁盘:autounattend 里的
<Compact>true</Compact>会启用压缩存储,装好系统后 C 盘实际占用比默认安装再省数 GB。 - core 版别上生产机:没有更新通道、装不了语言包和功能、Defender 默认关、没有 WinRE——脚本自己声明 "not suitable for regular use"。
- 别指望事后加回东西:core 版删掉的组件是永久性删除;regular 版删掉的应用也只能重装 Appx 包,不是点一下就恢复。
- 合规敏感环境慎用:TPM/安全启动旁路只服务于"能装上",企业受管设备有审计要求时别动这条线。
regular 版先装到主力机上跑一周,把日志里没见过的组件名过一遍,确认没问题再让 core 版进虚拟机当快测环境。想调整裁剪范围,直接改脚本里的$packagePrefixes数组——开源脚本,改完就是你的发行版。
【免费下载链接】tiny11builderScripts to build a trimmed-down Windows 11 image.项目地址: https://gitcode.com/GitHub_Trending/ti/tiny11builder
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考