如何在 Windows 10/11 上禁用自动驱动程序更新?
当您将新设备连接到计算机、笔记本电脑或平板电脑时,Windows 会尝试自动下载并安装相应的硬件驱动程序。稍后,操作系统将通过Windows Update自动更新设备驱动程序。在大多数情况下,此方法是最佳方法,因为可以保证安装经过 Microsoft 验证的最新驱动程序版本。但是,在某些情况下,用户希望使用旧的/旧版驱动程序版本,并且不希望它们通过 Windows Update 自动更新。
在 Windows 10 和 11 上,您可以通过多种方式禁用自动设备驱动程序更新。
如何阻止Windows 10/11自动更新特定驱动程序?
您可以阻止 Windows 10 和 11 中特定设备的自动驱动程序更新。例如,您使用的是某种旧的(但稳定)显卡驱动程序,该驱动程序在每次自动驱动程序更新后都会停止正常工作。您希望自动更新所有计算机驱动程序,特定设备(您的视频卡)的驱动程序除外。
Microsoft 建议使用单独的工具 - wushowhide.diagcab(“显示或隐藏更新”),它允许您隐藏 Windows 11 和 Windows 10 中的特定更新或驱动程序。
您可以从 Microsoft 下载中心下载 wushowhide.diagcab 实用程序 (http://download.microsoft.com/download/f/2/2/f22d5fdb-59cd-4275-8c95-1be17bf70b21/wushowhide.diagcab);
-
跑过
wushowhide.diagcab工具并选择选项“隐藏更新”;
在可用的 Windows 更新和驱动程序列表中,选中您要禁用自动更新的驱动程序,然后单击下一步按钮;
此后,Windows 将不会自动更新所选驱动程序。
您可以通过组策略禁用特定驱动程序的更新。首先,您需要获取要禁用自动驱动程序更新的设备 ID。
打开设备管理器管理单元(
devmgmt.msc)。在硬件列表中找到您需要的设备并打开其属性;
进入详细信息选项卡,从下拉列表中选择“硬件ID”;
复制与设备关联的硬件标识符的值(格式为
PCI\VEN_15AD&DEV_ …) 进入
notepad.exe;
在组策略编辑器控制台中(
gpedit.msc对于独立计算机)请转至计算机配置 -> 管理模板 -> 系统 -> 设备安装 -> 设备安装限制部分。启用策略“阻止安装与任何这些设备 ID 匹配的设备”;
单击策略设置中的“显示”按钮,并将您之前收到的显卡 ID 复制到值表中;
使用以下命令保存更改并更新客户端上的组策略设置:
gpupdate /force;
现在,如果计算机通过 Windows Update 接收并下载这些设备的驱动程序更新,则在自动安装过程中将出现错误消息(系统策略禁止安装此设备。请与您的系统管理员联系)。
现在您无法手动更新该设备的驱动程序。要更新它,您必须禁用此组策略选项或从列表中删除硬件 ID。
此外,您可以通过注册表启用此策略。为此,请运行注册表编辑器(
regedit.exe)并转到注册表项 HKLM\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions\DenyDeviceIDs。在此部分中,创建字符串 (REG_SZ) 参数,其名称按顺序从 1 开始,每个参数中包含硬件 ID 值。
您可以使用 GPO 选项“阻止使用与这些设备安装类别匹配的驱动程序安装设备”来禁用特定设备类型(打印机、声卡、USB 控制器等)的驱动程序更新。为此,您需要指定设备类 GUID。例如,
{4d36e972-e325-11ce-bfc1-08002be10318}是一类网络适配器,
{4d36e979-e325-11ce-bfc1-08002be10318}和
{4658ee7e-f050-11d1-b6bd-00c04fa372a7}- 打印机等。您可以在此处找到硬件类 GUID 的完整列表:
https://docs.microsoft.com/en-us/windows-hardware/drivers/install/system-defined-device-setup-classes-available-to-vendors
如何在 Windows 11 或 10 上禁用自动硬件驱动程序更新?
阻止 Windows 自动更新驱动程序的最简单方法是更改“硬件”选项卡上的系统设置。去做这个:
按 Win + X 并运行
sysdm.cpl命令;
高级系统设置对话框的硬件选项卡将打开;
点击设备安装设置按钮;
在“设备安装设置”窗口中,将“是否要自动下载适用于您的设备的制造商的应用程序和自定义图标?”对话框中的值更改为“否(您的设备可能无法按预期工作)”。 ”;
保存更改并重新启动计算机。
此设置适用于 Windows 10 和 Windows 11。
如何使用组策略阻止 Windows 更新硬件驱动程序?
您可以使用组策略设置在 Windows 10 或 11 中禁用设备驱动程序更新。您可以使用域 GPO 编辑器(
gpmc.msc) 或本地组策略编辑器
gpedit.msc(如下面所描述的)。
按 Win + R 并输入 gpedit.msc -> 确定(在 Windows 家庭版中,您可以像这样运行本地组策略编辑器);
在本地组策略编辑器中,进入计算机配置 -> 管理模板 -> 系统 -> 设备安装 -> 设备安装限制;
查找策略阻止安装其他策略设置未描述的设备;
启用策略(“已启用”)并保存更改;
然后启用策略“指定设备驱动程序源位置的搜索顺序”。此策略位于 GPO 部分计算机配置 -> 管理模板 -> 系统 -> 设备安装下。将策略设置更改为“不搜索 Windows 更新”。此策略允许您排除在 Windows Update 站点上搜索驱动程序更新(为任何 Windows 设备安装驱动程序时,它会尝试通过 Windows Update 服务查找更合适的驱动程序);
转到“计算机配置”->“管理模板”->“Windows 组件”->“Windows 更新”部分,找到并启用名为“Windows 更新中不包含驱动程序”的策略
在 Windows 11 和 Windows Server 2022 上,此 GPO 选项位于“计算机配置”->“管理模板”->“Windows 组件”->“Windows 更新”->管理 Windows 更新提供的更新下。
使用域 GPO(使用配置
gpmc.mscconsole),您可以将这些设置应用到 AD 域中的多台计算机。在工作组中,您可以使用 LGPO.exe 将本地 GPO 设置复制到其他计算机。
通过 PowerShell 在 Windows 中禁用自动驱动程序更新
您可以使用简单的 PowerShell 脚本来禁用 Windows 中的自动驱动程序更新。此 PowerShell 脚本更改与上述 GPO 选项相同的注册表设置。此方法非常适合在装有 Windows 家庭版(没有本地 GPO 编辑器)的计算机上以及自动禁用驱动程序自动更新的任务中使用。
为了在 Windows 中禁用自动驱动程序更新,您需要更改以下注册表参数的值:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DriverSearching -
SearchOrderConfig= 3(3 — 不通过 Windows 更新安装驱动程序)
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Device Metadata -
PreventDeviceMetadataFromNetwork= 1
HKLM\SOFTWARE\Microsoft\Windows\WindowsUpdate -
ExcludeWUDriversInQualityUpdate= 1
打开提升的 PowerShell 控制台并运行以下代码:
Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\DriverSearching\ -Name SearchOrderConfig -Value 3
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Device Metadata\' -Name PreventDeviceMetadataFromNetwork -Value 1
# Check that the registry key exists and create it if necessary
$regKey3 = 'HKLM:\SOFTWARE\Microsoft\Windows\WindowsUpdate'
$test = test-path -path $regKey3
if(-not($test)){
New-Item -Path $regKey3
}
Set-ItemProperty -Path $regKey3 -Name ExcludeWUDriversInQualityUpdate -Value 1您还可以使用 regedit.exe 手动更改这些注册表设置,或使用 GPO 将注册表项部署到域计算机。
重新启动后,Windows 中的自动驱动程序更新将被阻止。
在最新版本的 Windows 10 21H1 和 Windows 11 中,ExcludeWUDriversInQualityUpdate 参数位于多个注册表项中:
HKLM\SOFTWARE\Microsoft\PolicyManage
HKLM\SOFTWARE\Microsoft\PolicyManager\default\Update
HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings
HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate
您需要设置参数
ExcludeWUDriversInQualityUpdate = 1在所有指定的注册表项中。将以下 PowerShell 代码添加到上述脚本中:
$regkeys =
'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate',
'HKLM:\SOFTWARE\Microsoft\PolicyManager\default\Update',
'HKLM:\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings',
'HKLM:\SOFTWARE\Microsoft\PolicyManager\current\device\Update'
foreach ($regkey in $regkeys){
$test = test-path -path $regkey
if(-not($test)){
New-Item -Path $regKey
}
Set-ItemProperty -Path $regkey -Name ExcludeWUDriversInQualityUpdate -Value 1
}
foreach ($regkey in $regkeys){write-host $regkey}一些管理员更喜欢在部署 Windows 10 映像并安装所有必要的驱动程序后禁用驱动程序更新。为此,您可以使用 GPO 参数“阻止安装其他策略设置未描述的设备”(如上所述)或使用以下命令来禁用驱动程序安装:
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions" /v DenyUnspecified /t REG_DWORD /d 1 /f










