web-dev-qa-db-fra.com

Quelle est la raison derrière le retrait en toute sécurité du support USB des ordinateurs Windows?

Très souvent, lorsque je suis pressé, je débranche automatiquement une clé USB ou un câble USB d'un disque dur externe de mon ordinateur de bureau ou de mon ordinateur portable, sans cliquer avec le bouton droit de la souris sur l'icône Retirer en toute sécurité dans la barre d'état système et la débrancher via cette route. . Jusqu'à présent, rien d'inquiétant ne s'est produit chaque fois que j'ai été "pressé".

Quelle est la raison derrière un clic droit sur l'icône de suppression sécurisée et puis-je vraiment perdre des informations sur le support USB si cela n'est pas effectué?

Modifier

La vulnérabilité de la perte de telles informations est-elle considérablement accrue , si le support USB continue de clignoter au moment de le retirer de l'ordinateur (par -clignotant)?

97
Simon

Oui, c'est ce qui se passe si vous retirez l'appareil en cours d'utilisation (lecture ou écriture).

Lorsque vous branchez un lecteur USB, vous laissez à votre PC le droit d'écrire et de lire des données à partir de celui-ci. dont certains sont mis en cache.

La mise en cache se produit en n'écrivant pas d'informations immédiatement sur le périphérique USB, mais en les conservant dans la mémoire (RAM) de votre PC. Si vous devez extraire la clé USB de votre PC avant que ces informations ne soient écrites, ou lors de l'écriture, vous obtiendrez un fichier corrompu.

Cependant, Windows désactive automatiquement la mise en cache sur les périphériques USB, à moins que vous ne précisiez que vous souhaitez l'activer. Dans la plupart des cas, vous n'avez pas à cliquer sur le bouton "Supprimer le périphérique en toute sécurité" si vous n'écrivez ou ne lisez rien dans l'appareil.

C'est là simplement un niveau de sécurité supplémentaire vous empêchant de détruire vos propres fichiers.

Cela provoque la fermeture "en douceur" des fichiers, en préservant les données, les pointeurs et les indicateurs de taille de fichier. Lors de l'écriture sur le disque, l'ordinateur ne "vide" pas toujours un tampon et seule une partie des données peut avoir été écrite. En utilisant la procédure appropriée, vous vous assurez que les données et les pointeurs sont en bon état.

Source

104
Dave

Une deuxième raison est que les lecteurs flash doivent avoir une alimentation stable pendant environ 0,25 seconde après une commande d'écriture. Il s'agit d'un problème physique fondamental. En raison de facteurs aléatoires, certaines écritures peuvent laisser un bit logique dans un état électrique de 0.72. La solution est simple: il suffit de réécrire le fichier, peut-être même quelques fois. Finalement, ça va coller.

Si vous êtes vraiment malchanceux, le bit qui tombe est dans une table de système de fichiers et est corrompu, par exemple. un répertoire entier.

45
MSalters

Peu de gens réalisent tout ce qui se passe sous le capot d’un lecteur flash. Contrairement aux disques durs dans lesquels un secteur est effacé et écrasé en une seule étape, les lecteurs flash peuvent écrire des données sur une page vierge de 528 octets beaucoup plus rapidement qu'ils ne peuvent effectuer un cycle d'effacement. En outre, comme chaque circuit de commande d'effacement consomme une quantité importante de silicium, les puces flash ne comportent généralement pas de circuit distinct pour chaque page, mais en possèdent un par "bloc", chaque bloc contenant des centaines ou des milliers de pages. Cela signifie que chaque fois que des données différentes sont écrites dans un secteur, elles seront écrites dans une zone précédemment vierge et l'ancienne copie sera en quelque sorte marquée comme "périmée". À un moment donné, le flash effectuera un cycle de "ramasse-miettes" dans lequel il identifiera un bloc qui contient principalement des pages obsolètes, copiera toutes les pages qui ne sont pas périmées de ce bloc dans un autre bloc disposant d'un espace. , puis effacez le bloc. Étant donné que ces opérations peuvent être très lentes, certains lecteurs tenteront de les exécuter lorsque rien ne se passera. Les lecteurs n'indiquent pas à l'ordinateur quand ils effectuent un tel nettoyage, car l'ordinateur ne s'en soucie généralement pas. Le "piège" est que si l'ordinateur ne laisse pas savoir au lecteur qu'il est sur le point de perdre l'alimentation, il n'aura aucun moyen de savoir quand il est sécuritaire d'effectuer un tel nettoyage.

Notez que, bien que les clés USB de qualité soient conçues pour garantir l’écriture complète d’une nouvelle copie des données avant l’effacement d’une ancienne copie, elles permettent également de déterminer quelle copie de chaque bloc doit être considérée comme la plus récente. Les conceptions de lecteur flash sont parfaites. En l’absence de notification de panne de courant, un algorithme conçu pour être sûr à 100% de la perte de données ou de l’incohérence serait probablement au moins deux fois plus rapide. lent comme une réunion des contraintes plus lâches. Ajouter une notification de panne d'alimentation matérielle qui se déclencherait alors qu'il restait assez d'énergie pour effectuer une ou deux opérations d'écriture flash réduirait la pénalité de temps, mais rendre les notifications de panne d'alimentation fiables à 100% peut être délicat, et toutes les implémentations ne sont pas parfaites. .

21
supercat

Si vous ne supprimez pas vos périphériques en toute sécurité, les périphériques fantômes restent sous Windows. Ce n’est généralement pas un problème immédiat, mais une fois que vous avez amassé quelques centaines d’appareils fantômes, les choses commencent à mal tourner.

EDIT FOR CLARIFICATION: Les périphériques fantômes sont, en bref, des périphériques sur lesquels des pilotes sont installés mais ne sont plus connectés au port USB. Windows garde la trace des périphériques installés, mais comme ces périphériques n'ont pas été "retirés en toute sécurité", le pilote est toujours chargé pour ce port USB. Cela peut entraîner divers problèmes, allant de l’attribution d’une nouvelle lettre de lecteur lorsque vous branchez votre clé USB à la détection de contrôleurs absents par les jeux vidéo. Lorsque vous supprimez un périphérique de Windows en toute sécurité, vous ne vous contentez pas de vous assurer qu'il n'écrit plus de données, vous demandez à Windows de décharger le pilote de ce port USB. Débrancher votre lecteur à la volée risque non seulement de corrompre les données, mais également de créer un périphérique fantôme que Windows ne gère pas bien.

Par défaut, Windows n’affiche pas les périphériques fantômes dans le Gestionnaire de périphériques, raison pour laquelle la plupart des gens ne connaissent pas le concept. Pour rechercher manuellement ces périphériques, exécutez Invite de commandes en tant qu'administrateur et entrez set devmgr_show_nonpresent_devices=1. Cela permettra au Gestionnaire de périphériques d’afficher les périphériques fantômes pour la session en cours.

Il est tout à fait possible qu'il y ait trop de périphériques fantômes pour pouvoir les supprimer facilement à la main. GhostBuster est une interface graphique légère conçue pour afficher et supprimer facilement les périphériques fantômes.

Référence: https://windowssecrets.com/newsletter/how-to-prevent-and-remove-phantom-devices/

8
acarbonaro

Windows lui-même vous dit que vous n'avez pas besoin d'utiliser l'option Retirer le périphérique en toute sécurité si vous utilisez certains paramètres, à savoir les paramètres par défaut.

Suppression rapide par rapport à de meilleures performances

Windows vous permet d'optimiser votre périphérique USB pour un retrait rapide ou de meilleures performances. Par défaut, Windows optimise les périphériques USB pour une suppression rapide. Vous pouvez accéder à ce paramètre à partir du gestionnaire de périphériques - ouvrez le menu Démarrer, tapez Gestionnaire de périphériques et appuyez sur Entrée pour le lancer.

Développez la section Lecteurs de disque dans le Gestionnaire de périphériques, cliquez avec le bouton droit de la souris sur votre périphérique, puis sélectionnez Propriétés.

Sélectionnez l'onglet Stratégies dans la fenêtre Propriétés. Vous remarquerez que Windows indique que vous pouvez déconnecter votre périphérique USB en toute sécurité sans utiliser l'icône de notification Supprimer le périphérique en toute sécurité, ce qui signifie que vous pouvez le débrancher sans le retirer en toute sécurité, n'est-ce pas? Pas si vite.

Danger de corruption de données

La boîte de dialogue Windows présentée ci-dessus est trompeuse. Si vous débranchez votre périphérique USB pendant que des données y sont écrites, par exemple lorsque vous y déplacez des fichiers ou que vous enregistrez un fichier dessus, cela peut entraîner une corruption des données. Quelle que soit l'option utilisée, assurez-vous que votre périphérique USB n'est pas utilisé avant de le débrancher. Certaines clés USB peuvent comporter des voyants qui clignotent pendant leur utilisation.

Cependant, même si le périphérique USB ne semble pas être utilisé, il est peut-être toujours utilisé. Un programme en arrière-plan est peut-être en train d'écrire sur le lecteur. Par conséquent, des données peuvent être endommagées si vous débranchez le lecteur. Si votre clé USB ne semble pas être utilisée, vous pouvez probablement la débrancher en l’absence de corruption des données. Toutefois, pour des raisons de sécurité, il est toujours judicieux d’utiliser l’option Retirer le périphérique en toute sécurité. Lorsque vous éjectez un périphérique, Windows vous indique le moment opportun pour le supprimer - en vous assurant que tous les programmes sont terminés. Écrire en cache

Si vous sélectionnez l'option Meilleures performances, Windows mettra en cache les données au lieu de les écrire immédiatement sur le périphérique USB. Cela améliorera les performances de votre périphérique. Toutefois, la corruption des données est beaucoup plus susceptible de se produire si vous débranchez le périphérique USB sans utiliser l’option Retirer le périphérique en toute sécurité. Si la mise en cache est activée, Windows n’écrira pas immédiatement les données sur votre périphérique USB. Même si les données semblent avoir été écrites sur le périphérique et que toutes les boîtes de dialogue de progression du fichier sont fermées, les données peuvent simplement être mises en cache sur votre système.

Lorsque vous éjectez un périphérique, Windows vide le cache d'écriture sur le disque, en veillant à ce que toutes les modifications nécessaires soient apportées avant de vous informer que le retrait du lecteur peut être effectué en toute sécurité. En fin de compte, quelle que soit l'option utilisée, vous devez utiliser l'icône Supprimer le périphérique en toute sécurité et éjecter votre appareil avant de le débrancher. Vous pouvez également cliquer dessus avec le bouton droit de la souris dans la fenêtre Ordinateur et sélectionner Éjecter. Windows vous indiquera quand retirer le périphérique en toute sécurité, éliminant ainsi toute modification de la corruption des données.

Remarque Ce conseil ne s'applique pas uniquement à Windows. Si vous utilisez Linux, vous devez utiliser l'option Éjecter de votre gestionnaire de fichiers avant de débrancher un périphérique USB. appareil, aussi. Il en va de même pour Mac OS X.

8
Augustus Francis

En général, lorsque l'ordinateur écrit sur le lecteur USB, vous courez le risque de corrompre le système de fichiers ou les fichiers lorsque vous l'extrayez sans le supprimer en toute sécurité.

FAT32

Ensuite, lorsque vous avez un disque FAT32 utilisant les paramètres par défaut de Windows, Windows ne met pas en cache les écritures, vous pouvez donc extraire le disque lorsqu'il n'est pas en cours d'écriture.

Toutefois, vous pouvez améliorer les performances FAT32 en activant la mise en cache en écriture. Cependant, vous devez retirer le lecteur en toute sécurité sinon toutes les données ne sont pas écrites sur le disque.

enter image description here

NTFS

Et lorsque vous utilisez NTFS, comme il s’agit d’un système de fichiers journalisé, vous ne pouvez pas casser le système de fichiers en retirant le lecteur. Cependant, vous perdrez ou corromprez des fichiers si vous le faites.

La suppression des surprises ne provoque pas de corruption, du moins du point de vue de NTFS. Les structures de données du système de fichiers restent intactes (ou peuvent au moins être réparées à partir du journal des modifications), quel que soit le moment où vous extrayez le lecteur de l'ordinateur. Donc, du point de vue du système de fichiers, la réponse est "Allez-y, tirez le lecteur à tout moment!"

NTFS étant un système de fichiers journalisé, il peut réparer automatiquement les structures de données internes utilisées pour garder une trace des fichiers, de sorte que le lecteur reste logiquement cohérent. Le fichier est correctement défini sur la taille finale et son entrée de répertoire est correctement liée. Mais les données que vous avez écrites dans le fichier? Cela n'a jamais réussi.

Même si NTFS est robuste et peut récupérer de la suppression surprise, cette robustesse ne s'étend pas à la cohérence interne des données que vous avez perdues.

- Raymond Chen

6

Avez-vous déjà remarqué que, parfois, en éjectant "en toute sécurité" une clé USB, il faut plusieurs secondes pour que l'on vous dise qu'il est prudent de la retirer? Et que pendant ce temps, le disque continue à clignoter, son voyant d'activité?

Je le vois souvent, et cela seul est une indication suffisante pour que je ne risque pas d'extraire un disque, même s'il semble ne jamais perdre de données lorsque je l'extrais accidentellement parfois.

Un peu plus de fond sur ce qui peut se passer:

Possible corruption de disque.

D'autres les ont déjà assez bien expliquées, notamment celle de supercat qui est assez importante pour les lecteurs flash.

Problèmes possibles liés au programme.

C’est là que les programmes dont les fichiers sont ouverts sur le disque ne sont pas bien préparés pour traiter le cas où les fichiers deviennent soudainement inaccessibles. Ces programmes risquent alors de tomber en panne ou de geler, en fonction de la qualité de leur développement.

Par conséquent, en utilisant la commande "remove hardware safe", vous démarrez un processus dans le système d'exploitation qui demande à ces programmes de laisser partir le disque. Une fois que tous les programmes ont lâché prise si nécessaire, on vous dit que vous pouvez maintenant déconnecter le disque en toute sécurité.

Cependant, si un programme en cours d'exécution ne lâche pas le disque, on vous le dira également. Vous aurez ensuite la possibilité de fermer ce programme afin qu'il cesse d'utiliser le disque, empêchant ainsi la corruption des données sur le disque. et les problèmes de programme sur votre ordinateur.

Encore plus d'informations sur la mise en cache et la corruption de disque

Un disque qui stocke des fichiers fonctionne comme une bibliothèque avec des index. Le défi est que l’index doit être synchronisé avec les livres (fichiers) qu’il contient. Lorsque vous ajoutez/supprimez un fichier sur un disque, son index (le répertoire) doit également être mis à jour. Tout cela se fait en plusieurs étapes, et extraire le disque au milieu de celui-ci conduit à des structures de disque corrompues (pour les identifier et les réparer, des outils tels que "chkdisk" viennent à la rescousse).

Cependant, garder les répertoires à jour tout le temps demande beaucoup de temps et d’écriture. Ainsi, si vous écrivez 100 fichiers sur le disque, le système d'exploitation (Windows, par exemple) n'écrit pas chaque fichier suivi d'une mise à jour du répertoire (souvent le même), mais optimise cette opération en écrivant d'abord les données des 100 fichiers sur le disque. , et alors seulement écrivez le répertoire mis à jour en une fois.

Une telle optimisation accélère considérablement la copie (et la suppression) de fichiers, et les systèmes d'exploitation modernes ont tendance à retarder autant que possible la mise à jour du répertoire afin d'accélérer encore davantage la gestion de l'ordinateur.

En d'autres termes, le système d'exploitation ne conserve le répertoire correct que dans sa mémoire locale (RAM ou disque dur interne, qui est généralement encore plus rapide que la connexion USB). C’est la mise en cache dont parlent d’autres: Conserver les données dans un emplacement distinct pour un accès plus rapide.

Mais que se passe-t-il si tout l'ordinateur est en panne de courant? Eh bien, même dans ce cas, il existe des moyens de le récupérer dès qu'il est remis sous tension, en gardant le répertoire intact (en utilisant "journalling", par exemple). Bien sûr, cela ne fonctionne que si le disque dont le répertoire a été mis en cache est toujours présent après le retour du courant - ce qui est généralement le cas, donc rien à craindre ici.

Mais toutes ces sauvegardes ne peuvent pas fonctionner si vous retirez simplement le disque et ne donnez pas au système d'exploitation d'écrire son répertoire mis en cache sur le disque, de toute évidence.

Par conséquent, vous annoncez au système d'exploitation (et aux programmes qu'il exécute) que vous souhaitez supprimer le disque. Ce processus, également appelé "démontage", conduit à l'écriture de toutes les données mises en cache sur le disque, puis à l'arrêt de tout accès ultérieur.

3
SuperTempel

Flash ne peut écrire que ses zéros. Il est capable d'effacer un bloc entier (en le mettant à zéro). Étant donné que la plupart des supports Flash utilisent le nivellement par usure , il ajoute uniquement un bloc à une liste "à supprimer" et utilise un autre bloc à la place. Le contrôleur de votre support USB commence à effacer les blocs de la liste "à supprimer" chaque fois que rien ne doit être fait. Le branchement de l'alimentation pendant l'effacement des blocs peut les laisser dans un état non défini.

1
frog32

Quelle est la raison derrière le retrait en toute sécurité du support USB des ordinateurs Windows?

Cette fonction est pour média amovible . Cela signifie que les supports connectés via USB, FireWire et, en tant que tels, peuvent être déconnectés à tout moment.

Accéder au lecteur pour y écrire toutes les données demandées alourdirait considérablement le travail du lecteur, ce qui réduirait les performances et augmenterait l'usure. Pour augmenter les performances et réduire l'usure, Windows peut mettre en cache des données afin d'écrire un tas de données à la fois. C’est comme retarder un voyage à l’autre bout de la ville jusqu’à ce que vous ayez assez de courses à faire pour que le voyage en vaille la peine.

Le problème de la mise en cache est que, si le lecteur est débranché entre le moment où la demande d'écriture a été faite et le moment où Windows "vide" le cache sur le disque (effectue effectivement l'écriture), ces données ne sont pas écrites. Cela entraîne une perte de données et peut-être même une corruption.

En "éjectant" un volume amovible, vous indiquez à Windows de vider le cache et d'écrire les données en attente. De cette façon, vous vous assurez que vous pouvez débrancher le lecteur en toute sécurité.

Très souvent, lorsque je suis pressé, je débranche automatiquement une clé USB ou un câble USB d'un disque dur externe de mon ordinateur de bureau ou de mon ordinateur portable, sans cliquer avec le bouton droit de la souris sur l'icône Retirer en toute sécurité dans la barre d'état système et la débrancher via cette route. . Jusqu'à présent, rien d'inquiétant ne s'est produit chaque fois que j'ai été "pressé".

C’est principalement parce que Microsoft n’est pas stupide (ne discutons pas ici…). Ils savent que les gens n’aiment pas faire plus de travail. Par conséquent, lorsque vous connectez un support amovible au système pour la première fois, lorsque Windows installe des pilotes, une partie de la configuration consiste à le configurer pour un "retrait rapide".

Dans le Gestionnaire de périphériques , dans l'onglet Stratégies de la boîte de dialogue Propriétés de vos lecteurs, en fonction de la type de lecteur, vous pouvez choisir de configurer le lecteur pour un retrait rapide ou pour améliorer les performances, ou activer ou désactiver la mise en cache en écriture.

Activer la mise en cache en écriture ou sélectionner de meilleures performances obligera Windows à mettre en file d'attente les demandes d'écriture, ce qui augmentera les performances et réduira l'usure, mais augmentera également les risques de perte de données et nécessitera l'éjection du volume avant de le supprimer. Désactiver la mise en cache en écriture ou sélectionner la suppression rapide oblige Windows à tout écrire immédiatement sur le disque, ce qui réduit les performances et augmente l'usure, tout en permettant de retirer simplement le lecteur.

Dans la mesure où Windows utilise par défaut les supports amovibles pour une suppression rapide, la plupart des utilisateurs ne rencontrent que rarement un problème simplement en les débranchant sans les éjecter.


Les captures d'écran ci-dessous montrent les stratégies de lecteur par défaut pour divers supports. Il y a peu de points intéressants à noter.

Le disque dur interne est configuré pour utiliser la mise en cache en écriture (figure 1). Cela a du sens car il est supposé que le lecteur est une installation permanente, de sorte qu’il ne deviendra jamais normalement indisponible dans la courte période entre une demande d’écriture et un vidage de la mémoire cache.

Le lecteur flash USB est configuré pour un retrait rapide (figure 2). Cela aussi a du sens car il est pratique de le retirer facilement.

La carte mémoire USB est configurée pour un retrait rapide (figure 3). Ceci est logique car il n’est essentiellement pas différent d’un lecteur flash USB (ou de tout autre lecteur USB). Ce qui est intéressant, c’est que le lecteur de carte mémoire interne est également paramétré pour un retrait rapide (figure 4). Le lecteur lui-même est intégré à l'ordinateur portable et est donc toujours présent, mais la carte peut être retirée. Par conséquent, le retrait rapide est activé. (C’est la même chose pour les lecteurs de disquettes; il n’ya pas de cache car le disque dans le lecteur pourrait être supprimé.)

Le disque dur externe USB (figure 5) et l’iPod mini (figure 6), qui contient un petit disque dur en rotation, sont encore plus intéressants. Ce sont des disques durs réels, pas des disques flash, mais parce qu'ils sont amovibles, ils sont toujours par défaut à retrait rapide. Encore une fois, cela a du sens car ils peuvent être débranchés avant que les données ne soient écrites sur le disque.

Puis-je vraiment perdre des informations sur le support USB si cela n'est pas fait?

La vulnérabilité liée à la perte de telles informations est-elle considérablement accrue si le support USB continue de clignoter au moment de le retirer de l'ordinateur (par opposition au non-clignotant)?

Oui. Le problème est que même si un lecteur est configuré pour un retrait rapide, il n'est pas sûr de le débrancher immédiatement. Le fait que Windows effectue les écritures immédiatement ne signifie pas qu’elles se produisent immédiatement.

La plupart des supports amovibles tels que les lecteurs flash et les cartes mémoire sont beaucoup plus lents que les disques durs. Par conséquent, même si Windows lance l’écriture dès que celle-ci est demandée, il faut généralement quelques instants pour que les données soient réellement écrites. Même si le/écrire/copier/etc. Une boîte de dialogue indiquant que la progression de l’écriture s’est éteinte, le lecteur est peut-être encore en train d’écrire pendant quelques instants supplémentaires, et si elle possède son propre voyant d’activité du lecteur, vous pouvez le voir. Il n'est pas prudent de retirer le support immédiatement. observez le voyant et attendez qu'il cesse complètement de clignoter.


Pour plus de sécurité, vous pouvez utiliser un programme tel que Sync dire à Windows de vider le cache. En gros, c'est exactement la même chose que d'utiliser la fonction éjecter en toute sécurité, mais cela peut être un peu plus pratique si vous créez un raccourci sur le bureau pour l'exécuter avec la lettre de lecteur spécifique de votre lecteur amovible. Cela vous fera gagner environ 5 à 10 secondes, ce qui ne semble pas beaucoup, mais dans HCI, c’est un obstacle énorme . Ce qui est encore mieux, c’est qu’il ne vide que le cache, mais n’éjecte pas le disque . Par conséquent, le lecteur est toujours monté et disponible pour une utilisation si vous vous rappelez soudainement quelque chose que vous avez oublié de faire avec. Cela le rend encore plus utile, car vous pouvez même lui attribuer un raccourci clavier pour vider le cache et le rendre sûr pour le débranchement avec une frappe.


Figure 1 : Stratégie de disque dur interne

Internal HDD policy

Figure 2 : stratégie de lecteur flash USB

USB flash-drive policy

Figure 3 : stratégie de lecteur de carte mémoire interne

Internal memory-card reader policy

Figure 4 : stratégie de lecteur de carte mémoire USB

USB memory-card reader policy

Figure 5 : stratégie de disque dur externe

External HDD policy

Figure 6 : iPod (mini) disque dur

iPod mini HDD policy

1
Synetech