通过 DISM 命令注入驱动程序到 WIM 镜像的步骤如下:使用 $OEM$ 文件夹是一个简便的方式来在 Windows 安装过程中自动加载驱动程序。以下是详细步骤:通过网络路径安装驱动程序,并使用 Windows System Image Manager (WSIM) 添加“Credentials”节点,使用 PowerShell 脚本在 Windows 安装时自动添加驱动程序是一种有效的方法
通过 DISM 命令注入驱动程序到 WIM 镜像的步骤如下:
1. 挂载 WIM 镜像
使用以下命令挂载 WIM 镜像:
bashCopy Code
Dism /Mount-Wim /WimFile:install.wim /Index:2 /MountDir:mount
- /WimFile: 指定要挂载的 WIM 文件路径。
- /Index: 指定要挂载的映像索引(例如,
2
)。 - /MountDir: 指定挂载目录,所有更改将应用于该目录。
2. 删除之前安装的驱动
如果需要删除之前安装的驱动,可以使用以下命令:
bashCopy Code
Dism /Image:mount /Remove-Driver /Driver:OEM1.inf /Driver:OEM2.inf ... /Driver:OEM99.inf
- /Image: 指定已挂载的镜像目录。
- /Remove-Driver: 用于移除指定的驱动程序。
3. 注入驱动
使用以下命令将新的驱动程序注入到挂载的镜像中:
bashCopy Code
Dism /Image:mount /Add-Driver /Driver:C:\D /Recurse /ForceUnsigned
- /Add-Driver: 指定要添加的驱动程序。
- /Driver: 指定驱动程序的位置,这里是
C:\D
。 - /Recurse: 递归搜索子目录中的驱动程序。
- /ForceUnsigned: 强制安装未签名的驱动程序。
注意事项:
预安装 NVIDIA 显卡驱动时,如果遇到以下错误:
Copy Code
D:\Drivers\NVIDIADisplay_S20\Display.Driver\NVLW.INF: Error - An error occurred. The driver package could not be installed.
这通常是因为驱动程序文件没有解压。可通过以下步骤解决:
-
创建解压目录:
bashCopy Codemkdir expanded
-
解压驱动程序:
bashCopy Codeexpand NVIDIA\Display.Drivers\* expanded\
确保驱动程序文件已正确解压到 expanded
目录中。
如果仍然无法解决问题,可以查看日志文件以获取更多信息:
plaintextCopy Code
<MountFolder>\Windows\inf\setupapi.offline.log
4. 卸载镜像
完成驱动程序注入后,需要卸载镜像并提交更改:
bashCopy Code
Dism /Unmount-Wim /MountDir:mount /Commit
- /Unmount-Wim: 卸载挂载的 WIM 镜像。
- /MountDir: 指定挂载目录。
- /Commit: 提交对挂载镜像所做的更改。
以上是通过 DISM 命令注入驱动程序到 WIM 镜像的详细步骤和注意事项。
使用 PowerShell 脚本在 Windows 安装时自动添加驱动程序是一种有效的方法。以下是详细的步骤,指导您如何编写 PowerShell 脚本并在 SetupComplete.cmd
中调用它,以便在系统启动后自动运行。
步骤 1:编写 PowerShell 脚本
-
创建 PowerShell 脚本:
- 打开文本编辑器(如 Notepad)。
- 编写一个简单的 PowerShell 脚本,用于添加驱动程序。例如:
powershellCopy Code# 文件名:Add-Drivers.ps1 param ( [string]$DriverPath = "C:\Drivers" ) # 获取所有驱动程序文件 $drivers = Get-ChildItem -Path $DriverPath -Recurse -Include *.inf foreach ($driver in $drivers) { try { # 添加驱动程序 Add-WindowsDriver -Online -Driver $driver.FullName -Force Write-Host "Successfully added driver: $($driver.FullName)" } catch { Write-Host "Failed to add driver: $($driver.FullName) - $_" } }
-
保存脚本:
- 将该文件保存为
Add-Drivers.ps1
,并放置在一个合适的位置(例如C:\Drivers\
)。
- 将该文件保存为
步骤 2:创建 SetupComplete.cmd 文件
-
创建 CMD 文件:
- 再次打开文本编辑器,编写
SetupComplete.cmd
文件,内容如下:
cmdCopy Code@echo off PowerShell -ExecutionPolicy Bypass -File "C:\Drivers\Add-Drivers.ps1"
- 再次打开文本编辑器,编写
-
保存 CMD 文件:
- 将此文件保存为
SetupComplete.cmd
,确保它与 PowerShell 脚本位于同一目录。
- 将此文件保存为
步骤 3:将文件复制到 Windows 安装映像中
-
挂载 Windows 映像(可选):
- 如果您希望在安装映像中预先集成这些文件,可以使用 DISM 工具挂载 WIM 文件。
- 按照之前提供的 DISM 示例挂载映像。
-
复制文件:
- 将
Add-Drivers.ps1
和SetupComplete.cmd
文件复制到以下路径中的C:\Windows\Setup\Scripts\
目录:- 如果您在挂载映像,请确保将其复制到挂载点对应的路径。
- 将
步骤 4:保存和卸载映像
- 保存更改:
- 如果您挂载了映像,请确保使用以下命令保存更改:
bashCopy CodeDISM /Unmount-Wim /MountDir:C:\mount /Commit
步骤 5:测试安装
- 进行 Windows 安装:
- 使用更新后的映像或 USB 驱动器启动计算机,开始 Windows 安装过程。
- 在设置完成后,安装程序会自动调用
SetupComplete.cmd
,从而运行 PowerShell 脚本并添加驱动程序。
注意事项
- 执行策略:确保 PowerShell 的执行策略允许脚本运行。使用
-ExecutionPolicy Bypass
可以临时绕过限制。 - 驱动程序路径:确认驱动程序路径与安装环境一致。
- 权限:确保安装过程具有足够的权限来添加驱动程序。
通过上述步骤,您可以成功地在 Windows 安装过程中自动添加所需的驱动程序。
在 Windows 安装过程中,您可以使用 USB 驱动器手动加载驱动程序。以下是详细步骤:
步骤 1:准备 USB 驱动器
-
格式化 USB 驱动器:
- 插入 USB 驱动器。
- 打开“此电脑”或“我的电脑”。
- 右键单击 USB 驱动器,选择“格式化”。
- 选择文件系统(推荐使用 FAT32),然后点击“开始”。
-
复制驱动程序文件:
- 将所需的驱动程序文件(通常是
.inf
文件和相关文件)复制到 USB 驱动器的根目录。
- 将所需的驱动程序文件(通常是
步骤 2:启动 Windows 安装程序
-
创建 Windows 安装介质:
- 使用 Windows Media Creation Tool 创建一个 USB 安装介质,或者从 ISO 文件中提取并将其写入 USB 驱动器。
-
启动计算机:
- 将 USB 安装介质插入计算机,并重启。
- 在启动时按下相应的键(如 F2、F12、DEL 等)进入 BIOS 或启动菜单,选择 USB 驱动器启动。
步骤 3:进行 Windows 安装
-
开始安装:
- 按照屏幕上的提示进行操作,直到出现“安装 Windows”界面。
-
选择版本和许可证:
- 继续选择 Windows 的版本并接受许可证条款。
步骤 4:加载驱动程序
-
选择安装类型:
- 在“你想如何安装 Windows?”界面,选择“自定义:仅安装 Windows(高级)”。
-
加载驱动程序:
- 当您看到“没有找到任何驱动程序”提示时,点击“加载驱动程序”。
- 在弹出的窗口中,点击“浏览”按钮。
-
选择 USB 驱动器:
- 在浏览窗口中,找到并选择您的 USB 驱动器。它会显示您在 USB 驱动器上存储的驱动程序文件。
- 找到并选中相应的
.inf
文件,然后点击“确定”。
-
安装驱动程序:
- 系统将加载驱动程序。如果成功,您会看到可用的驱动程序设备列表。
- 选择您要安装的分区,然后继续进行安装。
注意事项
- 驱动程序兼容性:确保驱动程序与 Windows 版本兼容。
- USB 驱动器格式:确保 USB 驱动器在 FAT32 格式下格式化,这样可以在 Windows 安装过程中被正确识别。
- 备份数据:在格式化 USB 驱动器之前,请备份其中的数据,以免丢失重要文件。
通过这些步骤,您可以在 Windows 安装过程中手动加载 USB 驱动器上的驱动程序。