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

Windows può dirmi cosa sta usando il mio drive USB?

Essendo il buon cittadino che sono, clicco con il tasto sinistro del mouse sull'icona “Rimozione sicura dell'hardware” nella mia barra delle applicazioni, e seleziono il mio drive USB da smontare.

Poi ricevo il messaggio:

Windows non può fermare il tuo dispositivo volume generico perché è in uso. Chiudi qualsiasi programma o finestra che potrebbe usare il dispositivo e riprova più tardi.

Naturalmente, essendo il sistema operativo, sa esattamente quali applicazioni stanno usando il mio dispositivo. Allora perché non me lo dice?

O c'è un modo per scoprirlo?

Risposte (8)

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

Metodo più semplice : Windows (10 almeno, AFAIK) crea una voce nel registro eventi quando si cerca di espellere un'unità rimovibile e non è possibile perché un processo ha un blocco su di essa. I due Event ID 225 mostreranno l'ID del processo e il nome del processo responsabile del blocco.

Passo dopo passo:

1) Avviare il visualizzatore di eventi

2) Apri “Registri di Windows” e poi “Sistema”

3) Fai clic destro su “Sistema” e scegli “Filtra registro corrente”

4) Nella finestra di dialogo che si apre, inserisci “225” (senza virgolette) dove dice “Tutti gli ID degli eventi”

5) Vedrai quindi tutti gli eventi relativi all'impossibilità di espellere perché un processo ha bloccato l'unità.

6) Guardate i timestamp di tutte queste voci e scoprite quali si riferiscono all'ora effettiva in cui avete cercato di espellere il disco.

7) Prendete l'azione appropriata. Terminare un'attività con grazia (chiudendo il programma che ha il blocco) è OK la maggior parte delle volte. Anche fermare il servizio Windows Search è ok. Fermare una scansione antivirus dovrebbe andare bene (se non sospettate di avere alcun virus in quel momento). Andare nel task manager e uccidere il processo potrebbe non essere ok. Come affrontare questo è oltre lo scopo di questa domanda.

8) (Salva la vista…) nel pannello Azioni (nel riquadro di destra) potresti “Salvare il filtro nella vista personalizzata…” così lo troverai in “Viste personalizzate” (nel riquadro di sinistra sopra i “Registri di Windows”)

Process ID:

Process Name:

8) Se non avete un'altra voce con un nome di processo , il processo System (process id 4) sta tenendo il vostro disco. Per aggirare questo dovrete andare in gestione disco e mettere l'unità che volete espellere offline . Se il file è sul vostro disco di avvio, non potete metterlo offline. In questo caso, vedi la nota qui sotto:

Aggiornamento 2018 : Ho visto applicazioni come WhatsApp Desktop mantenere le maniglie su Chrome Canary tramite il processo di sistema . Dato che non è possibile espellere il disco di avvio (perché è in uso), la soluzione è stata quella di utilizzare un'altra ingegnosa utility Sysinternals , chiamata Handle . Dopo aver chiuso il programma che ha il file bloccato, lanciate handle ed eseguite (come esempio) handle64 "Chrome SxS\Application\chrome.exe" per vedere se gli handle sono ancora presenti sul file che ha il blocco PID 4. Per tentativi ed errori, chiudete ogni programma in esecuzione, finché non ci sono più maniglie sul file bloccato.

Metodo migliore (a pagamento)

Scarica ed esegui SafelyRemove . Ti aiuta ad espellere il disco e se non può farlo, mostra quali processi hanno un blocco su di esso:

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

Puoi usare Sysinternals Process Explorer per trovare l'handle di qualsiasi file aperto. Basta selezionare il menu Find e scegliere Find Handle or DLL. Nella finestra di dialogo che si apre inserisci la lettera dell'unità nella casella di ricerca. I risultati della ricerca dovrebbero mostrare tutti i file che sono aperti dall'unità e quale processo li ha aperti.

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

Potete anche usare la linea di comando per interrogare il log di Windows , con wevtutil.exe (da Windows 7) con la consapevolezza che il Windows Kernel-PnP usa l'Event ID 225 per registrare il rifiuto del sistema (che ha sempre process id 4) di rimuovere o espellere il dispositivo USB\VID_####&PID_############ (dove i # indicano numeri esadecimali).

wevtutil qe System /q:"*[System[(EventID=225)]]" /c:5 /f:text /rd:true
  • qe System : interroga gli eventi dal log di sistema
  • /q : interroga con XPath
  • EventID=225 significa che il sistema ha rifiutato una richiesta di espulsione
  • /c:5 : numero di voci da recuperare (5 qui)
  • /f:text : formato (predefinito è xml)
  • /rd:true : ordine inverso (prima il più recente)

Lo uso in uno script batch.

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

Ecco un rapido comando PowerShell per interrogare il registro eventi e mostrare quale applicazione sta bloccando l'espulsione del disco (funziona per me con Windows 10, probabilmente funziona anche con 7/8)

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

L'output elencherà tutte le istanze nell'ultima ora in cui il sistema non ha potuto espellere un disco. La colonna Messaggio mostra il processo che ha bloccato l'espulsione. Nel mio esempio qui sotto, il task manager era in realtà il colpevole e sono stato in grado di espellere dopo aver chiuso il task manager.

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

Per me (Windows 7).

  1. Premere il tasto Windows
  2. In “cerca programmi e file: digita: diskmgmt.msc
  3. Nell'elenco di ricerca trova la voce e fai clic destro - seleziona esegui come amministratore
  4. Inserire le credenziali di amministratore per eseguire "Gestione disco” (se richiesto)
  5. Trovare l'unità usb incriminata che non viene espulsa nell'elenco dei dischi
  6. Pannello di sinistra, fare clic con il tasto destro del mouse e selezionare “Eject
  7. Le maniglie “dovrebbero” chiudersi - puoi sempre ricontrollare in sys internals process explorer

Nota: “Safely remove hardware and eject media” l'icona della barra delle applicazioni non mostra più l'unità usb - solo tre punti

  1. Rimuovere fisicamente l'unità
3
3
3
2016-12-21 17:48:21 +0000

Potete avviare resmon.exe (tramite WIN+R), andare su disco > Attività disco > Ordina per file Ora potete vedere tutti i file a cui il sistema accede e quali processi vi accedono, ordinati in base al percorso del file (che btw inizia con una lettera di unità). Potrebbe non funzionare in tutti i casi, ma è un approccio semplice.

Riavviare il computer sembra “liberare” l'uso del dispositivo. Inoltre, per una rimozione più veloce, è possibile disabilitare la cache di windows nella sezione Hardware del dispositivo, a volte windows impiegherà più tempo del previsto per lavare la cache sul disco esterno e visualizzerà quel messaggio dicendo che il dispositivo è in uso (perché lo sarà, da Windows stesso)

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

Se apri “Risorse del computer” e il tuo disco non è elencato sotto le intestazioni “Memoria rimovibile”, allora Windows lo sta vedendo come una risorsa di sistema fissa per qualche motivo. Dovrai smontare qualsiasi partizione sul disco.

Se questo è il caso, apri “Gestione computer”, poi vai a “Gestione disco”. Per ogni partizione sul dispositivo, fai clic con il tasto destro del mouse sulla partizione, seleziona “Cambia lettere di unità e percorsi” e rimuovi tutte le lettere di unità assegnate a quella partizione. Una volta fatto questo, dovreste scoprire che la funzione “espulsione sicura” funziona come sperato.

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

Avevo una USB che windows ha segnalato come in uso… come tutti gli altri qui.

In Windows 10 Ctrl+Alt+Canc arriva a Task Manager.

Trova scorrendo - Windows Explorer. ed evidenzia.

In basso a destra c'è un simpatico pulsante chiamato “Riavvia il processo”

Doppio triplo controllo che “Windows Explorer” sia l'unica cosa evidenziata.

Cliccate con il tasto sinistro del mouse sull'amichevole pulsante “Restart Process”.

Io avevo un solo Explorer, altri a volte ne hanno due. Basta notare quale si riaccende. Prova a chiudere/espellere l'USB. Il mio ha funzionato bene, chiudi l'USB.

Se il tuo non espelle/chiude, allora probabilmente era l'altro Explorer. Prova di nuovo e ripristina quello. Buona fortuna.