Windows conserva un registro de las memorias USB que hemos conectado al ordenador, incluso después de desconectarlas. La conducta ha disparado alarmas en redes sociales sobre un supuesto historial permanente de dispositivos, pero Microsoft explica que se trata de un mecanismo habitual de reconocimiento de hardware que, además, no guarda los archivos que hayamos transferido.
Detrás de las publicaciones virales que aseguran que el sistema guarda un rastro eterno de cada dispositivo de almacenamiento hay un comportamiento técnico que la propia compañía documentó hace más de una década, cuando un ingeniero de campo de Microsoft detalló en 2012 cómo funciona el registro de estos dispositivos. Cuando conectamos una unidad de almacenamiento masivo, el sistema crea una entrada en el Registro para gestionarla, y esa entrada sigue ahí aunque retiremos el dispositivo físico.
El registro USBSTOR y los dispositivos fantasma
Cada vez que insertamos un pendrive o un disco duro externo, Windows genera una clave en la ruta HKEY_LOCAL_MACHINESYSTEM/CurrentControl/SetEnum/USBSTOR con toda la información necesaria para gestionar esa unidad. El sistema no borra esa entrada al desconectar el dispositivo, y el motivo es puramente práctico.
El servicio Plug and Play no tiene forma de saber si vamos a enchufar ese mismo pendrive mañana o si lo hemos apartado para siempre, así que mantiene la instancia del dispositivo lista para reconocerlo en cuanto vuelva a aparecer. Microsoft llama a estos restos de dispositivos no presentes, o dispositivos fantasma, y podemos verlos en el Administrador de dispositivos activando la opción «Mostrar dispositivos ocultos» en el menú Ver.
Este comportamiento no es exclusivo de Windows: Linux mantiene con udev una base de datos del hardware que ha procesado, y macOS guarda información equivalente a través de IOKit, además de registrar los eventos del sistema en su registro unificado. Los tres necesitan identificar el hardware, cargar el controlador correcto y disponer de datos para diagnosticar problemas cuando algo falla.
Qué guarda el sistema sobre cada unidad
La clave USBSTOR almacena el nombre legible del dispositivo, identificadores de hardware e instancia, datos del número de serie o de la ubicación según el modelo, la letra de unidad que se le asignó y marcas de tiempo como la primera instalación, la última llegada o la última extracción.
Lo que no contiene esa entrada es una lista de los archivos que hubo en el pendrive, ni ningún registro de que se copiaran documentos hacia o desde la unidad. Otras funciones de Windows, como el historial de Elementos recientes o las auditorías de almacenamiento extraíble, pueden dejar constancia adicional de la actividad, pero funcionan de forma independiente del registro USBSTOR y no forman parte de él.
Conviene aclarar también qué dispositivos quedan fuera de este registro. USBSTOR solo recoge los dispositivos de almacenamiento masivo gestionados por el controlador Usbstor.sys. Windows dispone de un controlador aparte, Uaspstor.sys, para las unidades que usan el protocolo USB Attached SCSI (UASP), pensado para mejorar el rendimiento. Un teclado, una webcam, un ratón o un micrófono USB no aparecen en esta clave, porque no son dispositivos de almacenamiento.
Cómo consultar el registro con PowerShell
Para ver estos registros basta con abrir PowerShell y ejecutar lo suguiente:
reg query HKLMSYSTEMCurrentControlSetEnumUSBSTOR /s
El modificador /s recorre todas las subclaves. Cada modelo de dispositivo guarda a su vez subclaves de instancia, que pueden incluir información de número de serie o ubicación según el fabricante.
Para una lista más manejable existe el cmdlet Get-PnpDevice -Class DiskDrive, que muestra tanto las unidades presentes como las que ya no lo están. Si añadimos el parámetro -PresentOnly, el mismo comando filtra solo los dispositivos conectados en ese momento, así que comparar ambos resultados permite identificar qué unidades han quedado registradas como fantasmas tras desconectarlas.
Con el identificador de instancia que arroja ese comando, el cmdlet Get-PnpDeviceProperty permite consultar propiedades como FirstInstallDate, InstallDate, LastArrivalDate y LastRemovalDate, que reflejan respectivamente cuándo se instaló por primera vez el dispositivo, cuándo se instaló por última vez, y cuándo se conectó o se retiró por última vez.
Qué opciones existen para eliminar estas entradas
La vía que permite retirar estas entradas pasa por el propio Administrador de dispositivos. Una vez activada la vista de dispositivos ocultos, localizamos la unidad fantasma dentro del apartado Unidades de disco y seleccionamos la opción de desinstalar el dispositivo, lo que debería eliminar del sistema el registro asociado a esa instancia.
Esta vía gráfica permite gestionar los dispositivos fantasma sin necesidad de modificar directamente las claves del Registro. Quien solo quiera comprobar qué ha quedado registrado sin borrar nada puede recurrir a los comandos de PowerShell descritos antes, que muestran esa información sin pasar por el Administrador de dispositivos.
