Qual è la logica alla base della rimozione sicura dei supporti USB dai PC Windows? [duplicare]


97

Molto spesso quando sono di fretta, estraggo automaticamente un pendrive USB o un cavo USB da un disco rigido esterno dal mio PC desktop o laptop, senza fare clic con il pulsante destro del mouse sull'icona di rimozione sicura nella barra delle applicazioni e scollegarlo tramite questo percorso . Finora non è successo nulla di spiacevole ogni volta che "sono stato di fretta".

Qual è la logica alla base del clic destro sull'icona di rimozione sicura e posso davvero perdere informazioni sui supporti USB se questo non viene eseguito?

modificare

La possibilità di perdere tali informazioni è notevolmente aumentata , se il supporto USB lampeggia ancora al momento di estrarlo dal computer (al contrario del non lampeggiante)?


5
@woliveirajr, questo non è niente di simile al duplicato? Uno sta chiedendo di espellere e si riferisce a CD ROM e Kindles dove in questo caso si tratta di capire se le informazioni potrebbero essere perse se rimosse in modo non sicuro. Felice di sbagliarmi, ma non riesco a vederlo.
Dave,


2
@Simon: in effetti volevo la domanda superuser.com/questions/619076/… , ma era contrassegnata come duplicata di quella collegata nel mio commento. E la risposta di "Augustus Francis" riguarda la tua domanda
woliveirajr,


1
Prova a fare clic con il pulsante sinistro del mouse sull'icona Rimuovi in ​​modo sicuro per rimuovere un dispositivo in modo sicuro anziché fare clic con il pulsante destro. È più veloce.
djhurio,

Risposte:


104

Sì, è possibile che cosa succede se si rimuove il dispositivo quando è in uso (lettura o scrittura).

Quando si collega un'unità USB, si dà libero sfogo al proprio PC per scrivere e leggere i dati da essa; alcuni dei quali sono memorizzati nella cache.

La memorizzazione nella cache si verifica non scrivendo immediatamente le informazioni sul dispositivo USB e invece conservandole nella memoria del PC (RAM). Se dovessi strappare l'unità USB dal tuo PC prima che queste informazioni vengano scritte o durante la sua scrittura, finirai con un file danneggiato.

Tuttavia, Windows disabilita automaticamente la memorizzazione nella cache su dispositivi USB, a meno che non si dichiari espressamente di volerlo abilitare. Per la maggior parte non è necessario fare clic sul pulsante "Rimozione sicura dell'hardware", se non si sta scrivendo o leggendo nulla dal dispositivo.

È lì semplicemente come un ulteriore livello di sicurezza che ti impedisce di distruggere i tuoi file.

In questo modo i file si chiudono "con grazia", ​​preservando dati, puntatori e indicatori delle dimensioni del file. Quando si scrive su disco, il computer non "scarica" ​​sempre un buffer e potrebbe essere stata scritta solo una parte dei dati. L'uso della procedura corretta assicurerà che i dati e i puntatori siano in buona forma.

fonte


41
Vorrei aggiungere che mentre la memorizzazione nella cache è disabilitata per impostazione predefinita sulle pen drive USB, è noto che le persone cambiano quelle impostazioni predefinite. Quindi, per favore, non strappare nessuna unità su un computer casuale. (Il motivo per cambiarlo è un enorme aumento di velocità).
Hennes,

Una volta in questo modo ho perso tempo (ma non dati). Il file non è mai arrivato all'unità flash perché avevo fretta. Tuttavia, non è mai successo più, suppongo che la memorizzazione nella cache non sia molto comune.
Thomas,

Ho visto errori di "scrittura ritardata" quando ciò accade.
TecBrat,

5
Penso che sia molto più che solo cache ... Windows negherà attivamente la rimozione sicura se l'unità è in uso.
Ben Voigt,

5
Darei a questa risposta un +1 se menzionasse anche il fatto che Windows si assicura che nessun file sia attualmente aperto sull'unità. Molti processi come explorer.exefare cose stupide con i file sul tuo disco senza che tu lo sappia, ed è bene assicurarsi che nessuno di quei Tom Foolery stia succedendo prima di scollegarlo. Per non parlare del fatto che ad alcune persone piace fare cose ancora più stupide come aprire un foglio di calcolo di Excel direttamente sul disco, quindi dimenticare che Excel è aperto.
Phil,

45

Un secondo motivo è che le unità flash devono avere un'alimentazione stabile per ~ 0,25 secondi dopo un comando di scrittura. Questo è un problema fisico fondamentale, a causa di fattori casuali che alcune scritture possono lasciare 1 bit logico in uno stato elettrico 0,72. La correzione è semplice: basta riscrivere il bit, forse anche alcune volte. Alla fine si attaccherà.

Se sei davvero sfortunato, il bit che cade sarà in una tabella del filesystem e corrotto, ad esempio un'intera directory.


24
Questo è interessante - posso ottenere un riferimento dove posso leggere di più su ciò che sta accadendo?
SqlRyan,

C'è qualche utilità che puoi usare per verificare se le directory sono state danneggiate?
JFW,

@JFW Yep; basta aprire l'unità flash e navigare tra le cartelle. Se manca qualcosa o ti dà un messaggio del tipo 'directory potrebbe essere danneggiata', sai che c'è corruzione (o almeno che il bit sporco non è mai stato cancellato, il che di solito significa che c'è corruzione).
AJMansfield,

9
@SqlRyan, ecco un documento sugli effetti della perdita di potenza e degli errori di scrittura
SeanC

1
@JFW: su Windows, il controllo degli errori standard proverà a farlo. (Trovato nella finestra delle proprietà di ogni unità). @ AJMansfield: la corruzione flash dovuta a interruzioni di corrente non funziona in questo modo. Il bit sporco potrebbe essere stato cancellato dall'ultima scrittura, terminando con un ragionevole 0,023, mentre un altro bit (metadata) è finito con un 0,59 che richiede una riscrittura. Non è una proprietà per settore. (Flash non funziona comunque su base settoriale, troppo fine.)
MSalters,

21

Poche persone si rendono conto di tutto ciò che accade sotto il cofano di un'unità flash. A differenza dei dischi rigidi in cui un settore viene cancellato e sovrascritto in un unico passaggio, le unità flash possono scrivere dati su una pagina vuota a 528 byte molto più velocemente di quanto possano eseguire un ciclo di cancellazione. Inoltre, poiché ogni circuito di controllo della cancellazione consumerebbe una buona quantità di silicio, i chip flash generalmente non hanno un circuito separato per ogni pagina ma ne hanno invece uno per "blocco", dove ogni blocco contiene centinaia o migliaia di pagine. Ciò significa che ogni volta che dati diversi vengono scritti in un settore, verranno scritti in un'area precedentemente vuota e la vecchia copia contrassegnata in qualche modo come "obsoleta". Ad un certo punto, il flash eseguirà un ciclo di "garbage collection" in cui identificherà un blocco che contiene principalmente pagine obsolete, copia tutte le pagine che non sono obsolete da quel blocco in un altro blocco che ha spazio, quindi cancella il blocco. Poiché tali operazioni possono essere molto lente, alcune unità tenteranno, quando possibile, di eseguirle quando non succedeva nient'altro; le unità non dicono al computer quando eseguono tale pulizia, perché al computer in genere non importa. Il "gotcha" è che se il computer non fa sapere all'unità che sta per perdere energia, l'unità non avrà modo di sapere quando è sicuro eseguire tale pulizia. perché al computer generalmente non importa. Il "gotcha" è che se il computer non fa sapere all'unità che sta per perdere energia, l'unità non avrà modo di sapere quando è sicuro eseguire tale pulizia. perché al computer generalmente non importa. Il "gotcha" è che se il computer non fa sapere all'unità che sta per perdere energia, l'unità non avrà modo di sapere quando è sicuro eseguire tale pulizia.

Si noti che sebbene le unità flash di qualità siano progettate per garantire che una nuova copia dei dati venga sempre scritta completamente prima che una vecchia copia venga cancellata e assicurarsi che possano sempre capire quale copia di ciascun blocco debba essere considerata la più attuale, non tutte i progetti di unità flash sono perfetti. In assenza di qualsiasi notifica di interruzione dell'alimentazione, un algoritmo progettato per essere sicuro al 100% contro la perdita o l'incoerenza dei dati sarebbe probabilmente almeno due volte più lento di uno che incontra vincoli più ampi. L'aggiunta di una notifica di interruzione dell'alimentazione hardware che inciamperebbe mentre c'era ancora abbastanza energia per completare una o due operazioni di scrittura flash ridurrebbe la penalità di tempo, ma rendere affidabili le notifiche di interruzione dell'alimentazione al 100% può essere difficile e non tutte le implementazioni sono perfette .


528 byte? Intendi 512?
Alvin Wong,

1
@AlvinWong: le pagine sono 528 byte. La scrittura di un settore a 512 byte richiede non solo la memorizzazione dei dati da esso, ma anche un'indicazione del settore a cui appartengono i dati. In qualsiasi momento, un'unità può sapere "Finora ho ricevuto 5.271.591.371 richieste di scrittura e per il prossimo userò la pagina 15 del blocco 57". Se riceve una richiesta per scrivere 512 byte di dati nel settore 147, la pagina 15 del blocco 57 riceverà quei 512 byte di dati più un'indicazione che rappresentano la richiesta di scrittura 5.271.591.372, che era nel settore 147.
supercat

Se il sistema riceve una richiesta per leggere il settore 147, ci possono essere molte pagine su disco che contengono un settore 147, ma (in assenza di un'altra richiesta per scrivere il settore 147), nessuna di esse avrà un numero progressivo superiore a 5.271.591.372; pertanto, la pagina 15 del blocco 57 sarà riconoscibile come la versione "attuale" di quel settore e qualsiasi copia con numero inferiore sarà riconoscibile come obsoleta. Si noti che, in teoria, il sistema potrebbe rispondere a una richiesta di "leggere il settore 147" scansionando tutte le pagine per trovare quella che conteneva la versione più recente, ma sarebbe terribilmente lento.
Supercat,

Più in genere, un sistema utilizzerà alcune strutture di dati piuttosto interessanti per mantenere in flash una tabella per lo più aggiornata di dove si trova tutto, nonché un indicatore per cui le pagine fisiche nella memoria flash potrebbero essere state scritte dalla tabella è stato aggiornato l'ultima volta. Se la progettazione hardware è tale che qualsiasi tentativo di scrittura di una pagina verrà completato completamente utilizzando l'energia immagazzinata anche se l'alimentazione viene rimossa, il fatto che l'unità scriva una pagina che dice "la richiesta di scrittura di 5.271.591.372 ° era il settore 147, e qui sono i suoi dati" essere considerato per aggiornare quella pagina.
supercat,

8

Windows stesso ti dice che non è necessario utilizzare l'opzione Rimozione sicura dell'hardware se si utilizzano determinate impostazioni: le impostazioni predefinite.

Rimozione rapida vs. prestazioni migliori

Windows ti consente di ottimizzare il tuo dispositivo USB per una rapida rimozione o prestazioni migliori. Per impostazione predefinita, Windows ottimizza i dispositivi USB per una rapida rimozione. Puoi accedere a questa impostazione da Gestione dispositivi: apri il menu Start, digita Gestione dispositivi e premi Invio per avviarlo.

Espandi la sezione Unità disco in Gestione dispositivi, fai clic con il pulsante destro del mouse sul dispositivo e seleziona Proprietà.

Seleziona la scheda Politiche nella finestra Proprietà. Noterai che Windows dice che puoi disconnettere il tuo dispositivo USB in modo sicuro senza usare l'icona di notifica Rimozione sicura dell'hardware, quindi questo significa che puoi scollegare il tuo dispositivo USB senza mai rimuoverlo in sicurezza, giusto? Non così in fretta.

Pericolo di corruzione dei dati

La finestra di dialogo di Windows mostrata sopra è fuorviante. Se si scollega il dispositivo USB durante la scrittura dei dati, ad esempio durante lo spostamento di file o durante il salvataggio di un file su di esso, ciò può provocare il danneggiamento dei dati. Indipendentemente dall'opzione che usi, assicurati che il tuo dispositivo USB non sia in uso prima di scollegarlo: alcune chiavette USB potrebbero avere delle luci che lampeggiano mentre vengono utilizzate.

Tuttavia, anche se il dispositivo USB non sembra essere in uso, potrebbe essere ancora in uso. È possibile che un programma in background stia scrivendo sull'unità, in modo da poter causare la corruzione dei dati se si scollega l'unità. Se la tua chiavetta USB non sembra essere in uso, puoi probabilmente scollegarla senza che si verifichi alcun danneggiamento dei dati - tuttavia, per sicurezza, è comunque una buona idea usare l'opzione Rimozione sicura dell'hardware. Quando espelli un dispositivo, Windows ti dirà quando è sicuro rimuoverlo, assicurandoti che tutti i programmi lo abbiano fatto. Scrivi cache

Se si seleziona l'opzione Migliore prestazione, Windows memorizzerà nella cache i dati invece di scriverli immediatamente sul dispositivo USB. Ciò migliorerà le prestazioni del dispositivo, tuttavia è molto più probabile che si verifichi un danneggiamento dei dati se si scollega il dispositivo USB senza utilizzare l'opzione Rimozione sicura dell'hardware. Se la memorizzazione nella cache è abilitata, Windows non scriverà immediatamente i dati sul dispositivo USB, anche se i dati sembrano essere stati scritti sul dispositivo e tutte le finestre di dialogo sull'avanzamento del file sono chiuse, i dati potrebbero essere memorizzati nella cache del sistema.

Quando si espelle un dispositivo, Windows scaricherà la cache di scrittura sul disco, assicurando che vengano apportate tutte le modifiche necessarie prima di avvisare quando è possibile rimuovere l'unità in modo sicuro. Alla fine, indipendentemente dall'opzione utilizzata, è necessario utilizzare l'icona Rimozione sicura dell'hardware ed espellere il dispositivo prima di scollegarlo. Puoi anche fare clic con il tasto destro del mouse nella finestra Computer e selezionare Espelli. Windows ti dirà quando è sicuro rimuovere il dispositivo, eliminando qualsiasi cambiamento di corruzione dei dati.

Nota Questo consiglio non si applica solo a Windows: se si utilizza Linux, è necessario utilizzare l'opzione Espelli nel file manager prima di scollegare anche un dispositivo USB. Lo stesso vale per Mac OS X.


2
Nella riga di comando di Linux, puoi anche usare il umount /path/to/device. : D
Justin Pearce,

1
@JustinPearce Che è distinto da eject /dev/ice.
un CVn

1
@AugustusFrancis Grazie per aver menzionato che questo "problema" non è applicabile solo a Windows ma riguarda anche altri sistemi operativi.
Simon,

1
Wow. Questa risposta è piuttosto precisa e ha solo 7 punti. Il primo ha attualmente 103 punti e riguarda la funzionalità di memorizzazione nella cache secondaria che non è nemmeno abilitata per impostazione predefinita. Le prossime due risposte hanno attualmente 45 e 21 punti e sono nella migliore delle ipotesi speculative, parlando dei dettagli di implementazione dell'hardware senza fare riferimento a nessun tipo di fonte o documentazione per il backup delle loro affermazioni. A volte, mi preoccupo un po 'dello stato di Super User ...
Zero3,

8

Se non si rimuovono in sicurezza i dispositivi, i dispositivi fantasma rimangono in Windows. Questo di solito non è un problema immediato, ma una volta accumulate alcune centinaia di dispositivi fantasma le cose iniziano a andare storto.

EDIT FOR CLARIFICATION: I dispositivi Phantom sono, in breve, dispositivi su cui sono installati i driver ma non sono più collegati alla porta USB. Windows tiene traccia dei dispositivi installati, ma poiché i dispositivi non sono stati "rimossi in modo sicuro" il driver è ancora caricato per quella porta USB. Ciò può causare una varietà di problemi che vanno dall'assegnazione di una nuova lettera di unità quando si collega l'unità flash a causare videogiochi per rilevare controller che non ci sono. Quando rimuovi in ​​sicurezza un dispositivo da Windows non ti assicuri solo che non stia più scrivendo dati, stai dicendo a Windows di scaricare il driver da quella porta USB. Scollegare l'unità al volo non solo rischia la corruzione dei dati, ma rischia anche di creare un dispositivo fantasma che Windows non gestisce davvero bene.

Per impostazione predefinita, Windows non mostra i dispositivi fantasma in Gestione dispositivi, motivo per cui la maggior parte delle persone non ha familiarità con il concetto. Per trovare questi dispositivi eseguire manualmente il prompt dei comandi come amministratore e accedere set devmgr_show_nonpresent_devices=1. Ciò consentirà a Gestione dispositivi di mostrare i dispositivi fantasma per la sessione corrente.

È del tutto possibile che ci siano troppi dispositivi fantasma per rimuoverli facilmente tutti a mano. GhostBuster è una GUI leggera progettata per visualizzare e rimuovere facilmente i dispositivi fantasma.

Riferimento: https://windowssecrets.com/newsletter/how-to-prevent-and-remove-phantom-devices/


Non mi sono mai imbattuto nel termine "dispositivi fantasma", grazie per averlo portato sul tavolo ... per così dire :)
Simon,

Non ne avevo sentito parlare fino all'altro giorno, quando uno dei miei amici ha pubblicato questa piccola interfaccia grafica. GhostBuster
acarbonaro,

È possibile spiegare nella risposta sopra, di più su "effetto dispositivo fantasma", come nessun altro ha menzionato questo. Nel caso in cui il link nella tua risposta scompaia ad un certo punto, se non ti dispiace.
Simon,

Spero di aver aggiunto abbastanza informazioni, ma se pensi che abbia bisogno di più, aggiungerò volentieri tutto ciò che è necessario.
acarbonaro,

Sono contento di poterti aiutare!
acarbonaro,

6

In generale, quando il computer sta scrivendo sull'unità USB, si corre il rischio di corrompere il file system oi file quando lo si estrae senza rimuoverlo in modo sicuro.

FAT32

Quindi, quando si dispone di un disco FAT32 che utilizza le impostazioni predefinite di Windows, Windows non memorizzerà nella cache le scritture, quindi è possibile estrarre l'unità quando non viene scritta.

Tuttavia, è possibile migliorare le prestazioni di FAT32 abilitando la memorizzazione nella cache di scrittura. Tuttavia, è necessario rimuovere l'unità in modo sicuro o altrimenti non tutti i dati vengono scritti sul disco.

inserisci qui la descrizione dell'immagine

NTFS

E quando si utilizza NTFS, poiché si tratta di un file system di journaling, non è possibile interrompere il file system estraendo l'unità. Tuttavia, perderai o danneggi i file se lo fai.

La rimozione a sorpresa non provoca corruzione, almeno dal punto di vista di NTFS. Le strutture di dati del file system rimangono intatte (o almeno possono essere riparate dal journal delle modifiche) indipendentemente da quando si estrae l'unità dal computer. Quindi dal punto di vista del file system, la risposta è "Vai avanti, trascina il disco ogni volta che vuoi!"

Poiché NTFS è un file system di journaling, può riparare automaticamente le strutture di dati interne utilizzate per tenere traccia dei file, in modo che l'unità stessa rimanga logicamente coerente. Il file è impostato correttamente sulla dimensione finale e la sua voce di directory è correttamente collegata. Ma i dati che hai scritto sul file? Non ce l'ha mai fatta.

Anche se NTFS è robusto e può recuperare dalla rimozione a sorpresa, tale robustezza non si estende alla coerenza interna dei dati persi.

- Raymond Chen


Ho casi di corruzione NTFS non molto spesso (per fortuna!), Ma su base regolare.
Consulenza gratuita il

3

Hai mai notato che a volte, quando si espelle "in modo sicuro" un'unità flash USB, ci vogliono diversi secondi prima che ti venga detto che è sicuro rimuoverlo? E che durante questo periodo, il disco continua a lampeggiare la sua luce di attività?

Lo vedo spesso e questo da solo è un'indicazione sufficiente per me per non rischiare di strappare un disco anche quando sembra non perdere mai alcun dato quando lo strappo accidentalmente a volte.

Un po 'di più su ciò che potrebbe succedere:

Possibile danneggiamento del disco.

Altri li hanno già spiegati abbastanza bene, specialmente quello di Supercat è piuttosto importante per le unità flash.

Possibili problemi del programma.

È qui che i programmi che hanno file aperti sul disco non sono ben preparati per gestire il caso in cui i file diventano improvvisamente inaccessibili. Questi programmi potrebbero arrestarsi in modo anomalo o bloccarsi, a seconda di quanto sono stati sviluppati.

Pertanto, utilizzando il comando "rimuovi hardware in modo sicuro", si avvia un processo nel sistema operativo che richiede a questi programmi di rilasciare il disco. Una volta che tutti i programmi si sono lasciati andare, ti viene detto che ora puoi disconnettere in sicurezza il disco.

Tuttavia, se è in esecuzione un programma che non lascia andare il disco, ti verrà detto anche questo, e quindi hai la possibilità di chiudere quel programma in modo che smetta di usare il disco, impedendo entrambi il danneggiamento dei dati sul disco e problemi di programma sul tuo computer.

Ancora più background sulla cache e sulla corruzione del disco

Un disco che memorizza i file funziona come una libreria con indici. La sfida è che l'indice deve essere tenuto sincronizzato con i libri (file) che contiene. Quando aggiungi / rimuovi un file su un disco, anche il suo indice (cioè la directory) deve essere aggiornato. Tutto ciò avviene in diversi passaggi e la rimozione del disco nel mezzo porta a strutture del disco corrotte (per identificarle e ripararle, strumenti come "chkdisk" vengono in soccorso).

Tuttavia, mantenere le directory sempre aggiornate richiede molta scrittura e tempo. Quindi, se si scrivono 100 file sul disco, il sistema operativo (ad es. Windows) non scrive ogni file seguito da un aggiornamento della directory (spesso la stessa), ma ottimizza questa operazione scrivendo prima i dati dei 100 file sul disco e solo allora scrivi la directory aggiornata in una volta sola.

Tale ottimizzazione rende la copia (e l'eliminazione) di file molto più veloce, e i moderni sistemi operativi tendono a ritardare il più possibile l'aggiornamento della directory per accelerare ulteriormente il computer.

Vale a dire, il sistema operativo mantiene la directory corretta solo nella sua memoria locale (RAM o disco rigido interno, che di solito è ancora più veloce della connessione USB). Questa è la cache di cui parlano gli altri: Conservare i dati in una posizione separata per un accesso più rapido.

Ma cosa succede se l'intero computer ha un'interruzione di corrente? Bene, anche allora ha dei modi per recuperarlo non appena si riaccende, mantenendo intatta la directory (usando "journaling", per esempio). Ovviamente, questo funziona solo se il disco la cui directory è stata memorizzata nella cache è ancora presente dopo il ripristino dell'alimentazione, cosa che di solito è il caso, quindi nulla di preoccupante qui.

Ma tutte queste garanzie non possono funzionare se si rimuove semplicemente il disco e non si dà al sistema operativo di riscrivere la sua directory memorizzata nella cache su disco, ovviamente.

Pertanto, si comunica al sistema operativo (e ai programmi che esegue) che si intende rimuovere il disco. Questo processo, chiamato anche "smontaggio", porta alla scrittura di tutti i dati memorizzati nella cache sul disco e quindi alla successiva interruzione dell'accesso ad esso.


1

Flash è in grado di scrivere solo uno e nessuno zero. È in grado di cancellare un intero blocco (impostandolo su zero). Poiché la maggior parte dei supporti flash utilizza il livellamento dell'usura , aggiunge solo un blocco a un elenco "da eliminare" e utilizza invece un altro blocco. Il controller sul tuo supporto USB inizia a cancellare i blocchi nell'elenco "da eliminare" ogni volta che non è necessario fare altro. Collegare l'alimentazione mentre i blocchi vengono cancellati può farli entrare in uno stato indefinito.


Se questa fosse la risposta, ciò implicherebbe che non è mai possibile rimuovere in sicurezza un'unità USB perché il livellamento dell'usura viene effettuato dal controller dell'unità, non dal sistema operativo.
un CVn

Ma c'è una differenza tra espulsione e smontaggio. In alcuni sistemi operativi (Mac OS X) è possibile smontare un'unità ma non espellerla. Se si espelle una memory stick, non si dovrebbe essere in grado di montarla di nuovo perché il dispositivo si spegne.
frog32,

Qualsiasi cosa a questo livello dovrebbe essere transazionale: il blocco non verrebbe rimosso dalla coda "da eliminare" fino a quando non verrà effettivamente eliminato. Il suo stato non sarebbe indefinito: se il sistema non completasse la cancellazione, la prossima volta dovrebbe riprendere (dall'inizio del blocco).
GalacticCowboy,

@GalacticCowboy: le unità dovrebbero essere transazionali, ma non tutte le implementazioni sono ugualmente robuste. Se le operazioni di scrittura sono fortemente transazionali, rendere le operazioni di cancellazione (che richiedono più tempo) anche transazionali in modo robusto non è troppo difficile, ma può essere difficile garantire che sia impossibile la perdita di potenza durante una scrittura non può comportare un bit che legge come scritto Il 99% delle volte, ma a volte legge come vuoto. Uno potrebbe essere in grado di ridurre la probabilità che un tale evento sia inferiore a quello del tabellone colpito da una meteora, ma è difficile eliminarlo del tutto.
Supercat,

@supercat - Ciò non cambia ciò che ho detto, tuttavia - se l'unità ha perso energia durante la cancellazione, la coda non verrebbe modificata e il blocco verrebbe cancellato in seguito. Se si perde energia durante la riscrittura della coda , sì, ciò potrebbe causare problemi, ma come notato nella risposta, la scrittura è significativamente più veloce (quindi meno probabilità di essere interrotta). Non è ancora impossibile, ma non qualcosa di cui probabilmente dovrai preoccuparti.
GalacticCowboy,

1

Qual è la logica alla base della rimozione sicura dei supporti USB dai PC Windows?

Questa funzione è per supporti rimovibili . Cioè, i media collegati tramite USB, FireWire e, come tali, possono essere disconnessi in qualsiasi momento.

L'accesso all'unità per scrivere tutti i dati su di esso come richiesto comporterebbe un onere molto maggiore sull'unità che ridurrebbe le prestazioni e aumenterebbe l'usura. Per aumentare le prestazioni e ridurre l'usura, Windows può memorizzare nella cache i dati per scrivere un sacco di dati alla volta. È come ritardare un viaggio dall'altra parte della città fino a quando non hai abbastanza commissioni da fare lì per rendere il viaggio utile.

Il problema con la memorizzazione nella cache è che se l'unità viene scollegata tra il momento in cui è stata effettuata la richiesta di scrittura e il tempo in cui Windows "scarica" ​​la cache su disco (esegue effettivamente la scrittura), i dati non verrebbero scritti. Ciò porta alla perdita di dati e forse anche alla corruzione.

"Espellendo" un volume rimovibile, dici a Windows di svuotare la cache e scrivere tutti i dati che ha in attesa. In questo modo si garantisce che sia possibile scollegare l'unità in modo sicuro.

Molto spesso quando sono di fretta, estraggo automaticamente un pendrive USB o un cavo USB da un disco rigido esterno dal mio PC desktop o laptop, senza fare clic con il pulsante destro del mouse sull'icona di rimozione sicura nella barra delle applicazioni e scollegarlo tramite questo percorso . Finora non è successo nulla di spiacevole ogni volta che "sono stato di fretta".

Ciò è dovuto principalmente al fatto che Microsoft non è stupida (non discutiamo qui ...) Sanno che alla gente non piace fare un lavoro extra. Pertanto, quando si collega un supporto rimovibile nel sistema per la prima volta, quando Windows installa i driver per esso, parte della configurazione che fa è impostarlo per la "rimozione rapida".

In Gestione dispositivi , nella scheda Politiche della finestra di dialogo Proprietà per le unità, in base al tipo di unità, è possibile scegliere di configurare l'unità per la rimozione rapida o prestazioni migliori o abilitare o disabilitare la memorizzazione nella cache di scrittura.

Abilitare la memorizzazione nella cache di scrittura o selezionare prestazioni migliori farà sì che Windows accoda le richieste di scrittura, aumentando le prestazioni e riducendo l'usura, ma aumenta anche le possibilità di perdita di dati e richiede l'espulsione del volume prima di rimuoverlo. Disabilitare la memorizzazione nella cache di scrittura o selezionare la rimozione rapida fa sì che Windows scriva immediatamente tutto sul disco, riducendo le prestazioni e aumentando l'usura, ma va bene estrarre semplicemente l'unità.

Poiché Windows imposta automaticamente i supporti rimovibili sulla rimozione rapida, la maggior parte delle persone raramente riscontrerà un problema semplicemente scollegandolo senza espellerlo prima.


Le schermate seguenti mostrano i criteri di unità predefiniti per una varietà di supporti. Ci sono alcuni punti interessanti da notare.

Il disco rigido interno è impostato per utilizzare la cache in scrittura (figura 1). Ciò ha senso perché si presume che l'unità sia un dispositivo permanente, quindi non diventerà normalmente non disponibile nel breve periodo tra una richiesta di scrittura e uno svuotamento della cache.

L'unità flash USB è predisposta per la rimozione rapida (figura 2). Anche questo ha senso perché rende conveniente rimuoverlo facilmente.

La scheda di memoria USB è configurata per la rimozione rapida (figura 3). Ciò è logico perché essenzialmente non è diverso da un'unità flash USB (o qualsiasi altra unità USB). La cosa interessante è che anche il lettore di schede di memoria interno è impostato per la rimozione rapida (figura 4). Il lettore stesso è integrato nel laptop e quindi sempre presente, ma la scheda può essere rimossa e, per impostazione predefinita, viene automaticamente rimossa. (Questo è lo stesso per le unità floppy; non c'è memorizzazione nella cache perché il disco nell'unità potrebbe essere rimosso.)

Ancora più interessanti sono il disco rigido USB esterno (figura 5) e l'iPod mini (figura 6) che contiene un piccolo disco rigido rotante. Si tratta di veri e propri dischi rigidi, non di unità flash, ma poiché sono rimovibili, continuano a essere automaticamente rimossi. Ancora una volta, questo ha senso perché possono essere scollegati prima che i dati vengano scritti sul disco.

Posso davvero perdere informazioni sui supporti USB se questo non viene eseguito?

La possibilità di perdere tali informazioni è notevolmente aumentata, se il supporto USB lampeggia ancora al momento di estrarlo dal computer (anziché non lampeggiante)?

Sì. Il problema è che anche se un'unità è impostata sulla rimozione rapida, non è possibile scollegarla immediatamente. Solo perché Windows esegue immediatamente le scritture, ciò non significa che si verifichino immediatamente.

La maggior parte dei supporti rimovibili come unità flash e schede di memoria sono molto più lenti rispetto ai dischi rigidi. Pertanto, anche se Windows avvia la scrittura non appena viene richiesto, in genere occorrono alcuni minuti prima che i dati vengano effettivamente scritti. Anche se la scrittura / copia / ecc. la finestra di dialogo che mostra l'avanzamento della scrittura scompare, è possibile che l'unità scriva ancora per qualche istante e se ha il proprio LED di attività dell'unità, è possibile vedere questo. Non è possibile rimuovere immediatamente il supporto; guardare il LED e attendere che smetta completamente di lampeggiare.


Per sicurezza, puoi usare un programma come Sync che dice a Windows di svuotare la cache. In sostanza, è esattamente lo stesso che usare la funzione di espulsione sicura, ma può essere un po 'più conveniente se si esegue un collegamento sul desktop per eseguirlo con la lettera di unità specifica dell'unità rimovibile. Risparmia circa 5-10 secondi, il che non suona molto, ma in HCI è un'enorme barriera. La cosa ancora migliore è che svuota solo la cache, in realtà non espelle l'unità. Pertanto, l'unità è ancora montata e disponibile per l'uso se improvvisamente ricordi qualcosa che hai dimenticato di fare con esso. Questo lo rende ancora più utile perché puoi persino assegnargli un tasto di scelta rapida in modo da poter svuotare la cache e renderlo sicuro per scollegarlo con una sequenza di tasti.


Figura 1 : politica interna dell'HDD

Politica interna dell'HDD

Figura 2 : politica dell'unità flash USB

Criterio unità flash USB

Figura 3 : politica interna del lettore di schede di memoria

Politica interna del lettore di schede di memoria

Figura 4 : politica del lettore di schede di memoria USB

Politica del lettore di schede di memoria USB

Figura 5 : politica HDD esterna

Politica HDD esterna

Figura 6 : iPod (mini) HDD

Informativa su HDD per iPod mini

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.