news 2026/11/6 6:31:10

一条脚本搞定 Windows 10/11 介质制作、U 盘启动与就地升级:MediaCreationTool 完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一条脚本搞定 Windows 10/11 介质制作、U 盘启动与就地升级:MediaCreationTool 完整指南

一条脚本搞定 Windows 10/11 介质制作、U 盘启动与就地升级:MediaCreationTool 完整指南

【免费下载链接】MediaCreationTool.batUniversal MCT wrapper script for all Windows 10/11 versions from 1507 to 21H2!项目地址: https://gitcode.com/gh_mirrors/me/MediaCreationTool.bat

MediaCreationTool.bat 是一款纯批处理封装脚本,为微软官方 MCT 预配置好 products.xml 后启动对应版本的 MCT,覆盖 Windows 10/11 介质制作、U 盘启动盘与就地升级三件事,全程只用微软官方服务器上的文件,不捆绑第三方工具。适合做虚拟机镜像、物理装机,以及需要跨版本升级保留文件的场景。

拿到脚本后先做这几件事

  1. 克隆仓库并进入目录:

    git clone https://gitcode.com/gh_mirrors/me/MediaCreationTool.bat
  2. 双击根目录下的MediaCreationTool.bat。脚本会自己弹窗请求管理员权限,不需要右键"以管理员身份运行"。

  3. 依次过两个选择框:先选 MCT 版本线(从 1507 到 11 23H2,默认最新),再选预设(默认第 4 项 Select)。

  4. 等 MCT 窗口完成下载与制作即可,期间脚本会自动最小化。判断成功的标准:Auto ISO 完成后,ISO 出现在脚本所在目录;如果从压缩包里直接运行,输出位置是C:\ESD。

你想做哪件事?对着选

想给虚拟机做安装 ISO?选 Auto ISO

预设 2。脚本自动检测当前系统版本、语言与架构,直接在当前目录生成 ISO,全程不用你在 MCT 图形界面里点选。想覆盖默认值,把版本名、语言、架构写进脚本名即可(如Education、en-US、x86)。

想做物理启动 U 盘?选 Auto USB

预设 3。出于数据安全,这一步刻意不做全自动——目标盘必须在 MCT 界面里手动确认,避免误格式化。U 盘容量至少 8GB,制作前先把盘里数据备一份。

想升级本机又保住文件?选 Auto Upgrade

预设 1。MCT 按检测到的系统版本创建介质,脚本再辅助 setupprep 完成就地升级,跨版本、跨版本线时尽量保留文件与已装应用(详见下文"跨版本升级怎么保住文件")。

想要 Enterprise / Education 这类商业版本?

MCT 默认界面往往不显示商业版条目,而脚本会解锁 products.xml 里的这些版本,在 GUI 里直接可选,配合语言与 x86 / x64 / 双架构自由组合。

要一份未经修改的纯净官方介质?选 MCT Defaults

预设 5,或在脚本名里加def。脚本只把 products.xml 传给 MCT 就退出,不向介质写入任何附加内容。

最后提醒边界:支持的最早版本线是 1507,Windows 7 / Windows 8 只能作为升级的"源系统",不能为它们制作安装介质。

改个文件名,全程不用管它

参数既可以写进脚本文件名,也可以作为命令行参数传入,两种形式完全等价。常用的有:

  • 版本号(1909、21H2、23H2…):锁定 MCT 版本线
  • auto:免交互就地升级;默认目标是 Win11,升 Win10 需同时给出版本号
  • iso:免交互制作 ISO
  • 版本名(Home/Pro/Education/Enterprise…):覆盖自动检测到的版本
  • 语言代码(en-US、zh-CN…):覆盖自动检测到的语言
  • x86/x64:覆盖自动检测到的架构
  • no_update:关闭安装过程中的动态更新(Dynamic Update),升级排障常用
  • def:不写入任何附加文件,生成未修改的 MCT 介质
  • hide:等待 MCT 期间完全隐藏脚本窗口(默认行为是最小化)
  • 5×5 格式产品密钥:直接嵌入介质

三个可直接照抄的命名示例:

21H1 Education en-US x86 iso MediaCreationTool.bat

用 21H1 的 MCT 制作 Education 版、en-US 语言、x86 架构的 ISO,全程无交互。

auto 21H2 MediaCreationTool.bat

用 21H2 的 MCT 对当前系统做完全无人值守的就地升级。

no_update 21H2 MediaCreationTool.bat

21H2 升级,但关闭动态更新,减少安装过程中的额外下载。

跨版本升级怎么保住文件

把脚本改名为auto MediaCreationTool.bat即可无人值守执行升级。写入介质的 auto.cmd(也会同时放在介质根目录,日后可随时再运行)按下面 4 步工作:

  1. 读取install.esd中实际可用的版本,挑选与当前系统匹配的索引;找不到精确匹配时选一个兼容项,以保证文件保留。
  2. 修改注册表EditionID使其与介质匹配,修改前备份为EditionID_undo,可以回退。
  3. 在 Windows 11 上尝试跳过升级检查(可用脚本变量关闭这个行为)。
  4. 套用一组问题最少的升级选项:迁移全部驱动、关闭遥测与 Compact OS 等。

能作为源系统的范围比普通场景广得多:Ultimate、PosReady、Embedded、LTSC、Enterprise Eval 等都能就地升级。举个例子,从 LTSC 2019 用商业介质升级时,auto.cmd 会选 Enterprise 索引并把EditionID改写成 Enterprise;若想同时切换目标版本,在脚本名里加入版本名(如ProfessionalWorkstation)即可,升级后版本改变而文件与应用保留。

边界要记牢:Windows 7 可以就地升到 Windows 10,但不会直升 Windows 11。

⚠️ 就地升级属于高风险操作,执行前请先备份重要数据。注册表改动可回退,但文件层面的结果无法撤销。

老机器过不了 Win11 检查

按你手头的场景走对应路径,每条都有回退方式:

  • 从介质全新安装:预设 1–4 制作的 11 介质默认给boot.wim里的winsetup.dll打补丁,移除安装检查。不想要补丁就用def或 MCT Defaults 生成介质。
  • 就地升级:auto.cmd 用/Product Server技巧跳过检查。副作用是系统会显示 "Windows Server" 标签,仓库说明建议直接忽略。
  • 走 Windows Update 或已挂载 ISO:运行 bypass11/Skip_TPM_Check_on_Dynamic_Update.cmd 一次完成安装,再运行一次即卸载移除,自带 undo。
  • 手里已有 11 ISO / ESD / WIM:用 bypass11/Quick_11_iso_esd_wim_TPM_toggle.bat(右键发送到菜单),无需挂载;运行一次切换为 Server 跳过检查,对同一文件再运行一次切回 Client 并恢复文件哈希。

两点补充:直接运行介质里的setup.exe能否绕过检查"目前没有保证"(当前版本大概率有效),可靠路径是 auto.cmd。另外,Windows 11 Home 的离线本地账户场景,预设 1–4 的介质已通过 bypass11/AutoUnattend.xml(OOBE\BypassNRO,放入 boot.wim)恢复了"我没有互联网"选项;如果 OOBE 已经联网,可尝试邮箱a、密码a切回本地账户。

⚠️ 绕过 TPM/CPU 检查属于修改系统安全机制,建议仅在自有设备上使用,不需要时再运行对应脚本移除。更多细节见 bypass11/readme.md。

往介质里塞自己的东西

预设 1–4 创建介质时,默认会自动写入 4 个文件:

  • 介质根目录的auto.cmd:日后随时触发自动升级
  • sources\PID.txt:开机或进系统后预选版本
  • sources\EI.cfg:Windows 11 消费者版介质不再弹出产品密钥提示
  • boot.wim内的AutoUnattend.xml:仅 11 Home 生效,启用本地账户

想加自己的驱动程序、配置或安装后脚本,把文件放进脚本同目录的$ISO$文件夹,脚本会将其内容复制到介质根目录。注意目录变化:旧版$OEM$用户现在要放到$ISO$\sources\$OEM$\。需要在登录前执行的脚本,挂在$ISO$\sources\$OEM$\$$\Setup\Scripts\setupcomplete.cmd或OOBE.cmd。如果消费者版介质 setup 仍然索要密钥,可手动在media\sources下添加内容为[Channel]加_Default的EI.cfg,零售或 GVLK 密钥可在media\sources\product.ini中查到。

遇到这些情况怎么办

双击脚本无反应或报错?多半是早期版本在特殊路径下的启动问题(新版已修复),或误以为要右键管理员。用最新稳定版直接双击即可,脚本会自行提权。

升级过程中失败?最可能是网络波动或动态更新环节出错。脚本名加上no_update重试,减少安装中的额外下载。

下载速度慢或中断?文件全部来自微软官方服务器,受网络影响正常。错峰重试、检查代理设置;不要替换为来路不明的镜像。

界面显示乱码?系统代码页问题,功能通常不受影响,可以继续操作。

升级后系统名显示 "Windows Server"?这是/Product Server绕过技巧的副作用,按仓库说明忽略即可,不影响使用。

制作完成的 U 盘无法启动?通常选错目标盘、容量不足或被其他程序占用。Auto USB 必须手动确认目标盘;容量至少 8GB,制作前备份 U 盘数据并关闭占用程序。


最后给几条收尾建议:

  • 制作完成后,先在虚拟机里启动一次介质,验证可引导、版本与语言符合预期;
  • 企业批量场景:用auto命名固定升级路径,在$ISO$中统一放置驱动与配置脚本,逐机执行;
  • 使用了 bypass11 目录中的绕过脚本后,确认不再需要时再次运行进行移除;
  • 脚本内置的版本线随微软发布节奏更新(当前稳定版更新于 2023-11-29,覆盖到 11 23H2),实际可用版本以仓库内MediaCreationTool.bat的最新说明为准。

【免费下载链接】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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/6 6:16:13

懂个锤子Vue 自定义指定、插槽:

Vue自定义指定、插槽🛠️: 前言:当然既然学习框架的了,HTMLCSSJS三件套必须的就不说了: JavaScript 快速入门 紧跟前文,目标学习Vue2.0——3.0: 懂个锤子Vue、WebPack5.0、WebPack高级进阶 涉…

作者头像 李华
网站建设 2026/11/6 6:13:20

FSoE与黑通道:功能安全通信原理及工程实践全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/11/6 6:12:32

ESP32-CAM图像传输实战:从硬件接线到固件配置与排障

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/11/6 6:12:16

FOC不是高级PID:PMSM无感矢量控制原理与实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/11/6 6:10:40

正余弦采样中的相位对齐陷阱与8 LSB台阶抑制

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华