Windows può dirmi cosa sta usando la mia unità USB?


100

Essendo il buon cittadino che sono, faccio clic con il tasto sinistro del mouse sull'icona "Rimozione sicura dell'hardware" nella barra delle applicazioni e seleziono l'unità USB da smontare.

Quindi ricevo il messaggio:

Windows non è in grado di arrestare il dispositivo Volume generico perché è in uso. Chiudi eventuali programmi o finestre che potrebbero utilizzare il dispositivo, quindi riprova più tardi.

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

O c'è un modo che posso scoprire?


1
Ho avuto numerose occasioni con Vista in cui non avrei mai potuto capirlo e non avrebbe "rilasciato" l'USB fino a quando non avessi riavviato / spento. Aggiornato a Win7 e non ho avuto quel problema da allora, quindi ho pensato, almeno sul mio PC, che era un problema di driver di sistema.
BBlake,

Risposte:


58

È possibile utilizzare Sysinternals Process Explorer per trovare l'handle per tutti i file aperti. Basta selezionare il Findmenu e selezionare 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 aperti dall'unità e quale processo li ha aperti.


4
Dopo aver terminato il processo offensivo, Windows non libererebbe ancora l'unità USB. Vai a capire ....
Grantly, il

2
Ho esplorato l'unità solo con Explorer. Quindi da una shell cmd.exe, ho eseguito uno script di backup su quell'unità, che è terminato. Chiusa la finestra di cmd.exe. Ucciso e riavviato Explorer.exe con Taskmgr. Tuttavia, l'unità è in uso e non verrà espulsa.
Kaz,

3
Process Explorer non trova nulla per M:.
Kaz,

2
Se Process explorer non mostra nulla, è possibile utilizzare il software OpenedFilesView di Nirsoft. Non vedrai quale programma sta utilizzando l'unità (o Process Explorer l'avrebbe trovato anche) ma vedrai comunque gli handle, i file utilizzati e avrai la possibilità di chiuderli (se hai voglia di rischiare)
LeFauve

4
Lo stesso Esplora risorse a volte può bloccare le unità. Puoi riavviare Esplora risorse in Task Manager in Windows 10 (scorrere fino in fondo per trovarlo). Nelle versioni precedenti di Windows, dovrai terminare explorer.exe ed eseguire esplicitamente explorer.exe dal menu File.
Christopher Hostage,

113

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

Passo dopo passo:

1) Avvia il visualizzatore eventi

2) Apri "Registri di Windows", quindi "Sistema"

3) Fare clic con il tasto destro su "Sistema" e selezionare "Filtro registro corrente"

4) Nella finestra di dialogo che viene visualizzata, inserisci "225" (senza virgolette) dove viene indicato "Tutti gli ID evento"

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

6) Guarda i timestamp su tutte queste voci e scopri quali si riferiscono al tempo effettivo in cui hai provato a espellere il disco.

7) Intraprendere le azioni appropriate. La fine di un'attività con garbo (chiusura del programma che ha il blocco) è OK per la maggior parte del tempo. Anche l'arresto del servizio di ricerca di Windows è corretto. L'arresto di una scansione antivirus dovrebbe essere corretto (se non sospetti di avere virus al momento). Entrare nel task manager e terminare il processo potrebbe non essere ok. Come affrontarlo va oltre lo scopo di questa domanda.

8) (Salva la vista ...) nel pannello Azioni (nel riquadro a destra) potresti "Salva filtro nella vista personalizzata ...", così lo troverai in "Viste personalizzate" (nel riquadro a sinistra sopra il " Registri di Windows ")

ID processo: Voce del Visualizzatore eventi

Nome del processo: Voce del Visualizzatore eventi

8) Se non si dispone di un'altra voce con un nome di processo , il processo di sistema (ID processo 4) contiene l'unità. Per aggirare questo, dovrai andare alla gestione del disco e mettere l'unità che desideri espellere offline . Se il file si trova sull'unità di avvio, non è possibile metterlo offline. In questo caso, vedere la nota di seguito:

AGGIORNAMENTO 2018 : Ho visto applicazioni come WhatsApp Desktop mantenere gli handle su Chrome Canary tramite il processo di sistema . Dal momento che non è possibile espellere il disco di avvio (perché è in uso), la soluzione era quella di utilizzare un'altra utile utility Sysinternals , chiamata Handle . Dopo aver chiuso il programma che ha il file bloccato, avvia handle ed esegui (come esempio) handle64 "Chrome SxS\Application\chrome.exe"per vedere se gli handle sono ancora presenti sul file che ha il blocco PID 4. Tramite tentativi ed errori, chiudere ciascun programma in esecuzione, fino a quando non ci sono più handle sul file bloccato.

Metodo migliore (a pagamento)

Scarica ed esegui SafelyRemove . Ti aiuta a espellere l'unità e se non può farlo, mostra quali processi hanno un blocco su di essa:

inserisci qui la descrizione dell'immagine


1
Puoi per favore parlare del numero 225. Come l'hai ottenuto?
Ajeeb.KP,

3
The application System with process id 4 stopped the removal or ejection for the device ...Bene ... proverò a disabilitare Distributed Link Tracking Cliente vedere se questo aiuta.
Tithen-Firion,

17
Task Manager di Windows 10 può impedire anche la rimozione! Chi nuovo.
Alex Che,

3
Funziona bene anche con Win7. Probabilmente funziona bene anche su Win8. Grazie per questo metodo Il problema può essere esasperante.
Syndacate,

2
Consiglio utile Grazie per quello Ho salvato una vista personalizzata "Dispositivi bloccati" per un futuro accesso rapido a questa vista filtrata.
Steve Crane,

6

Puoi anche utilizzare la riga di comando per eseguire una query sul registro di Windows , con wevtutil.exe (da Windows 7) con la consapevolezza che Windows Kernel-PnP utilizza l'ID evento 225 per registrare il rifiuto del sistema (sempre con ID processo 4) per rimuovere o espellere il file dispositivo USB \ VID _ #### & PID _ ############ (dove i numeri # indicano numeri esadecimali).

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

Lo uso in uno script batch.


5

Per me (Windows 7).

  1. Premi il tasto Windows
  2. In "cerca programmi e file: digita: diskmgmt.msc
  3. Nell'elenco di ricerca trova la voce e fai clic con il pulsante destro del mouse: seleziona Esegui come amministratore
  4. Immettere le credenziali di amministratore per eseguire "Gestione disco" (se richiesto)
  5. Trova unità USB offensive che non verranno espulse nell'elenco dei dischi
  6. Pannello di sinistra, clic destro selezionare " Espelli "
  7. Le maniglie "dovrebbero" chiudere: puoi sempre ricontrollare in sys internals process explorer

Nota: l' icona della barra delle applicazioni "Rimozione sicura dell'hardware ed espulsione dei supporti" non mostra più l'unità USB, ma solo tre punti

  1. Rimuovere fisicamente l'unità

4
Nessun pannello di sinistra o comando di espulsione in Gestione disco di Windows 7. (Versione 1.00, secondo Aiuto / Informazioni). Posso ridurlo, eliminarlo, contrassegnarlo come attivo, formattare, ... nessun espulsione.
Kaz,

1
Non è stato possibile trovare Espelli, ma l'opzione Offline ha funzionato. E non dimenticare di impostarlo di nuovo online quando ricolleghi il dispositivo di archiviazione.
Adriano P,

2
Recentemente ho usato "Offline" per fermare il mio disco USB-SSD esterno che molto probabilmente era usato in qualche modo dal sistema (Win 10), dopo che la "rimozione sicura" ha funzionato. Qualche tempo dopo ricollego quel disco e ho il disco con la partizione "RAW". L'esecuzione del chkdsk /f f:file system è stata in qualche modo ripristinata, ma tutto è finito in "found,000". Quindi ... quel metodo non sembra essere davvero sicuro. Fortunatamente non avevo nulla di veramente importante su quel disco ...
Xtra Coder

5

Ecco un rapido comando di PowerShell per interrogare il registro eventi e mostrare quale applicazione sta bloccando l'espulsione dell'unità (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 dell'ultima ora in cui il sistema non è stato in grado di espellere un'unità disco. La colonna Messaggio mostra il processo che ha bloccato l'espulsione. Nel mio esempio di seguito, il responsabile attività era in realtà il colpevole e sono stato in grado di espellere dopo aver chiuso il gestore attività.

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.

3

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

Il riavvio del computer sembra "liberare" l'utilizzo del dispositivo. Inoltre, per una rimozione più rapida, puoi disabilitare la memorizzazione nella cache di Windows nella sezione Hardware del tuo dispositivo, a volte Windows impiegherà più tempo del previsto a svuotare la cache su disco esterno e visualizzerà quel messaggio che dice che il dispositivo è in uso (perché sarà Windows stesso)


Simile a questo: in resmon.exe, nella scheda CPU. Scorri verso il basso fino alla casella Maniglie associate. C'è una casella di ricerca di handle di ricerca lì, dove è possibile inserire la lettera dell'unità bloccata.
Andrew,

2

Se apri "Risorse del computer" e l'unità non è elencata nelle intestazioni "Archivi rimovibili", per qualche motivo Windows la visualizza come risorsa di sistema fissa. Dovrai smontare tutte le partizioni sul disco.

In questo caso, apri "Gestione computer", quindi vai a "Gestione disco". Per ogni partizione sul dispositivo, fare clic con il tasto destro del mouse sulla partizione, selezionare "Cambia lettere e percorsi di unità" e rimuovere tutte le lettere di unità assegnate a quella partizione. Una volta fatto, dovresti scoprire che la funzione "espulsione sicura" funziona come speravi.


1
Funzionava esattamente come descritto sul mio laptop con Windows 7 Home Premium. Vorrei che il pulsante in Windows usasse la parola "Smonta" invece di "Rimuovi" (che è preoccupante come "elimina" nella mia mente).
steveOw

0

Aveva USB che Windows segnalava di essere in uso ... uguale a tutti gli altri qui.

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

Trova scorrendo - Esplora risorse. ed evidenziare.

In basso a destra c'è un bel pulsante amichevole chiamato "Riavvia processo"

Controlla tre volte che "Windows Explorer" sia l'unica cosa evidenziata.

Fare clic con il tasto sinistro del mouse sul pulsante "Riavvia processo".

Ho avuto un solo Explorer, altri a volte ne hanno due. Basta notare quale torna. Prova a chiudere / espellere l'USB. Il mio ha funzionato bene, chiudere l'USB.

Se il tuo non viene espulso / chiuso, probabilmente era l'altro Explorer. Riprova e riavvia quello. In bocca al lupo.


4
Benvenuto in superutente: rileggi attentamente la domanda. La tua risposta non risponde alla domanda originale. "Windows può dirmi cosa sta usando la mia unità USB?" Per favore, prenditi un paio di minuti e leggi: - superuser.com/help .Risposta: superuser.com/help/how-to- risposta , di nuovo benvenuto nel superutente
Grazie
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.