tiny11builder 报 oscdimg.exe not found?30 秒自检 + 三条修复路径,一次搞定
【免费下载链接】tiny11builderScripts to build a trimmed-down Windows 11 image.项目地址: https://gitcode.com/GitHub_Trending/ti/tiny11builder
故障现场:tiny11builder 最后一步报 oscdimg.exe not found
用 tiny11builder 精简 Windows 11 镜像,构建走到最后打 ISO 那一步报错:
The term "C:\Program Files (x86)\Windows Kits\10...\Oscdimg\oscdimg.exe" is not recognized as the name of a cmdlet, function, script file, or operable program.
或:
Failed to download oscdimg.exe.
两条报错指向同一根因:脚本按固定路径找不到可用的 oscdimg.exe(见 tiny11maker.ps1 中 "Creating ISO image..." 之后那段逻辑)。
30秒自检:对号入座
| 症状特征 | 可能原因 | 对应修复路径锚点 |
|---|---|---|
报oscdimg.exe is not recognized,机器装过 ADK | ADK 没装部署工具,目录存在但缺 exe | 路径 1 |
卡在Downloading oscdimg.exe...后报Failed to download | 连不上微软下载源 msdl.microsoft.com | 路径 3 |
提示oscdimg.exe already exists locally.随后执行失败 | 上次下载中断,残留残缺文件 | 路径 1(先删旧文件) |
| arm64 机器反复构建失败 | 脚本按 ARM64 找 ADK 目录,该目录常缺失 | 路径 1 |
修复路径:oscdimg.exe 怎么补
脚本的查找顺序是写死的:先查 ADK 部署工具目录,找不到就读脚本同目录的oscdimg.exe,还没有才从微软符号服务器自动下载。理解这个顺序,下面三条路径就从简单到彻底依次对应它的三个分支。
路径1:手动放置 oscdimg.exe 到脚本目录(适用:只想先把 ISO 构建出来,不想装 ADK)
最省事的一条:把工具放到脚本旁边,直接命中脚本的本地回退分支,任何机器 1 分钟搞定。
# 在 tiny11builder 脚本所在目录执行(与 tiny11maker.ps1 同级) Invoke-WebRequest "https://msdl.microsoft.com/download/symbols/oscdimg.exe/3D44737265000/oscdimg.exe" -OutFile .\oscdimg.exe -UseBasicParsing⚠️ 若目录里已有上次中断留下的残缺 oscdimg.exe,脚本会提示 "already exists locally." 并直接拿它跑、再次失败——先删掉旧文件再执行上面命令。
预期结果:重跑脚本看到 "oscdimg.exe already exists locally.",随后在脚本目录正常生成 tiny11.iso。
路径2:补装 Windows ADK 部署工具(适用:长期构建环境,让脚本自动命中 ADK 路径)
适合会反复构建镜像的机器,装一次后脚本每次优先走系统 ADK,不再依赖下载。
从微软官网下载 Windows ADK 安装包,安装时务必勾选Deployment Tools(部署工具),装完用这条命令确认它落在脚本查找的位置:
Get-ChildItem "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit" -Recurse -Filter oscdimg.exe⚠️ 脚本按机器实际架构(PROCESSOR_ARCHITECTURE)拼路径,x64 机器对应AMD64目录;arm64 机器若 ADK 只装了 amd64 部署工具,这条命令会查不到,那就退回路径 1。
预期结果:命令返回...\Deployment Tools\AMD64\Oscdimg\oscdimg.exe,之后每次运行脚本都会优先打印 "Will be using oscdimg.exe from system ADK."。
路径3:修复自动下载失败(适用:卡在 Downloading 后报 Failed to download oscdimg.exe)
只针对"没装 ADK 且自动下载这一步挂了"的场景,先单独测下载源连通性:
Invoke-WebRequest "https://msdl.microsoft.com" -UseBasicParsing -TimeoutSec 10 | Select-Object StatusCode预期结果:返回StatusCode 200说明网络可达,直接重跑脚本即可;连不通就换网络或代理,也可以从能上网的机器下载同名文件拷到脚本目录(等效于退回路径 1)。
回归验证:修完怎么确认
先单点验证工具本身能被 PowerShell 正常调用:
.\oscdimg.exe✅ 应打印出 oscdimg 的 usage 用法文本,而不是 not recognized。再按 README.md 的启动方式完整构建一次:
Set-ExecutionPolicy Bypass -Scope Process .\tiny11maker.ps1 -ISO E -SCRATCH D✅ 脚本目录出现数 GB 大小的 tiny11.iso,修复完成。❌ 若仍报 not found,回到上面的 30 秒自检表确认你命中的是哪一行,别在错误的分支上重复尝试。
避坑清单
- ADK 已装但仍 not found:装 ADK 时漏勾部署工具 → 重装并勾选 Deployment Tools
- already exists locally 后失败:残留 0 字节或残缺 exe → 删掉旧文件重新下载
- 下载后文件秒没:杀软/Defender 隔离了 exe → 隔离区还原并加白名单
- arm64 机器反复失败:脚本按机器架构找 ADK 目录 → 直接走路径 1 放文件
- PowerShell 拒绝运行脚本:执行策略为 Restricted → 先跑
Set-ExecutionPolicy Bypass -Scope Process
【免费下载链接】tiny11builderScripts to build a trimmed-down Windows 11 image.项目地址: https://gitcode.com/GitHub_Trending/ti/tiny11builder
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考