用 PowerShell 脚本 30 分钟构建精简 Windows 11:tiny11builder 完整上手指南
【免费下载链接】tiny11builderScripts to build a trimmed-down Windows 11 image.项目地址: https://gitcode.com/GitHub_Trending/ti/tiny11builder
tiny11builder 是一套纯 PowerShell 脚本,把官方 Windows 11 安装镜像自动裁剪成体积更小的精简 ISO,支持任意版本、语言和架构。本文写给想给老机器装 Win11、或需要干净虚拟机镜像的用户,从选型、构建到排错,一条命令一条命令带你跑完整个流程。
两分钟选型:tiny11maker 还是 tiny11Coremaker?
打开仓库你会发现只有 4 个文件,其中两个脚本决定一切。选错脚本,后面全白干,所以先花两分钟看清楚区别:
| 对比项 | tiny11maker.ps1 | tiny11Coremaker.ps1 |
|---|---|---|
| 定位 | 日常可用,保留可维护性 | 极限裁剪,快速测试 |
| 装好系统后能否更新 | 能 | 不能(更新机制被移除) |
| 能否后补语言包/功能 | 能 | 不能 |
| 额外移除 | — | WinSxS 组件库、WinRE、Windows Update |
| 适用场景 | 主力机、办公机 | 虚拟机、开发测试环境 |
注意:tiny11Coremaker 在裁剪时会把 Windows 组件库(WinSxS,系统用来安装更新和功能的零件库)整个删掉。这意味着系统一旦生成就无法打补丁,只适合"用完即弃"的场景。
结论很简单:日常使用选 tiny11maker,只有明确只当测试机时才碰 tiny11Coremaker。下文以 tiny11maker 为主线讲解。
构建前备齐三样东西
1. 下载并挂载官方 ISO
从微软官网拿到 Windows 11 原版 ISO(家庭版、专业版镜像均可),在文件资源管理器里右键选择"挂载",系统会分配一个虚拟盘符,比如 E:。
2. 准备一块足够大的临时磁盘
构建过程中脚本会把镜像文件复制、挂载、重组,临时文件很大。给脚本指定一块至少 15GB 空闲空间的盘作为 SCRATCH(暂存盘)。嫌麻烦可以跳过参数,默认用脚本所在目录所在的盘。
3. 以管理员身份打开 PowerShell 5.1 并放行执行策略
Windows 默认可能禁止运行 .ps1 脚本。在管理员 PowerShell 里执行:
Set-ExecutionPolicy Bypass -Scope Process-Scope Process表示这条策略只对当前窗口生效,关掉窗口自动还原,不会污染系统全局设置。
小贴士:如果提示"无法加载文件…禁止运行脚本",说明执行策略还是 Restricted。上面的命令就是标准解法;脚本本身也内置了检测,遇到 Restricted 会交互式询问你是否改为 RemoteSigned。
构建命令逐行讲
git clone https://gitcode.com/GitHub_Trending/ti/tiny11builder先把仓库拉到本地,进入目录(下面用D:\tiny11builder举例)。然后运行:
.\tiny11maker.ps1 -ISO E -SCRATCH D逐个参数拆解:
-ISO E:挂载的 ISO 盘符,只写字母、不带冒号。脚本内部会校验格式,输错字母会直接提示重输。-SCRATCH D:暂存盘盘符,脚本会在D:\tiny11下放所有中间文件,结束后自动清理。- 两个参数可以换顺序,也可以写成位置参数,但顺序就必须是"先 ISO 后 SCRATCH"。
- 想看完整帮助文档:
Get-Help .\tiny11maker.ps1 -Full。
脚本启动后会自动做三件事,你只需要跟着终端提示走:
- 转换镜像格式:如果 ISO 里是 install.esd(官方默认的高压缩格式),脚本先列出镜像索引让你选择版本(家庭/专业/企业),然后转成 install.wim;
- 交互式选版本:输入镜像索引号(数字),选错没关系,脚本会循环让你重选;
- 收尾提示:完成后终端会显示 tiny11.iso 已生成在脚本目录,并自动清理暂存文件、弹出 ISO 盘。
整个过程会生成一份带时间戳的运行日志(tiny11_日期_时间.log),出问题翻日志比翻屏幕快得多。
脚本到底动了系统的什么
很多人不敢用裁剪脚本,是怕"不知道删了什么"。tiny11builder 全程只用微软自带工具(DISM + 注册表 + oscdimg),改动分四块,都能对应到 tiny11maker.ps1 里的代码段:
① 移除预装应用。用 DISM 列出镜像里所有 Provisioned Appx 包,按包名匹配后卸载,清单包括:Clipchamp、Xbox 全家桶、新闻、天气、Solitaire、People、Teams、Skype、OneNote、Cortana 相关的 GetHelp/GetStarted、OneDrive、Edge(连同 EdgeCore 和 WebView 运行时直接删目录)等。
② 注册表优化(通过reg load挂进镜像内修改):
- 写入
BypassTPMCheck、BypassSecureBootCheck、BypassCPUCheck等 LabConfig 值,绕过 TPM 2.0 / Secure Boot / CPU 白名单的装机拦截——老硬件能装 Win11 靠的就是这几行; ShippedWithReserves = 0关掉约 7GB 的预留存储空间;- 批量关闭 ContentDeliveryManager 下的推荐内容开关,禁用推送安装,压掉遥测(
AllowTelemetry = 0); - 禁用 Copilot、Teams 自动安装、Outlook 自动拉起。
③ 无人值守安装文件。仓库里的 autounattend.xml 会被拷进 ISO 根目录,作用是:OOBE 时隐藏在线账户界面(可以建本地账户)、阻止 Chat 自动安装、安装阶段用/compact压缩部署进一步省空间。
④ 恢复压缩打包。最后用 DISM 的 recovery 压缩级别重新导出 install.wim,再用 ADK 的 oscdimg.exe 打成可启动 ISO。这就是"体积更小"的直接来源——如果本机装了 Windows ADK 就用 ADK 里的 oscdimg,没装脚本会临时下载一份用完即删。
装完系统后验证效果
精简版装好并重启后,建议花 10 分钟做三件事确认系统健康:
- 空间:
C:\的占用应该明显低于原版安装,Windows 文件夹下没有 Xbox、Clipchamp 等目录; - 账户:OOBE 应直接进入本地账户创建,不需要强制绑定微软账户;
- 更新(仅 tiny11maker 构建的机器):打开"Windows 更新"确认能正常检查到更新——这是检验"可维护性"最直接的指标,能正常更新说明 WinSxS 组件库完整。
小贴士:已知小瑕疵包括设置里可能残留 Edge 入口、Winget 首次使用可能需要通过商店先更新一次、Outlook/Dev Home 偶发回潮。这些不影响使用,详见 README.md 的 Known issues 部分。
高频报错三则
"找不到 install.wim / install.esd,请检查盘符"90% 是盘符给错。用Get-Volume确认 ISO 实际挂载的盘符,只传字母不传冒号;如果是 Rufus 写好的 U 盘,盘符可能是 F 或 G,别照抄 E。
"磁盘空间不足"暂存盘不够。换一块空闲空间更大的盘重跑-SCRATCH参数;临时文件默认堆在暂存盘的\tiny11目录,上次构建异常中断时先手动清掉再重来。
"禁止运行脚本"回到第三节的执行策略命令。Bypass -Scope Process只对当前会话有效,换个窗口要重新执行;如果嫌麻烦可以用Set-ExecutionPolicy RemoteSigned -Scope CurrentUser,只对当前用户永久生效。
写在最后
回到开头那个问题:老机器跑不动 Win11,或者你想要一个干净利落的虚拟机镜像——克隆仓库、挂载 ISO、敲一条.\tiny11maker.ps1 -ISO E -SCRATCH D,剩下的交给脚本。日常主力机用 tiny11maker,测试环境才考虑 tiny11Coremaker,这一条选对了,后面就不会走弯路。
【免费下载链接】tiny11builderScripts to build a trimmed-down Windows 11 image.项目地址: https://gitcode.com/GitHub_Trending/ti/tiny11builder
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考