El Blog de Enrique Cortés

miércoles, 16 de noviembre de 2016

Evitar que Windows Update instale o actualice un controlador en Windows 10


Nivel técnico : Intermedio
Aplica: Windows 7/8/8.1/10
 
Windows Update descarga e instala actualizaciones acumulativas para Windows 10, actualizaciones de seguridad y también mejoras para el sistema, las denominadas actualizaciones de características, que agregan nuevas funciones y mejoran el rendimiento. Entre estas últimas se encuentran los controladores de dispositivos.
Pero muchos usuarios se encuentran con el problema de que Windows Update instala, de forma automática, controladores no compatibles u obsoletos, que provocan problemas al sistema, incluso errores graves de detención (BSOD). En muchas ocasiones, el usuario por fin consigue encontrar en la web del fabricante del equipo, o del dispositivo que quiere actualizar, un controlador que realmente funciona bien en Windows 10, aunque éste esté desarrollado para versiones anteriores (W7/8/8.1). En este escenario, Windows Update detecta este controlador y descarga e instala una nueva versión para ese dispositivo, con lo que se desata el problema y el mal funcionamiento del equipo.
¿Qué se puede hacer para impedir que Windows Update instale o actualice un controlador que funciona perfectamente?
En este artículo voy a exponer un método de solución a este problema, que ya se aplicaba a partir de Windows Vista, cuando Microsoft introdujo diferentes políticas para Windows Update en la Directiva de Grupo. En versiones anteriores de Windows 10 podíamos aplicar algunos métodos que funcionaban, como éste para la versión 1511 (Thresold 2):
Cómo evitar que Windows Update actualice controladores
 
pero que ya no funciona en la versión de aniversario, versión 1607 (Redstone 1). O incluso el Solucionador de problemas proporcionado por Microsoft (Show or hide updates):
método que todavía funciona en la nueva versión de Windows 10, pero que tiene dos importantes problemas:
a) cuando Windows 10 instala una nueva versión del sistema, o una nueva compilación, todas las actualizaciones ocultas se muestran de nuevo.
b) este método sólo funciona con un controlador determinado elegido por el usuario. Si Windows Update libera un controlador nuevo, se instalará independientemente del anterior.
 
Si estás interesado en este problema, puedes seguir los métodos de resolución de este artículo para solucionarlo. El único inconveniente es que en las ediciones domésticas de windows (Windows 10 Home/Home SL), al no incorporar la Directiva de grupo, se debe implementar este método a través del registro. En este ejemplo vamos a suponer que el controlador defectuoso o incompatible es el de vídeo.
Cada dispositivo de hardware instalado en el equipo tiene un Hardware ID asignado al mismo, por lo que el dispositivo queda identificado de forma exclusiva. De lo que se trata es de impedir que Windows Update instale o actualice un controlador con el mismo Hardware ID. Para ello, sigue estos pasos:
 

Paso 1. Obtén el controlador deseado (el que sabes que funciona bien) y bloquea el acceso a Internet

 
1. Partimos de la base que está instalado el controlador problemático, el que funciona mal y que quieres anular
2. Descarga u obtén el controlador que sabes que funcionará bien en Windows 10 y guárdalo en lugar seguro, a punto para instalar
3. Bloquea el acceso a Internet y a cualquier red local. Es importante que el equipo esté completamente desconectado para que no pueda descargar ni instalar ningún tipo de actualización, ni en Windows Update ni en la red local o de trabajo.
 

Paso 2. Copia el ID de hardware del dispositivo y desinstala el controlador defectuoso

 
1. Abre el Administrador de dispositivos y expande la categoría del dispositivo problemático (en este ejemplo estamos tratando un controlador de la tarjeta gráfica, por tanto expande Adaptadores de pantalla). Haz doble clic sobre el dispositivo para abrir la ventana de Propiedades y abre la ficha Detalles.
2. En la ficha Detalles busca el Id de hardware en la lista desplegable, como aparece en esta imagen:
 
Imagen

Es posible que sólo aparezca un ID de hardware, o varios. En el caso de la imagen aparecen 4.

3. Selecciona todos los Id de hardware que aparezcan (clic derecho > Seleccionar todo) y pégalos en un documento en blanco del Bloc de notas. Guarda este archivo en el Escritorio.
4. Abre ahora la ficha Controlador del cuadro de Propiedades y haz clic en Desinstalar. Posiblemente se abra un cuadro de confirmación de desinstalación (esto depende del tipo de controlador); si aparece esta ventana, marca la casilla Eliminar el software de controlador de este dispositivo:
 
Imagen
 

Paso 3. Elimina el paquete (o paquetes) de controladores del almacén local de controladores


Cuando Windows detecta un nuevo hardware para intentar instalar un controlador de forma automática, el servicio Plug and Play identifica ese dispositivo y en el primer sitio que busca es en el almacén o repositorio de controladores. El almacén de controladores es un área protegida del equipo que contiene paquetes de controladores de dispositivo que se han aprobado para su instalación en el equipo. Si Windows no encuentra ningún paquete en el almacén que coincida con el ID de hardware del dispositivo, el siguiente paso será ir a buscarlo en Internet (Windows Update) o en la red local, de ahí la importancia de que el equipo esté completamente desconectado. Pero, además, ya que ese paquete de controladores puede estar ubicado en el almacén de forma local, nos aseguraremos de que no se vuelva a instalar ningún controlador de forma automática para el mismo ID de hardware. Sigue estos pasos:
1. Pulsa las teclas Windows+X y selecciona Símbolo del sistema (administrador)
2. En la consola de administrador escribe el siguiente comando y pulsa Intro: 
    pnputil -e


Te aparecerá una lista de los controladores ubicados en el almacén de controladores. Lee las entradas del resultado para encontrar la descripción del paquete y su nombre de archivo. Los datos que interesa comprobar son: el Proveedor y la Clase del controlador. Si encuentras alguno que coincida con el dispositivo (en nuestro ejemplo, Proveedor NVIDIA y Clase Adaptadores de pantalla), habrá que eliminarlo. En esta imagen, hemos encontrado uno en el almacén que podría instalarse de forma automática, aunque es posible que no te aparezca ninguno al haberlo desinstalado previamente desde el Administrador de dispositivos:


Imagen

3. Si has encontrado alguno, toma nota del archivo de controlador (Nombre publicado) que hay que eliminar: en este ejemplo es oem4.inf. Por tanto, ejecuta a continuación el siguiente comando:
    pnputil /delete-driver oem4.inf /force 
sustituyendo oem4.inf por el nombre de archivo que corresponda: 
Imagen
En esta nota técnica tienes más información sobre cómo proceder:
 
4. Cierra la consola de administrador.
5. Reinicia ahora el sistema para completar la desinstalación del controlador
 

Paso 4. Instala el controlador compatible y bloquea la actualización del dispositivo utilizando la Directiva de grupo



Al reiniciar de nuevo el equipo, instala ese controlador compatible que sabes que funcionará bien. Una vez instalado, y sin reiniciar, procede a bloquear cualquier actualización o modificación del dispositivo utilizando la Directiva de grupo. Este paso sólo puede hacerse en las ediciones Profesional, Enterprise y Education, que disponen de la Directiva de grupo. En las ediciones domésticas puede hacerse directamente a través del registro, proceso que explico más abajo (y que sirve para todas las ediciones).
 
1. Ejecuta el Editor de directivas de grupo local (gpedit.msc).

2. Navega a la ruta Configuración del equipo, Plantillas administrativas, Sistema, Instalación de dispositivos, Restricciones de instalación de dispositivos.
3. En el panel derecho, busca la directiva Impedir la instalación de dispositivos que coincidan con cualquiera de estos id. de dispositivo
 
Imagen
 
4. Haz doble clic sobre esa directiva para abrir el cuadro de Propiedades, y habilítala marcando la casilla Habilitada. Seguidamente haz clic en Mostrar... Se abrirá el cuadro Mostrar contenido.
5. Abre ahora el Bloc de notas donde guardaste los id. de hardware del dispositivo problemático y copia, uno a uno, cada línea y pégala en cada una de las líneas bajo Valor, como muestra el ejemplo de la imagen:
 
Imagen

6. Haz clic en Aceptar y cierra el Editor de directivas.

7. Reinicia el sistema de nuevo y ya puedes conectarte a Internet. A partir de ahora Windows no podrá instalar, ni de forma manual ni mediante Windows Update, ningún controlador de dispositivo que deba utilizar aquel hardware. Se podrán descargar, porque Windows Update los detecta y los descarga, pero en el momento de intentar instalarlos aparecerá un error:
 
Imagen
 
No debes hacer caso de este error. Es un error esperado por la política que has implementado mediante la Directiva de grupo. Windows Update funcionará perfectamente para descargar e instalar el resto de actualizaciones para el equipo.
 

Bloquea la actualización del controlador de dispositivo a través del registro (paso 4) 


Los usuarios de ediciones domésticas de Windows, que no disponen de la Directiva de grupo local, tendrán que implementar este ajuste mediante el registro (válido, no obstante, para todas las ediciones). Si éste es tu caso, haz lo siguiente (esto sustituye el paso 4):

Nota: Se pueden producir problemas graves si se modifica el Registro incorrectamente utilizando el Editor del Registro o cualquier otro método. Estos problemas pueden requerir que se reinstale de nuevo el sistema operativo. Modifica el Registro bajo tu propia responsabilidad.
 
1. Abre un documento de texto mediante el Bloc de notas (notepad) y copia el siguiente contenido:
Imagen
 
2. En la última clave, la que incluye los Hardware ID, tendrás que sustituir estos cuatro puntos del ejemplo ("1", "2", "3" y "4") por los que guardaste en el bloc de notas (Paso 2, punto 3). Colócalos siempre entre las comillas, y asegúrate de poner la doble barra invertida ( \\ ), en lugar de una sola barra como aparece en el Administrador de dispositivos.
3. A continuación, guarda el archivo como DeviceInstall.reg (con extensión .REG) y haz doble clic sobre él para introducir las órdenes al registro.
4. Reinicia el sistema para implementar el ajuste. 
 
 
 
 
 
 

4 comentarios:

Anónimo dijo...

Hola Enrique,
En varios post de tu blog, veo conceptos como:

Windows 10 RTM (compilación 10240)
Thresold2 de Windows 10 a la versión 1511 (compilación 10586)
En las primeras versiones de Windows 10 (1507-Thresold 1 y 1511-Thresold 2)
Actualización de Aniversario (versión 1607-Redston 1)

¿Como puedo averiguar ese dato, en mi SO W10 Pro?

Un saludo.


pegana48@gmail.com

Enrique Cortés dijo...

Hola. Esos datos puedes verlos si ejecutas winver (pulsa las teclas Windows+R y escribes winver). Si te aparece la compilación 14393.xxx es porque tienes instalada la versión de aniversario de Windows 10 (versión 1607)

12elotro dijo...

Buenas, una duda relacionada con el tema, que diferencia hay entre poner SI o NO en la opcion que se ve en la foto adjunta? Porque en versiones anteriores de windows 10 desde ahi se podia desactivar la actualizacion automatica de drivers pero ahora ya no se para que vale esta opcion

[IMG]https://imgur.com/a/ZHjPm[/IMG]

Enrique Cortés dijo...

Hola.

No vale para nada. Marques lo que marques, Windows 10 ignorará completamente esta característica. Está anulada desde la versión 1511 de Windows 10.