¿Puede Windows decirme qué está usando mi unidad USB?

100

Siendo el buen ciudadano que soy, hago clic izquierdo en el icono "Quitar hardware con seguridad" en mi barra de tareas y selecciono mi unidad USB para desmontar.

Entonces recibo el mensaje:

Windows no puede detener su dispositivo de volumen genérico porque está en uso. Cierre todos los programas o ventanas que puedan estar usando el dispositivo e intente nuevamente más tarde.

Por supuesto, al ser el sistema operativo, sabe exactamente qué aplicaciones están usando mi dispositivo. Entonces, ¿por qué no me lo dice?

¿O hay alguna manera que pueda descubrir?

PÁGINAS.
fuente
1
He tenido numerosas ocasiones con Vista donde nunca pude resolverlo y no "liberaría" el USB hasta que reiniciara / apagara. Actualicé a Win7 y no he tenido ese problema desde entonces, así que pensé que, al menos en mi PC, era un problema del controlador del sistema.
BBlake

Respuestas:

57

Puede usar Sysinternals Process Explorer para encontrar el identificador de cualquier archivo que esté abierto. Simplemente seleccione el Findmenú y seleccione Find Handle or DLL. En el cuadro de diálogo que se abre, ingrese la letra de la unidad en el cuadro de búsqueda. Los resultados de la búsqueda deben mostrar todos los archivos que están abiertos desde la unidad y qué proceso los tiene abiertos.

pesado
fuente
44
Después de matar el proceso ofensivo, Windows aún no liberaría la unidad USB. Vaya figura ....
Grantly
2
Solo exploré la unidad con Explorer. Luego, desde un shell cmd.exe, ejecuté un script de copia de seguridad en esa unidad, que terminó. Cerró la ventana cmd.exe. Asesinado y reiniciado Explorer.exe con Taskmgr. Aún así, la unidad está en uso y no se expulsa.
Kaz
3
Process Explorer no encuentra nada para M:.
Kaz
2
Si Process Explorer no muestra nada, puede usar el software OpenedFilesView de Nirsoft. No verá qué programa está usando la unidad (o Process Explorer también lo habría encontrado), pero aún verá los controladores, los archivos usados ​​y tendrá la posibilidad de cerrarlos (si tiene ganas de arriesgarlo)
LeFauve
44
El propio Explorador de Windows a veces puede bloquear unidades. Puede reiniciar el Explorador de Windows en el Administrador de tareas en Windows 10 (desplácese hacia abajo para encontrarlo). En versiones anteriores de Windows, tendrá que finalizar explorer.exe y ejecutar explícitamente explorer.exe desde el menú Archivo.
Christopher Hostage
113

Método más simple : Windows (al menos 10, AFAIK) crea una entrada en el registro de eventos cuando intenta expulsar una unidad extraíble y no puede porque un proceso tiene un bloqueo. Las dos ID de evento 225 mostrarán la ID del proceso y el nombre del proceso responsable del bloqueo.

Paso a paso:

1) Inicie el visor de eventos

2) Abra "Registros de Windows" y luego "Sistema"

3) Haga clic derecho en "Sistema" y seleccione "Filtrar registro actual"

4) En el cuadro de diálogo que aparece, ingrese "225" (sin comillas) donde dice "Todos los ID de eventos"

5) Verá todos los eventos relacionados con la imposibilidad de expulsar porque un proceso bloqueó la unidad.

6) Observe las marcas de tiempo en todas estas entradas y descubra cuáles se relacionan con la hora real cuando intentó expulsar el disco.

7) Toma las medidas apropiadas. Terminar una tarea con gracia (cerrar el programa que tiene el bloqueo) está bien la mayor parte del tiempo. Detener el servicio de búsqueda de Windows también está bien. Detener un análisis antivirus debería estar bien (si no sospecha que tiene virus en ese momento). Entrar en el administrador de tareas y matar el proceso podría no estar bien. Cómo lidiar con esto está más allá del alcance de esta pregunta.

8) (Guarde la vista ...) en el panel Acciones (en el marco derecho) puede "Guardar filtro en vista personalizada ..." para que lo encuentre en "Vistas personalizadas" (en el marco izquierdo sobre el " Registros de Windows ")

Identificacion de proceso: Entrada del visor de eventos

Nombre del proceso: Entrada del visor de eventos

8) Si no tiene otra entrada con un nombre de proceso , el proceso del Sistema (id. De proceso 4) retiene su unidad. Para evitar esto, tendrá que ir a la administración del disco y poner la unidad que desea expulsar sin conexión . Si el archivo está en su unidad de arranque, no puede ponerlo fuera de línea. En este caso, vea la nota a continuación:

ACTUALIZACIÓN 2018 : he visto aplicaciones como WhatsApp Desktop manteniendo los controles en Chrome Canary a través del Proceso del sistema . Como no puede expulsar el disco de arranque (porque está en uso), la solución fue usar otra ingeniosa utilidad Sysinternals , llamada Handle . Después de cerrar el programa que tiene el archivo bloqueado, inicie el controlador y ejecútelo (como ejemplo) handle64 "Chrome SxS\Application\chrome.exe"para ver si los controladores aún están presentes en el archivo que tiene el bloqueo PID 4. Mediante prueba y error, cierre cada programa en ejecución, hasta que no haya más identificadores en el archivo bloqueado.

El mejor método (pagado)

Descargue y ejecute SafelyRemove . Le ayuda a expulsar el disco y, si no puede hacerlo, muestra qué procesos tienen un bloqueo:

ingrese la descripción de la imagen aquí

Gaia
fuente
1
¿Puedes contarnos sobre el número 225? ¿Cómo lo conseguiste?
Ajeeb.KP
3
The application System with process id 4 stopped the removal or ejection for the device ...Bueno ... intentaré deshabilitar Distributed Link Tracking Clienty ver si eso ayuda.
Tithen-Firion
17
¡Windows 10 Task Manager también puede evitar la eliminación! Quien nuevo.
Alex Che
3
También funciona bien para win7. Probablemente también funcione bien en win8. Gracias por este método El problema puede ser exasperante.
Sindacate
2
Consejo útil Gracias por eso. He guardado una vista personalizada "Dispositivos bloqueados" para un acceso rápido futuro a esta vista filtrada.
Steve Crane
6

También puede usar la línea de comandos para consultar el registro de Windows , con wevtutil.exe (desde Windows 7) con el conocimiento de que el Kernel-PnP de Windows usa el Id. De suceso 225 para registrar el sistema (siempre con la identificación del proceso 4) rechazo para eliminar o expulsar el dispositivo USB \ VID _ #### & PID _ ############ (donde los # indican números hexadecimales).

wevtutil qe System /q:"*[System[(EventID=225)]]" /c:5 /f:text /rd:true
  • Sistema qe: consulta eventos del registro del sistema
  • / q: consulta con XPath
  • EventID=225 significa que el sistema rechazó una solicitud de expulsión
  • / c: 5: número de entradas para recuperar (5 aquí)
  • / f: texto: formato (el valor predeterminado es xml)
  • / rd: verdadero: orden inverso (el más nuevo primero)

Lo uso en un script por lotes.

Tchonialita
fuente
5

Para mi (Windows 7).

  1. Presione la tecla de Windows
  2. En "buscar programas y archivos: escriba: diskmgmt.msc
  3. En la lista de búsqueda, encuentre la entrada y haga clic con el botón derecho - seleccione ejecutar como administrador
  4. Ingrese las credenciales de administrador para ejecutar "Administración de discos" (si es necesario)
  5. Encuentre una unidad usb ofensiva que no se expulse en la lista de discos
  6. Panel izquierdo, haga clic derecho y seleccione " Expulsar "
  7. Las manijas "deberían" cerrarse: siempre puede volver a comprobar en el explorador de procesos internos del sistema

Nota: el ícono de la barra de tareas "Quitar hardware y expulsar medios de manera segura" ya no muestra la unidad USB, solo tres puntos

  1. Quitar físicamente la unidad
blakev
fuente
44
No hay panel izquierdo ni comando de expulsión en Windows 7 Disk Management. (Versión 1.00, según Ayuda / Acerca de). Puedo reducirlo, eliminarlo, marcarlo como activo, formatear, ... no expulsar.
Kaz
1
No pude encontrar Eject tampoco, pero la opción Offline hizo el trabajo. Y no olvide volver a configurarlo en línea cuando vuelva a conectar su dispositivo de almacenamiento.
Adriano P
2
Recientemente he usado 'Offline' para detener mi disco USB-SSD externo que probablemente fue utilizado de alguna manera por el sistema (Win 10), después de que funcionó la "extracción segura". Algún tiempo después, volví a enchufar ese disco y obtuve un disco con partición "RAW". Al ejecutar chkdsk /f f:el sistema de archivos se reingenió de alguna manera, pero todo aterrizó en 'found.000'. Entonces ... ese método no parece ser realmente seguro. Afortunadamente, no tenía nada realmente importante en ese disco ...
Xtra Coder
5

Aquí hay un comando rápido de PowerShell para consultar el registro de eventos y mostrar qué aplicación está bloqueando la expulsión de la unidad (funciona para mí con Windows 10, probablemente también funciona con 7/8)

Get-EventLog -LogName System -after (Get-Date).AddHours(-1) | Where-Object {$_.EventID -eq 225} | Sort-Object TimeGenerated | Format-Table -Wrap

La salida enumerará todas las instancias en la última hora en las que el sistema no pudo expulsar una unidad de disco. La columna Mensaje muestra el proceso que bloqueó la expulsión. En mi ejemplo a continuación, el administrador de tareas fue en realidad el culpable y pude expulsar después de cerrar el administrador de tareas.

PS C:\Users\Jonathan> Get-EventLog -LogName System -after (Get-Date).AddHours(-1) | \Where-Object {$_.EventID -eq 225} | Sort-Object TimeGenerated | Format-Table -Wrap

   Index Time          EntryType   Source                 InstanceID Message
   ----- ----          ---------   ------                 ---------- -------
   14692 Sep 07 10:50  Warning     Microsoft-Windows-Ke          225 The application \Device\HarddiskVolume4\Windows\System32\Taskmgr.exe with process id 11972 stopped
                                   rnel-PnP                          the removal or ejection for the device USB\VID_0781&PID_5575\200445301013C111B1A0.
   14693 Sep 07 10:50  Warning     Microsoft-Windows-Ke          225 The application \Device\HarddiskVolume4\Windows\System32\Taskmgr.exe with process id 11972 stopped
                                   rnel-PnP                          the removal or ejection for the device USB\VID_0781&PID_5575\200445301013C111B1A0.
Jon
fuente
3

Puede iniciar resmon.exe (a través de WIN + R), vaya a disco> Actividad de disco> Ordenar por archivo Ahora puede ver todos los archivos a los que accede el sistema y qué procesos están accediendo a ellos, ordenados por la ruta del archivo (que por cierto comienza con una letra de unidad). Puede que no funcione con todos los casos, pero es un enfoque simple.

Reiniciar la computadora parece "liberar" el uso del dispositivo. También para una eliminación más rápida, puede deshabilitar el almacenamiento en caché de Windows en la sección Hardware de su dispositivo, a veces las ventanas tardarán más de lo esperado en vaciar la memoria caché al disco externo y mostrarán ese mensaje que dice que el dispositivo está en uso (porque lo será, por Windows en sí)

Felype
fuente
Similar a esto: en resmon.exe, en la pestaña CPU. Desplácese hacia abajo hasta el cuadro Manijas asociadas. Hay un cuadro de búsqueda Controles de búsqueda allí, donde puede ingresar la letra de la unidad bloqueada.
Andrew
2

Si abre "Mi PC" y su unidad no figura en la lista de encabezados de "Almacenamiento extraíble", Windows lo verá como un recurso fijo del sistema por algún motivo. Tendrá que desmontar cualquier partición en el disco.

Si este es el caso, abra "Administración de computadoras", luego vaya a "Administración de discos". Para cada partición en el dispositivo, haga clic con el botón derecho en la partición, seleccione "Cambiar letras y rutas de la unidad" y elimine las letras de unidad asignadas a esa partición. Una vez que lo haga, debería descubrir que la función de "expulsión segura" funciona como esperaba.

usuario1575326
fuente
1
Esto funcionó exactamente como lo describió en mi computadora portátil con Windows 7 Home Premium. Desearía que el botón en Windows usara la palabra "Desmontar" en lugar de "Eliminar" (lo cual es preocupante similar a "eliminar" en mi mente).
Steve
0

Tenía USB que Windows informó que estaba en uso ... igual que todos los demás aquí.

En Windows 10, Ctrl + Alt + Supr llega al Administrador de tareas.

Buscar desplazándose - Explorador de Windows. y destacar.

Abajo a la derecha hay un botón amigable llamado "Reiniciar proceso"

Verifique tres veces que "Explorador de Windows" es lo único resaltado.

Haga clic con el botón izquierdo en el botón amigable "Reiniciar proceso".

Solo tenía un único Explorer, otros a veces tienen dos. Solo tenga en cuenta cuál vuelve. Intente cerrar / expulsar el USB. El mío funcionó bien, cierra el USB.

Si el suyo no se expulsa / cierra, entonces probablemente fue el otro Explorer. Inténtalo de nuevo y vuelve a poner ese Buena suerte.

John Henson
fuente
44
Bienvenido a superusuario: lea la pregunta nuevamente cuidadosamente. Su respuesta no responde a la pregunta original "¿Desea que Windows dime qué está usando mi unidad USB?" Por favor tome un par de minutos y leer: -. Superuser.com/help .Answering: superuser.com/help/how-to- respuesta , nuevamente bienvenido al superusuario
Gracias