2009-12-24 17:00:39 +0000 2009-12-24 17:00:39 +0000
107
107

O Windows pode dizer-me o que está a usar a minha unidade USB?

Sendo o bom cidadão que sou, clico com o botão esquerdo do rato no ícone “Remover Hardware com Segurança” na minha barra de tarefas, e selecciono a minha unidade USB para desmontar.

Depois recebo a mensagem:

Windows não pode parar o seu dispositivo de volume genérico porque está a ser utilizado. Feche quaisquer programas ou janelas que possam estar a usar o dispositivo, e depois tente novamente mais tarde.

& Claro que, sendo o Sistema Operativo, ele sabe exactamente que aplicações estão a utilizar o meu dispositivo. Então porque é que não me diz?

Ou há alguma forma de eu poder descobrir?

Respostas (8)

119
119
119
2016-07-18 01:20:26 +0000

Método mais simples : Windows (10 pelo menos, AFAIK) cria uma entrada no registo de eventos quando se tenta ejectar uma unidade amovível e não se pode porque um processo tem um cadeado. Os dois Event IDs 225 mostrarão o ID do processo e o nome do processo responsável pelo cadeado.

Passo a passo:

1) Iniciar o visualizador de eventos

2) Abrir “Windows Logs” e depois “System”

3) Clicar com o botão direito em “System” e escolher “Filter Current Log”

4) No diálogo que aparece, introduzir “225” (sem aspas) onde diz “All Event IDs”

5) Verá então todos os eventos relacionados com a impossibilidade de ejectar porque um processo bloqueou a unidade.

6) Veja os carimbos temporais em todas estas entradas e descubra quais se relacionam com o tempo real quando tentou ejectar a unidade.

7) Tomar as medidas apropriadas. Terminar uma tarefa graciosamente (fechar o programa que tem a fechadura) está OK a maior parte do tempo. Parar o serviço de pesquisa do Windows também está OK. Parar um scan antivírus deve estar OK (se não suspeitar que tem algum vírus na altura). Entrar no gestor de tarefas e matar o processo pode não estar OK. Como lidar com isto está para além do âmbito desta questão.

8) (Guardar a vista…) no painel de acções (na moldura direita) poderia “Guardar Filtro para Vista Personalizada…” para que o encontre em “Vista Personalizada” (na moldura esquerda acima dos “Logs do Windows”)

ID do Processo:

Nome do Processo:

8) Se não tiver outra entrada com um nome de processo , o processo do Sistema (processo id 4) está a segurar a sua unidade. Para contornar este terá de ir à gestão do disco e colocar a unidade que pretende ejectar offline . Se o ficheiro estiver na sua unidade de arranque, não o pode colocar offline. Neste caso, ver a nota abaixo:

UPDATE 2018 : Já vi aplicações tais como WhatsApp Desktop keep handles on Chrome Canary via the System Process . Uma vez que não se pode ejectar o disco de arranque (beacuse está em uso), a solução foi utilizar outro Sysinternals utilitário, chamado Handle . Depois de fechar o programa que tem o ficheiro bloqueado, iniciar o cabo e executar (como exemplo) handle64 "Chrome SxS\Application\chrome.exe" para ver se os cabos ainda estão presentes no ficheiro que tem o PID 4 lock. Através de tentativa e erro, fechar cada programa em execução, até que não haja mais pegas no ficheiro bloqueado.

Melhor método (pago)

Descarregar e executar SafelyRemove . Ajuda-o a ejectar a unidade e, se não o conseguir fazer, mostra quais os processos que têm um cadeado:

60
60
60
2009-12-24 17:03:57 +0000

Pode usar Sysinternals Process Explorer para encontrar o cabo para quaisquer ficheiros que estejam abertos. Basta seleccionar o menu Find e seleccionar Find Handle or DLL. Na caixa de diálogo que se abre, introduza a letra de unidade na caixa de pesquisa. Os resultados da pesquisa devem mostrar todos os ficheiros que estão abertos a partir da unidade e qual o processo que os tem abertos.

6
6
6
2018-03-09 07:36:41 +0000

Também pode usar linha de comando para consultar o log do Windows , com wevtutil.exe (desde Windows 7) com o conhecimento de que o Windows Kernel-PnP usa o Event ID 225 para registar o sistema (tendo sempre o id 4 do processo) recusa de remover ou ejectar o dispositivo USB\VID_####&PID_############ (onde os números hexadecimais do # denotam números hexadecimais).

wevtutil qe System /q:"*[System[(EventID=225)]]" /c:5 /f:text /rd:true
  • qe Sistema : consultar eventos do log do sistema
  • - /q : consultar com XPath
  • EventID=225 significa que o sistema recusou um pedido de ejecção
  • - /c:5 : número de entradas a recuperar (5 aqui)
  • - /f:texto : formato (por defeito é xml)
  • - /rd:true : ordem inversa (o mais recente primeiro)

Eu utilizo-o num script de lote.

6
6
6
2018-09-07 16:15:11 +0000

Aqui está um rápido comando PowerShell para consultar o registo de eventos e mostrar qual a aplicação que está a bloquear a ejecção da unidade (funciona para mim com Windows 10, provavelmente funciona com 7/8 também)

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

A saída listará todas as instâncias na última hora em que o sistema não conseguiu ejectar uma unidade de disco. A coluna Message mostra o processo que bloqueou a ejecção. No meu exemplo abaixo, o gestor de tarefas foi de facto o culpado e eu consegui ejectar depois de fechar o gestor de tarefas.

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_557500445301013C111B1A0.
   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_557500445301013C111B1A0.
5
5
5
2016-01-12 12:44:42 +0000

Para mim (Windows 7).

  1. carregar na tecla Windows
  2. Em “search programs and files: type: diskmgmt.msc*
  3. Em "search list find entry” e clique com o botão direito do rato - select run as administrator
  4. Introduza as credenciais de administrador para executar “Gestão de discos” (se necessário)
  5. Encontrar unidade usb ofensiva que não ejectará na lista de discos
  6. Painel do lado esquerdo, clicar no botão direito do rato seleccionar “ Ejectar
  7. Manipula “deve” fechar - pode sempre verificar duas vezes no sys internals process explorer

Nota: “Remover com segurança hardware e ejectar media” ícone da barra de tarefas já não mostra unidade usb - apenas três pontos

  1. Remover fisicamente a unidade
3
3
3
2016-12-21 17:48:21 +0000

Pode começar resmon.exe (através de WIN+R), ir a disco > Disk Activity > Sort by File Agora pode ver todos os ficheiros a serem acedidos pelo sistema e quais os processos que estão a aceder aos mesmos, ordenados pelo caminho do ficheiro (que btw começa com uma letra de unidade). Pode não funcionar com todos os casos, mas é uma abordagem simples.

Reiniciar o computador parece “libertar” a utilização do dispositivo. Também para uma remoção mais rápida, pode desactivar o cache do Windows na secção de Hardware do seu dispositivo, por vezes o Windows demorará mais tempo do que o esperado a descarregar a cache para o disco externo e exibirá essa mensagem dizendo que o dispositivo está a ser utilizado (porque será, pelo próprio Windows)

2
2
2
2016-12-03 20:50:45 +0000

Se abrir “O meu computador” e a sua unidade não estiver listada sob os cabeçalhos “Armazenamento amovível”, então o Windows está a vê-lo como um recurso fixo do sistema por alguma razão. Terá de desmontar quaisquer partições na unidade.

Se for este o caso, abra “Gestão de Computador”, depois vá para “Gestão de Disco”. Para cada partição no dispositivo, clique com o botão direito do rato na partição, seleccione “Alterar Letras e Caminhos da Unidade”, e remova quaisquer letras de unidade atribuídas a essa partição. Assim que o fizer, deverá descobrir que a função “ejectar em segurança” funciona como esperava.

0
0
0
2018-03-26 07:53:55 +0000

Tinha o USB que o windows reportou como estando em uso… o mesmo que todos os outros aqui.

No Windows 10 Ctrl+Alt+Del chega ao Gestor de Tarefas.

Encontrar através de rolagem - Explorador do Windows. e destaque.

Em baixo à direita está um botão simpático chamado “Restart Process”

Dupla tripla verificação de que “Windows Explorer” é a única coisa em destaque.

Clique com o botão esquerdo do rato sobre o botão amigável “Restart Process”.

Eu só tinha um único Explorador, outros por vezes têm dois. Basta anotar qual deles volta a funcionar. Tente fechar/ejectar o USB. O meu funcionou bem, feche o USB.

Se o seu não ejectar/fechar, então provavelmente foi o outro Explorador. Tente de novo e volte a tentar. Boa Sorte.