Cuando se instalan o actualizan los controladores de dispositivos en Windows, las versiones anteriores de los controladores siguen almacenadas en el sistema. Así, un usuario puede retroceder a la versión anterior del controlador si el nuevo controlador es inestable (una oportunidad útil, como en el caso de retroceder un controlador Wi-Fi). Sin embargo, Windows no limpia ni elimina automáticamente las versiones antiguas de los controladores, por lo que, con el paso del tiempo, el tamaño del espacio en disco ocupado por los controladores se hace bastante grande. En este artículo, discutiremos cómo eliminar las versiones antiguas de los controladores (duplicados) utilizando las herramientas integradas del sistema (sin ningún software de terceros).
Windows almacena todos los archivos de los controladores en su repositorio de controladores (Driver Store) ubicado en %WINDIR%\System32\DriverStore\FileRepository. En mi caso, en mi portátil doméstico con Windows 7 (instalado hace casi 8 años), la carpeta FileRepository ocupa unos 11 GB y contiene más de 5.000 archivos. ¡Son muchos! En particular, más de 20 versiones de controladores de Nvidia se almacenan aquí.
- Nunca elimine ningún archivo de DriverStore manualmente.
- Antes de limpiar el Driver Store, se recomienda encarecidamente crear un punto de restauración del sistema (
Checkpoint-Computer -Description "BeforeDriversDelete"
) o hacer una copia de seguridad de la imagen del sistema. - Después de limpiar el almacenamiento, es posible que tenga que descargar e instalar los controladores manualmente si se conecta un nuevo dispositivo.
Cómo encontrar y eliminar versiones antiguas de controladores en Windows 7
Veamos cómo encontrar y eliminar controladores obsoletos en Windows 7. (En Windows 8 y Windows 10 se utilizan formas más sencillas de eliminar controladores antiguos, estas se describen a continuación).
Obtenga la lista de todos los controladores de terceros disponibles en el sistema y expórtelos a un archivo de texto. Para ello, ejecute el siguiente comando en el símbolo del sistema con privilegios de administrador:
dism /online /get-drivers /format:table > c:\tmp\drivers.txt
Importe este archivo de texto a Excel, y elimine todos los datos extraños de forma que sólo quede la tabla que contiene la lista de controladores en el repositorio. La tabla debe contener el número del controlador en el sistema (oemXXX.inf), el nombre del archivo INF original, la clase de dispositivo, el fabricante, la fecha de instalación y la versión del controlador.
Ordenar esta tabla por la columna B (que contiene el nombre del archivo INF original) y la columna F (fecha de instalación del controlador). Entre los drivers con el mismo nombre marca para su eliminación todas las versiones de drivers excepto la última. En mi caso, se puede ver que la mayor parte de los controladores antiguos se refieren al adaptador de vídeo NVIDIA.
Para eliminar un controlador, puede utilizar el comando pnputil:
pnputil.exe -d oemxxx.inf
pnputil -f -d oemxxx.inf
Para que sea más conveniente, vamos a crear en la columna vacía los comandos para eliminar cada controlador utilizando la fórmula: =CONCATENATE("pnputil.exe -d ";A21)
Copiar y ejecutar estos comandos en el símbolo del sistema o en un archivo BAT.
pnputil.exe –d oem9.inf
Microsoft PnP Utility
Driver package deleted successfully
Así, he eliminado unas 40 versiones de controladores antiguos y he liberado unos 8 GB de espacio (sobre todo debido a la eliminación de los controladores de NVIDIA).
Cómo eliminar controladores antiguos en Windows 10/8 usando el Liberador de espacio en disco
En Windows 10 / 8.1, hay una herramienta más conveniente para eliminar las versiones anteriores de los controladores – la conocida herramienta Liberador de espacio en disco (cleanmgr.exe) que también permite eliminar las actualizaciones obsoletas.
- Ejecutar el Liberador de Disco: Win+R -> cleanmgr
- Seleccionar el disco del sistema
- Hacer clic en Limpiar archivos del sistema
- Comprobar paquetes de controladores de dispositivos en la lista
Nota. En mi sistema el tamaño de las copias de controladores almacenadas es 0. En los sistemas reales es probable que sea diferente
- Pulsa OK
Cleanmgr borrará todas las versiones antiguas de controladores no utilizadas. Sin embargo, debe comprender que el botón Roll back del controlador en la pestaña Propiedades del controlador de Device Manage quedará inactivo.