Pantallazo azul – nvlddmkm.sys – TDR

Pantallazo azul – nvlddmkm.sys – TDR

Pantallazos azules (BSOD) sin aparente motivo, cambiando entre aplicaciones, con el equipo en reposo… pero todos con algo en común: tarjetas gráficas con drivers no diseñados para Windows 10 pero si para Windows 7/8, GPUs antiguas en equipos actualizados desde versiones anteriores.

En este caso una NVIDIA Geforce 7600 GS de 2006, con los últimos drivers 9.18.13.908 de 30/07/2015 (no los 309.08 de NVIDIA, si no los disponibles mediante Windows Update) más de 15 años de tarjeta y 9 años de drivers es algo más que aceptable en cuanto a soporte y compatibilidad… es aplicable a otros modelos.

La opción de actualizar el equipo o la gráfica están justificadas en cuanto a retorno de inversión con un pequeño desembolso… pero… si su utilización es puntual, la exigencia de trabajo ofimático es pequeña… podemos alagar un poco más su utilización.

Existe la posibilidad de utilizar la configuración de TDR: timeout detection and recovery. Este valor es utilizado por Windows 10 para determinar cuantos segundos espera antes de cerrar el driver de la tarjeta gráfica, con drivers antiguos, diseñados para Windows 7 pero que «funcionan» bajo Windows 10, operaciones que utilizan altamente la grafica (Adobe Premiere por ejemplo)…

Esta configuración manual en el registro puede eliminarse con algunas actualizaciones del sistema operativo o los drivers, por lo que será necesario volver a aplicar si ocurre de nuevo y han sido eliminadas.

  • TdrDelay – 2 segundos predeterminado – valores hasta 60 segundos
  • TdrDdiDelay – 5 segundos predeterminado – valores hasta 60 segundos
  • TdrLevel – nivel de recuperación : 0 Desactivado, 3 recuperar después del tiempo de espera

Añadiremos al registro para Windows 10 64 bits:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers]
"TdrDelay"=hex(b):08,00,00,00,00,00,00,00
"TdrDdielay"=hex(b):08,00,00,00,00,00,00,00
"TdrLevel"=hex(b):03,00,00,00,00,00,00,00

Actualizar certificados raíz

Actualizar certificados raíz

A partir de certificados válidos de un equipo con Windows 10, podemos generar un fichero que contenga todos ellos, ejecutaremos el comando:

certutil.exe -generateSSTFromWU roots.sst

El archivo generado roots.sst contiene todos los certificados raíz del equipo, incluye también los caducados.

Descargamos la utilidad rootsupd.exe de Microsoft, aunque ya no este disponible en la web oficial, podemos encontrarla en la web de Karsperky o alternativamente aquí.

En el nuevo equipo, ejecutamos la utilidad para incorporar los certificados raíz:

rootsupd.exe roots.sst

Estos nos servirá en varios escenarios, desde preparar equipos nuevos, pasando por distribuir mediante Powershell o GPO, hasta poder seguir usando Windows XP con ciertos servicios.

Debemos tener cuidado en los escenarios en los que utilizamos este tipo de utilidad, se han reportado vulnerabilidades previas; bajo Windows 10 podemos optar por los comandos Import-Certificate de PowerShell

Programas de inicio en Windows 10

En ocasiones algunos programas o malware se resisten a desaparecer de la pestaña «Inicio» del administrador de tareas, tienen donde esconderse.
Deberemos revisar el el registro de Windows (regedit.exe) las siguientes rutas:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

HKEY_CURRENT_USER\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run

Y en el explorador de ficheros:
%ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup
%Appdata%\Microsoft\Windows\Start Menu\Programs\Startup




Identificar \Device\Harddisk# en Windows

Algunos de los registros de eventos de Windows utilizan identificadores internos diferentes, para conocer la relación de posible nombres del objeto al que se refieren:

Podemos utilizar la utilidad WinObj de Sysinternals para obtener la relación, desde la carpeta «Device»:

O desde la carpeta «GLOBAL??» ordenando por «Symlink» hasta llegar a los dispositivos de disco duro en «\Device\Harddisk…»

Mediante Powershell, donde el DeviceID corresponde con HardDisk#

Get-PhysicalDisk | Select -Prop DeviceId,FriendlyName,SerialNumber

En el registro de Windows dentro la clave:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\disk\Enum

Mediante el listado de drivers instalados:

wmic /output:c:\drivers.txt path Win32_PnPSignedDriver