La rimozione sicura dell'unità USB esterna non riesce a causa di $ extension


26

Quando collego un disco rigido USB 3.0 esterno alle mie porte USB 3.0 non riesco mai a rimuoverlo in sicurezza.

In qualche modo Windows mantiene sempre aperti i file journal: inserisci qui la descrizione dell'immagine "Sempre" come in questo momento ho collegato solo l'unità, copiato una macchina virtuale da 10 GB e volevo disconnetterla in seguito (come 15 minuti dopo la copia, quindi tutta la copia è stata eseguita).

Come puoi vedere, nessun altro programma mantiene un handle sul disco oltre a System . Ho provato a riavviare explorer.exee anche RemoveDrive.exeda Uwe Sieber . Nessuna fortuna, i blocchi sul disco rigido rimangono sempre.

La mia unica soluzione è semplicemente scollegarlo (mentre ho paura di danneggiare i dati?) O riavviare il computer (aiuta sempre, no?).

Potrebbe avere qualcosa a che fare con me che ho solo un disco rigido SSD e il disco esterno è un disco normale? Potrebbe avere qualcosa a che fare con i driver USB 3.0 (NEC Electronics USB Hub)? Non ho mai questo problema quando utilizzo le normali porte USB 2.0.

Qualche idea su come smontare correttamente il disco?


Se una di queste risposte fosse la soluzione, sentiti libero di votare o contrassegnarle come risposta.
user88311,

Risposte:


25

Sono venuto alla ricerca di una possibile spiegazione o di un modo più semplice (leggi: automatizzato / con script) per cancellare questo "blocco" sui metadati MFT / TxF / NTFS. Ho pensato di buttarlo lì, dato che ho una soluzione che ha funzionato per me in innumerevoli situazioni. L'ho usato per rimuovere tutti i tipi di unità USB ed eSATA che si bloccano in questo modo. Il problema sembra essere principalmente le unità rimovibili che si montano come unità fisse, come quelle in un dock eSATA o in un contenitore USB. Le chiavette USB in genere non sembrano presentare questo problema per me.

Un elemento degno di nota su quest'ultima distinzione: Sandisk Extreme USB 3.0, una strana bestia composta da un controller SSD nel corpo di una chiave USB, si presenta anche come unità fissa, sebbene non sembri avere problemi a essere tirato senza tante cerimonie e senza viene eseguita qualsiasi rimozione sicura, quindi suppongo che almeno disabiliti la memorizzazione nella cache di scrittura a causa della sua velocità e potenzialmente anche qualcos'altro, poiché non sembra mai avere questo problema, mantenendo sempre la sua rimovibilità istantanea. Non necessariamente un esempio perfetto, dato che non sono stato accurato nei miei test (questo è solo aneddotico), ma potrebbe far luce su questo a causa della sua natura "fissa", ma apparentemente mancanza di suscettibilità a questo problema. Solo spunti di riflessione.

<- La soluzione ->

Comunque, in poche parole, è necessario disconnettere l'unità. Puoi farlo in due modi. Nota: ci sono modi leggermente più brevi per farlo, ma qui ci sono i passaggi ridicolmente accurati perché non conosco il mio pubblico. Il metodo GUI è di gran lunga il più veloce, a causa del fatto che diskpart.exe non accetta switch o comandi / argomenti in linea.

  1. GUI: Esegui -> "diskmgmt.msc" -> Trova l'unità nell'elenco dei dischi fisici (riquadro inferiore) -> fai clic con il pulsante destro del mouse sull'unità (la parte più a sinistra), non sulla partizione -> Fai clic su "Offline"

O:

  1. CLI: Esegui -> "cmd.exe" -> digita "diskpart" -> digita "list disk", trova il tuo disco # -> digita "select disk x", dove x è il # del tuo disco dall'ultimo passaggio -> digita "disco offline". Ora puoi uscire dal prompt dei comandi o semplicemente digitare "esci" su diskpart, quindi chiudere il prompt.

Gli appunti:

  • Tutto ciò che è importante dovrebbe essere offline il volume in quanto ciò rimuoverà il blocco di NTFS sull'unità, ma offlining il disco è più semplice e completo.

  • I dischi # sono sempre identici tra diskpart.exe e diskmgmt.msc perché stanno estraendo le informazioni dallo stesso posto, nel caso in cui tu sia curioso / preoccupato / cauto.


1
Torre, questo sembra fantastico. Non vedo l'ora di provare. E sì, questo succede sempre con le unità fisse per me, generalmente unità esterne che ospitano macchine virtuali. Rimane una domanda: dopo aver impostato l'unità esterna offline cosa succede? Staccare la spina? Rimozione sicura?
Dennis G,

Questo ha funzionato per me.
Hattenn,

Questo sembra utile, grazie. La risposta di @elieux è più semplice se è solo Task Manager a causare il problema.
Modifica Reg

Stavo solo rivisitando alcune vecchie domande e ho verificato il collegamento a Uwe Sieber rimossorive.exe che hai notato, e ho la sensazione che funzionerebbe tramite lo stesso meccanismo (disallineamento e smontaggio sono piuttosto vicini in termini di implicazioni pratiche, il primo essendo per un'unità fisica (emulata o meno, come un volume iSCSI) e quest'ultima essendo per una partizione / volume montata (cioè C :, X: ecc.) ... non sei sicuro di come funzionano allo stesso modo sotto i fogli) se tu ha usato l'opzione "-e". Secondo le istruzioni rimosse.exe: "" [-e] prova a smontare ed espellere se la rimozione non riesce ""
Torre

Infine, sembra che lo stesso Uwe Sieber spieghi le basi dei meccanismi in gioco a livello di codice / API e livelli di errore: codeproject.com/Articles/13839/…
Rook,

10

Oggi mi è venuto in mente di cercare nel registro degli eventi. L'ho trovato subito dopo il tentativo di rimozione:

log: Sistema, fonte: Kernel-PnP, ID evento: 225, livello: avviso

L'applicazione \ Device \ HarddiskVolume2 \ Windows \ System32 \ Taskmgr.exe con ID processo 6436 ha interrotto la rimozione o l'espulsione del dispositivo [...]

Così ho chiuso Task Manager e Safe Remove ha funzionato.


Eccellente! Questo ha risolto il problema per me. Ora perché Microsoft non ha potuto inserire tali informazioni nella finestra di dialogo che dice "un programma" sta ancora utilizzando l'unità!
Modifica Reg

Fantastico, questo ha risolto il problema anche per me. Windows 10. Ho scoperto che avevo Taskmgr in avvio automatico. Quindi, perché Taskmgr blocca le unità USB?
weberjn

sebbene offline (vedi la risposta di @ rook) e roba da fsutil ha funzionato in passato per me, oggi no. ProcessExplorer pensava che fosse solo il "sistema" a eseguire il blocco. In ogni caso, EventViewer ha mostrato lo stesso colpevole di te (TaskManager), quindi l'ho chiuso fuori ed ero d'oro.
mpag,

5

Ho creato questo script batch per "sbloccare" qualsiasi volume. Basta eseguire lo script .bat come amministratore, selezionare il volume e premere INVIO. Dopo di ciò dovresti essere in grado di utilizzare "Rimozione sicura" come al solito per staccare l'unità.

@echo off
@cls

set tempfile="%TEMP%\diskscrp.dsk"

echo.
echo   === Disk removal tool ===
echo.
echo   Select the disk volume number
echo   (if the disk has multiple volumes, select any of them)
echo.
echo list volume | diskpart | findstr /C:Volume /C:---
echo.
set /p volume="   Selected volume: "
echo.

echo select volume %volume% >>%tempfile%
echo offline disk >>%tempfile%
echo online disk >>%tempfile%

diskpart /s %tempfile% | findstr /C:"not valid"

if "%ERRORLEVEL%"=="1" (
  echo   Disk has been unlocked successfully.  Try to safely remove it now.
)

del /F %tempfile%

Questo script si basa sul suggerimento di @Rook, quindi viene utilizzato diskpartper rendere offline il disco. Al termine, tutte le maniglie vengono forzatamente chiuse. La differenza in questo script è che ripristina automaticamente il disco online, in modo che possa essere riconosciuto alla successiva connessione al sistema.


Dolce! Non l'ho usato, ma apprezzo la tua iniziativa nel rendere più facile per tutti gli altri ... Ho ottenuto alcune altre utility che danno maggiori informazioni (es. Hotswap !: mt-naka.com/hotswap/index_enu.htm ) unità rimovibili / fisse rispetto a quella integrata di Windows, ma non ho trovato una soluzione offline sporca e veloce, quindi è fantastico!
Torre

3

Una grande parte delle combinazioni di unità esterne / SO Windows presenta questo problema, forse la maggior parte.

Quello che faccio è dormire la mia scatola (un laptop) e attendere i dieci secondi necessari per spegnere l'unità esterna (riesco a sentirlo). Quindi scollegare.

Se il sistema è in modalità di sospensione, tutte le operazioni di I / O sono complete e il bus I / O viene sospeso. Aspettare che l'unità si spenga è "cintura e bretelle".

(Nota che se uno è troppo paranoico per quell'approccio, fare un letargo dovrebbe essere completamente sufficiente. Non dovrebbe essere necessario uno spegnimento completo.)


Una soluzione alternativa, ma dovrebbe funzionare.
Dennis G,

1

Per ora puoi semplicemente provare a scollegare l'esterno spegnendo il computer e quindi scollegandolo, quindi tentando la perdita di dati e quindi configurandolo per una facile rimozione in modo da prevenire la perdita di dati quando semplicemente scollegalo senza smontarlo.

A dire il vero sembra un po 'come un errore MBR in cui l'unità è bloccata vedendosi come sempre collegata, nel qual caso se si dovesse scollegare l'unità mentre era accesa si potrebbe danneggiare l'MBR e lasciarti con 2 opzioni, riparando manualmente l'MBR o il tentativo di utilizzare software come la riparazione dell'MBR per poter accedere nuovamente all'unità, oppure utilizzare software come gparted per formattare nuovamente il disco e impostare una nuova tabella delle partizioni in cui si è verificato l'errore.


"quindi impostalo per una facile rimozione" <- potresti elaborare cosa intendi? Come faccio a sapere che l'unità pensa che sia sempre collegata, ovvero che non sia un'unità USB esterna?
Dennis G,

Ricollegare l'unità una volta che è stata rimossa nello stato di spegnimento e il computer è stato riavviato, proprietà, hardware, fare clic sull'unità, proprietà, criteri, ottimizzare per una rapida rimozione. EDIT: Nella tua domanda affermi che in realtà è un'unità USB esterna.
user88311

Nella maggior parte dei casi il sistema installa unità esterne con il flag "rimozione rapida" impostato. E, credo, questa impostazione dovrebbe rendere "altamente improbabile" che il semplice scollegamento dell'unità causi problemi.
Daniel R Hicks,

1

Credo che questi file appartengano al NTFS transazionale (TxF).

Ho sentito che Transactional NTFS è utilizzato dall'aggiornamento automatico, ma non ho idea del perché il sistema vorrebbe posizionarlo su un disco esterno e quindi non riuscire a fermarlo su una richiesta di rimozione sicura. Le informazioni sulle risorse di Fsutil non mostrano alcuna attività.

Prova nella console cmd:

Fsutil risorsa stop E:

o, se non aiuta,

fsutil resource setautoreset true

e riavviare. Puoi anche provare a interrompere un servizio relativo a TxF in Gestione computer / Servizi


Questa è roba piuttosto interessante! Lo esaminerò la prossima volta che succede.
Dennis G,

2
Ma ... non funziona. Quando si esegue fsutil resource stop <drive:>sysinternals handle.exenon mostra alcun handle. Quindi vengono rimossi, ma quando provo a rimuoverlo in modo sicuro, le maniglie sono tornate dove erano.
Dennis G,

0

Di recente ho avuto la stessa cosa con un'unità flash. Come te, ho continuato a mostrare le maniglie $ Extend attive e ho pensato che mi impedissero di rimuovere l'unità in modo sicuro. Mi sono imbattuto in questa domanda e ho provato il fsutilsuggerimento di Sem senza alcun effetto. Quello che ha funzionato per me è stato smontare manualmente l'unità. Poiché la mia unità flash è stata montata come F :, ho eseguito:

mountvol f: /d

Ho quindi scollegato l'unità, ricollegata e rimontata utilizzando mountvol f: <volumename> e usato per un po '. Quando ho finito, ho controllato gli handle attivi e ho visto le stesse voci $ Extend che avevo notato in precedenza. Quando ho provato a fare la rimozione normale "normale", tuttavia, è riuscito nonostante le maniglie attive.

Non so se è stata una pura possibilità che questo abbia funzionato per me, ma lo aggiungo qui nel caso in cui aiuti qualcun altro.


Penso che la cosa $ extension sia un'aringa rossa - c'è qualche altra ragione che impedisce a Windows di smontare l'unità.
Daniel R Hicks,

D'accordo, quella realizzazione è stata la ragione principale per cui ho pubblicato questa risposta. Avevo inseguito $ extendere problemi inutilmente e ho scoperto che quelle maniglie non causano problemi con la rimozione sicura. Spero solo che da quando quell'aringa rossa mi abbia portato a questa domanda, forse questa risposta aiuterà il prossimo pescatore sfortunato :).
ajk il
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.