创建包含自定义驱动的Windows安装介质:MediaCreationTool.bat与$OEM$文件夹完全指南...

创建包含自定义驱动的Windows安装介质:MediaCreationTool.bat与$OEM$文件夹完全指南

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

引言:告别驱动缺失的安装噩梦

你是否曾经历过Windows安装完成后却发现关键硬件无法工作的窘境?根据微软官方文档统计,约34%的系统部署失败源于驱动程序问题。对于企业IT管理员、系统集成商或技术爱好者而言,每次手动安装驱动不仅耗时(平均需30-60分钟/设备),还可能因驱动版本不匹配导致兼容性问题。本文将详细介绍如何利用MediaCreationTool.bat与$OEM$文件夹技术,构建集成自定义驱动的Windows安装介质,实现"插入即安装,重启即使用"的无缝体验。

读完本文后,你将掌握:

  • $OEM$文件夹的文件结构与工作原理
  • MediaCreationTool.bat的高级配置技巧
  • 驱动集成的完整步骤(含单驱动与驱动包处理)
  • 自动化安装配置(AutoUnattend.xml)
  • 多版本Windows驱动分离方案
  • 常见问题排查与验证方法

技术背景:Windows部署自动化的核心组件

MediaCreationTool.bat概述

MediaCreationTool.bat是一款功能强大的Windows安装介质创建脚本,支持从Windows 10 1507到Windows 11 23H2的所有版本。与微软官方工具相比,它提供了更多高级功能:

:: 核心功能示例(来自MediaCreationTool.bat源码)
set OPTIONS=%OPTIONS% /Compat IgnoreWarning /MigrateDrivers All 
set OPTIONS=%OPTIONS% /ResizeRecoveryPartition Disable /ShowOOBE None

该脚本通过修改Windows安装程序(setup.exe)的参数,实现了驱动自动迁移、恢复分区调整等高级功能。特别值得注意的是,它原生支持$ISO$目录内容的自动集成,这为驱动打包提供了关键入口。

$OEM$文件夹技术原理

$OEM$文件夹是Windows部署工具包(Windows ADK)中定义的标准化结构,允许在安装过程中自动复制文件到目标系统。其核心工作流程如下:

mermaid

准备工作:环境与工具要求

硬件与软件要求

项目最低要求推荐配置
操作系统Windows 7 SP1及以上Windows 10/11专业版
内存4GB8GB及以上
存储空间至少16GB可用空间32GB SSD
工具7-Zip、记事本++ADK 10.1.22621.1
网络互联网连接稳定宽带连接

必备工具下载

  1. MediaCreationTool.bat

    git clone https://gitcode.com/gh_mirrors/me/MediaCreationTool.bat
    
  2. Windows ADK(仅需要"部署工具"组件)

    • 下载地址:https://learn.microsoft.com/zh-cn/windows-hardware/get-started/adk-install
  3. 驱动收集工具

    • Double Driver(免费版)
    • DriverMax(个人版)

实战指南:构建包含自定义驱动的安装介质

步骤1:创建标准$OEM$文件夹结构

首先在工作目录创建以下目录结构(严格区分大小写):

$ISO$
└── sources
    └── $OEM$
        ├── $$
        │   ├── Drivers          # 系统级驱动存放位置
        │   │   ├── Audio        # 音频驱动
        │   │   ├── Chipset      # 芯片组驱动
        │   │   ├── Network      # 网络驱动
        │   │   └── Video        # 显卡驱动
        │   └── Setup
        │       └── Scripts
        │           └── setupcomplete.cmd  # 安装后执行脚本
        └── OneDrive
            └── Setup.exe        # 可选:OneDrive企业版安装程序

创建命令:

mkdir -p $ISO$/sources/$OEM$/$$/Drivers/{Audio,Chipset,Network,Video}
mkdir -p $ISO$/sources/$OEM$/$$/Setup/Scripts
touch $ISO$/sources/$OEM$/$$/Setup/Scripts/setupcomplete.cmd

步骤2:收集与整理驱动程序

方法A:从现有系统提取驱动

使用Double Driver收集驱动:

  1. 启动软件后点击"Backup"
  2. 选择"Scan Current System"
  3. 勾选需要备份的驱动类别(建议全选)
  4. 设置输出路径为$ISO$/sources/$OEM$/$$/Drivers
  5. 选择"Structured Folder"格式导出
方法B:手动下载厂商驱动

对于戴尔、惠普等品牌机,建议直接从官方网站下载驱动包:

# 示例:戴尔Latitude 7420驱动下载(PowerShell)
$model = "Latitude 7420"
$os = "Windows 11"
Start-Process "https://www.dell.com/support/home/cn/zh/cnbsd1/product-support/servicetag/XXX/drivers"

步骤3:配置MediaCreationTool.bat

MediaCreationTool.bat提供了多种参数用于定制安装介质。为确保$OEM$文件夹被正确集成,需要修改以下配置:

  1. 打开MediaCreationTool.bat,找到并确保以下行未被注释:
::# uncomment to not add EI.cfg PID.txt auto.cmd $ISO$ dir content - or rename script:  "def MediaCreationTool.bat"
::rem set /a DEF=1

关键说明:DEF参数控制是否禁用自定义文件集成,必须确保其处于注释状态(即保留默认行为)

  1. 设置Windows版本和架构:
::# uncomment to skip GUI dialog for MCT choice: 1507 to 11 23H2 - or rename script: "23H2 MediaCreationTool.bat"
set MCT=11_23H2

::# uncomment and change autodetected MediaArch - or rename script:  "x64 iso 1909 Education MediaCreationTool.bat"
set ARCH=x64

步骤4:生成集成驱动的ISO文件

执行以下命令创建包含自定义驱动的Windows安装ISO:

.\MediaCreationTool.bat iso

脚本将自动完成以下操作:

  • 下载指定版本的Windows安装文件
  • 集成$ISO$文件夹中的自定义内容(包括驱动)
  • 创建可启动ISO文件(保存在当前目录)

过程日志示例:

Downloading Windows 11 23H2...
Validating download... OK
Integrating $ISO$ content...
- Added 15 driver packages
- Added setupcomplete.cmd
Creating ISO image...
Media created successfully: Win11_23H2_Chinese(Simplified)_x64.iso

步骤5:验证驱动集成

创建完成后,建议通过以下方法验证驱动是否已正确集成:

  1. 使用7-Zip打开生成的ISO文件
  2. 导航至sources\$OEM$\$$\Drivers
  3. 确认驱动文件数量与大小是否匹配预期

高级配置:自动化与定制化

setupcomplete.cmd脚本编写

setupcomplete.cmd将在Windows安装完成后自动执行,可用于驱动安装后的额外配置:

@echo off
:: 安装特定驱动(如有需要)
pnputil /add-driver "%windir%\Drivers\Chipset\*.inf" /install

:: 禁用自动驱动更新
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Device Installation" /v "DisableAutomaticDriverDownload" /t REG_DWORD /d 1 /f

:: 注册系统恢复点
wmic.exe /Namespace:\\root\default Path SystemRestore Call CreateRestorePoint "Driver Integration", 100, 7

:: 清理临时文件
rmdir /s /q "%windir%\Drivers\Temp"

AutoUnattend.xml驱动配置

结合AutoUnattend.xml可以实现更精细的驱动安装控制:

<settings pass="offlineServicing">
  <component name="Microsoft-Windows-PnpCustomizationsNonWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <DriverPaths>
      <PathAndCredentials wcm:action="add" wcm:keyValue="1">
        <Path>%windir%\Drivers</Path>
      </PathAndCredentials>
    </DriverPaths>
  </component>
</settings>

多版本驱动分离方案

对于需要支持多种硬件配置的场景,可使用以下目录结构实现驱动分离:

Drivers
├── Intel
│   ├── 10thGen
│   └── 12thGen
├── AMD
│   ├── Ryzen5000
│   └── Ryzen7000
└── Common
    ├── Network
    └── Audio

配合setupcomplete.cmd中的硬件检测逻辑:

:: 检测CPU型号并安装对应驱动
for /f "tokens=3 delims= " %%a in ('reg query "HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\0" /v "ProcessorNameString" ^| findstr /i "ProcessorNameString"') do (
    set "cpu=%%a"
)

if "%cpu%"=="Intel(R)" (
    if exist "%windir%\Drivers\Intel\12thGen" (
        pnputil /add-driver "%windir%\Drivers\Intel\12thGen\*.inf" /install
    )
)

故障排除:常见问题与解决方案

驱动未被自动安装

可能原因解决方案
驱动文件不完整检查.inf文件是否存在,确保驱动包完整
驱动与Windows版本不匹配在$OEM$文件夹中按系统版本组织驱动(如Drivers\Win11)
数字签名问题使用DSEO工具为驱动签名,或在BIOS中禁用Secure Boot
硬件ID不匹配用Device Manager查看硬件ID,与.inf文件比对

MediaCreationTool.bat运行错误

若遇到"无法找到$ISO$目录"错误:

  1. 确认当前工作目录正确:

    echo %CD%
    :: 应显示MediaCreationTool.bat所在目录
    
  2. 验证文件夹名称拼写:

    dir /ad | findstr /i "$ISO$"
    :: 应显示$ISO$目录
    

安装介质无法启动

  1. 检查ISO文件完整性:

    certutil -hashfile Win11_23H2.iso SHA256
    :: 与官方提供的哈希值比对
    
  2. 验证USB设备:

    diskpart
    list disk
    select disk X (X为USB设备编号)
    clean
    create partition primary
    format fs=fat32 quick
    active
    exit
    

企业级应用:大规模部署优化

驱动存储优化

对于企业环境,可采用WIM文件压缩驱动以减少存储空间占用:

:: 将驱动文件夹捕获为WIM文件
dism /Capture-Image /ImageFile:Drivers.wim /CaptureDir:$ISO$/sources/$OEM$/$$/Drivers /Name:"Custom Drivers" /Compress:max

:: 应用WIM文件到目标位置
dism /Apply-Image /ImageFile:Drivers.wim /Index:1 /ApplyDir:$ISO$/sources/$OEM$/$$/Drivers

网络驱动优先加载

为确保部署后系统能立即连接网络,可在AutoUnattend.xml中配置网络驱动优先安装:

<settings pass="windowsPE">
  <component name="Microsoft-Windows-PnpCustomizationsWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
    <DriverPaths>
      <PathAndCredentials wcm:action="add" wcm:keyValue="1">
        <Path>%windir%\Drivers\Network</Path>
      </PathAndCredentials>
    </DriverPaths>
  </component>
</settings>

总结与展望

通过MediaCreationTool.bat与$OEM$文件夹的组合,我们实现了Windows安装介质的高度定制化,解决了传统部署中驱动缺失的痛点。这种方法不仅适用于个人用户,经过适当扩展后也可满足企业级部署需求。

随着Windows 12的即将发布,建议关注以下发展方向:

  • MSIX打包驱动的支持情况
  • 云驱动部署技术的应用
  • AI驱动的硬件检测与驱动匹配

扩展资源

官方文档

  • Microsoft Docs: $OEM$文件夹参考 https://learn.microsoft.com/zh-cn/windows-hardware/manufacture/desktop/oem-deployment-of-windows-desktop-editions

  • MediaCreationTool.bat官方指南 https://gitcode.com/gh_mirrors/me/MediaCreationTool.bat

工具下载

  • Windows ADK: https://learn.microsoft.com/zh-cn/windows-hardware/get-started/adk-install
  • Double Driver: https://www.doubledriver.com/
  • Rufus(USB启动盘制作): https://rufus.ie/zh/

社区支持

  • 微软TechNet论坛: https://social.technet.microsoft.com/Forums/zh-CN/home
  • MSDN驱动开发社区: https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/home?forum=wdk

希望本文能帮助你构建高效、可靠的Windows安装介质。如果觉得本指南有用,请点赞、收藏并关注作者,获取更多系统部署技巧!

下一篇预告:《使用MDT实现基于网络的大规模驱动部署》

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

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值