一步到位:用Windows系统安装工具脚本把老电脑平稳升级到Windows 11
【免费下载链接】MediaCreationTool.batUniversal MCT wrapper script for all Windows 10/11 versions from 1507 to 21H2!项目地址: https://gitcode.com/gh_mirrors/me/MediaCreationTool.bat
去年秋天,单位财务室那台用了八年的台式机,在微软官网的"电脑健康状况检查"里被判了"死刑":CPU 不在支持列表,也没有 TPM 2.0 模块。可这台机器承担着整套报销流程,换掉它要牵动一堆财务软件的迁移。那段时间我试过各种办法,最终让我脱困的,不是任何收费工具,而是一个开源批处理脚本——MediaCreationTool.bat。它是一个完全基于微软官方组件、却比官方安装工具灵活得多的Windows系统安装工具,也是我这次想认真讲给你听的主角。
它本质上是"官方工具的遥控器"
先破除一个误解:这个脚本不下载任何第三方安装包,也不修改系统文件来"硬装"系统。它的源码注释里写得很直白——"脚本只是替你配置一个 xml 然后启动 MCT"。
微软官方的 Media Creation Tool(MCT)有一个特性:不同版本的 Windows,官方提供的 MCT 下载链接各不相同,而且 MCT 在生成安装介质时,会从一个products.xml配置目录里读取可选版本、语言和架构信息。MediaCreationTool.bat 做的事,就是把这一整套流程替你包好:
- 内置从 Windows 10 1507 到 Windows 11 23H2 的全部官方下载链接,随年份持续更新;
- 自动下载微软官方的 MCT 程序和 products 配置,按你的需要改写配置后再启动;
- 全程只访问 Microsoft 官方域名,不掺任何第三方组件,来源清晰可追溯。
换句话说,它把"自己去官网翻版本、逐个下载工具、反复试错"的体力活,压缩成了一个双击即可运行的批处理文件。
双击之后,五个预设任你挑
脚本启动后会先检测当前系统的版本、语言、架构和版本类型,然后弹出一个蓝色控制台菜单,里面是五个预设:
- Auto Upgrade:自动升级当前系统,升级时尽量保留文件和已装软件;
- Auto ISO:在当前目录直接生成 ISO 镜像文件;
- Auto USB:把安装介质写入指定的 U 盘;
- Select:让你自己选版本、语言和架构(x86 / x64 / 双架构);
- MCT Defaults:完全按官方默认行为运行,生成的介质不做任何改动。
前四个预设会在生成的安装介质里额外放入几个小文件,用来实现"免密钥提示""自动选择版本""升级时跳过 TPM 检查"这些增强能力。如果你想要一份干干净净的原版介质,选第 5 个,或者用def参数即可。
把文件名改一改,命令就写好了
这个脚本最有趣的设计是:你不需要学命令行参数,改文件名就行。脚本会解析自己的文件名和命令行参数,识别出你的意图。
比如,你想让一台 Windows 10 直接升级到 21H2 的专业版,并保留所有文件和应用,只需把脚本改名为:
auto 21H2 Pro MediaCreationTool.bat
想生成一个英文教育版 x86 的 21H1 ISO?改名为:
21H1 Education en-US x86 iso MediaCreationTool.bat
其他可用的关键词还包括:def(生成未修改的原版介质)、no_update(关闭动态更新,排查升级失败时很有用)、直接写版本号(如1909、23H2),甚至可以直接把 VL/MAK/零售密钥写进文件名。这样哪怕是不懂命令行的同事,把文件改名后双击,也能完成标准化的升级操作。
升级想保留文件和软件?它靠"改注册表"曲线救国
升级系统最让人头疼的,不是下载慢,而是"版本对不上"。比如公司用的是企业版 LTSC 2019,可安装介质里只有普通企业版索引,微软的升级程序往往直接拒绝保留文件。
auto.cmd(Auto Upgrade 预设背后生成的脚本)解决这个问题的思路很有意思:它先读取install.esd里的所有可用版本索引,挑一个最匹配的,然后临时修改注册表里的 EditionID(原值备份为EditionID_undo,升级完会还原),让系统"以为"自己就是目标版本,从而顺利走完保留文件和应用的升级流程。
脚本的说明文档里给了一个很典型的例子:Windows 7 Ultimate 或 PosReady 想升级到 Windows 10,用消费版介质时它会自动选择 Professional 索引,并把 EditionID 改成 Professional 或 Enterprise。所以就算你手头有一堆版本混杂的旧机器,只要统一用auto 21H2 Pro MediaCreationTool.bat这个名字,就能批量完成"全部升到 10 的专业版"这件事。
Windows 11 的三道坎,它分别给了答案
如果你升级的目标是 Windows 11,通常还会撞上三道坎,这个脚本也都准备了对应解法:
- TPM / CPU 硬件检查:这是最出名的一道坎。从媒体启动全新安装时,脚本会通过补丁 boot.wim 里的 winsetup.dll 移除安装检查;在系统内升级时,则用
auto.cmd的/Product Server技巧跳过检查。另外,bypass11文件夹里还有一个Skip_TPM_Check_on_Dynamic_Update.cmd,可以让你在"不支持"的电脑上直接从 Windows Update 收到 Windows 11 的升级推送,并且自带一键撤销功能。 - 产品密钥提示:Windows 11 的消费版介质在安装时可能反复要密钥,脚本会在介质里写入
EI.cfg,让安装过程直接跳过这一步。 - 强制联网登录:微软在 OOBE 阶段引导用户登录微软账户,脚本通过
AutoUnattend.xml重新打开了"我没有 Internet 连接"这个本地账户选项,离线也能完成安装。
如果你手上已经有一个现成的 Windows 11 ISO 或 WIM 镜像,不想重新下载,bypass11里的Quick_11_iso_esd_wim_TPM_toggle.bat可以直接对已有镜像文件做切换:运行一次切到跳过检查的状态,再运行一次又恢复原样,不需要挂载或解压镜像,非常轻量。
几个我踩过的坑,提前替你排掉
- 想要原版介质,务必加
def:不加def时,脚本会在介质里放入auto.cmd、PID.txt、EI.cfg等增强文件,介质的启动逻辑会有所改变。 - 自定义内容要放进
$ISO$目录:以前放在$OEM$里的内容,现在要改放到$ISO$\sources\$OEM$\,脚本会把$ISO$文件夹整体写入介质根部。 - U 盘写入不会全自动:出于数据安全考虑,脚本不会自动选中某个 U 盘,必须你在界面里手动确认,防止写错盘。
- Windows 11 没有 32 位版本:脚本会自动把 11 的架构锁定为 x64,别在文件名里写
x86期待能生成 11 的 32 位镜像。 - 升级时看到"Windows Server"字样别慌:那是绕过硬件检查的
/Product Server技巧带来的副作用,属于正常现象。 - 运行权限:脚本会自动请求管理员权限,不需要你右键"以管理员身份运行";但如果系统弹窗被拦截,记得放行。
拿到脚本后,建议先试这三件事
如果你也想试试这个 Windows系统安装工具,获取方式很简单,把仓库克隆下来即可:
git clone https://gitcode.com/gh_mirrors/me/MediaCreationTool.bat
拿到手后,我建议你先做三件低成本的事:先改名成def MediaCreationTool.bat双击一次,看看原版流程长什么样;再用iso 20H2 MediaCreationTool.bat生成一个 ISO 练手;最后拿一台闲置机器,用auto 21H2 Pro的命名跑一次升级。三步走完,你基本就摸清它的脾气了。
这个脚本最让我欣赏的一点,是它对"官方来源"的坚持——所有下载链接都来自微软官方,它只负责把这些官方组件组合得更聪明。这既是安全性的保证,也意味着它必须跟随 Windows 版本的迭代持续更新。如果你打算长期使用,建议时不时拉取最新版本,关注维护者的更新记录,毕竟每次 Windows 发布新版本,绕过方式和版本清单都可能随之变化。
【免费下载链接】MediaCreationTool.batUniversal MCT wrapper script for all Windows 10/11 versions from 1507 to 21H2!项目地址: https://gitcode.com/gh_mirrors/me/MediaCreationTool.bat
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考