Ubuntu endommage-t-il les clés USB?

74

Chaque fois que je démonte un lecteur USB avec Nautilus et que je le branche sur un ordinateur Windows, je reçois un avertissement indiquant que le lecteur doit être réparé.


(le même message que dans cette capture d'écran)

Pendant plus de 10 ans de travail sous Windows, je n'ai jamais eu de clé USB corrompue ou endommagée, mais au cours des deux dernières années, trois de mes clés USB sont devenues inutilisables. Je ne peux donc pas le prouver, mais il est évident que cela est lié au comportement de (dés) montage de Ubuntu. .

Un ami m'a dit que je pouvais éviter de tels dommages en utilisant udisks et sync, mais j'espère que ce n'est pas la bonne façon de le faire, monter des lecteurs avec des commandes shell en 2016.

jan6352781
la source
1
Je voudrais essayer deux tests pour comprendre la cause fondamentale: 1) Pouvez-vous empêcher l’erreur d’apparaître si vous appelez syncun shell avant le démontage dans Ubuntu? (Peu probable) 2) Essayez d'écrire un seul fichier à la fois, démontez-le, puis vérifiez si ce fichier peut être lu sous Windows et que son contenu est à jour, malgré l'avertissement affiché. 2) signifie que le problème est probablement lié au fait que Windows est difficile à dire: "nous avons trouvé des erreurs" à propos d'un problème non réel.
arielf
2
Ne croyez pas les gens quand ils vous disent que Linux ne corrompra pas vos lecteurs. Ça peut. Sur Ubuntu 15, une simple copie de fichier suivie d'un redémarrage m'a toujours donné des erreurs dans chkdsk comme celle-ci:Stage 2: Examining file name linkage ... Found corrupt basic file structure for "<0x32,0x1e63>" ... queued for offline repair. Found an unneeded link ($FILE_NAME: ???) in index "$I30" of directory "\ <0x5,0x5>" ... queued for offline repair. Found missing Index entry for file "<0x32,0x1e63>" from index "\??\D:\found.000" of directory "$I30" ... queued for offline repair.
Mehrdad
1
^ ... pour ne pas mentionner, ce n'était même pas sur un lecteur flash, c'était sur mon SSD principal. Un SSD flambant neuf. Et il m'est arrivé à chaque fois que je n'ajoutais pas une tonne d'E / S supplémentaire après la copie du fichier. En d'autres termes, l'implémentation de NTFS par Linux est cassée, autant que ses fans voudront le nier et éviter de croire.
Mehrdad
12
Est-ce un système de fichiers NTFS? FAT32? Pouvez-vous le reproduire de manière fiable?
Braiam
2
Quel est le problème avec le montage de lecteurs avec des commandes shell ? ¯\(o_o)/¯
ulidtko

Réponses:

104

Pas de problème, Ubuntu n'a pas endommagé votre clé USB. Mais nous n'utilisons pas les indicateurs de bits mal documentés d'un système de fichiers FAT32, FAT16 ou NTFS. Sous Windows, ces indicateurs indiquent un système de fichiers potentiellement corrompu alors que nous n'avions pas correctement démonté le lecteur ou qu'une erreur d'E / S s'était produite.

Ces bits sont situés dans une entrée réservée d'une table de partitions FAT. Selon un document interne de Microsoft datant de 2004 , ces éléments sont les suivants:

  • ClnShutBitMask:
    Si le bit est à 1, le volume est «propre». Le volume peut être monté pour l'accès. Si le bit est à 0, le volume est «sale», ce qui indique qu'un pilote de système de fichiers FAT n'a pas été en mesure de démonter le volume correctement (au cours d'une opération de montage antérieure). Le contenu du volume doit être analysé pour détecter tout dommage causé aux métadonnées du système de fichiers.
  • HrdErrBitMask:
    Si ce bit est à 1, aucune erreur de lecture / écriture de disque n'a été rencontrée. Si ce bit est à 0, la mise en œuvre du pilote de système de fichiers a rencontré une erreur d'E / S de disque sur le volume lors de son dernier montage, ce qui indique que certains secteurs ont mal tourné. Le contenu du volume doit être analysé à l'aide d'un utilitaire de réparation de disque qui effectue une analyse de surface à la recherche de nouveaux secteurs défectueux.

Il y a quelques années, des discussions ont eu lieu avec les développeurs du système de fichiers du noyau sur la façon de remédier à ce problème, mais je n'ai pas été en mesure de suivre les résultats. Apparemment, cela n’a pas été transformé en noyaux récents.

Comme il ne s'agit que d'un indicateur, mais que nos données doivent être parfaitement en bon état, nous pouvons ignorer les problèmes d'avertissement de Windows sur les lecteurs précédemment utilisés dans Ubuntu.

Takkat
la source
3
Je n'ai jamais eu ces erreurs dans ces lecteurs alors que je démonte les lecteurs en toute sécurité. Êtes-vous sûr que le support pour ces bits est manquant?
Thomas Ward
5
@ThomasW. Ces bits sont assez obscurs, mais il arrive parfois que je rencontre ces erreurs avec mes clés USB au format Ubuntu sur mon lieu de travail Windows 7. Jusqu'à présent, je n'ai vu aucun modèle utile. La seule chose que je puisse dire, c'est que je démonte / éjecte toujours correctement les disques. Les tests ne sont pas faciles car, à la maison, pas de Windows, ni au travail, ni Ubuntu.
Takkat
Le titre est faux.
MatthewRock
@ MatthewRock: mieux?
Takkat
Oui, c'est mieux.
MatthewRock
74

Ceci est principalement un problème avec Windows. Il pense que c'est le seul système d'exploitation au monde et agit s'il détecte quelque chose qu'il ne comprend pas.

Le fait que Windows dise que vous devez réparer le lecteur ne le rend pas vrai.

N'importe lequel de mes lecteurs utilisés avec Ubuntu reçoit ce message de Windows, je dis simplement, noet ils fonctionnent correctement avec Windows.

En bref, il n’ya rien de mal avec le lecteur, c’est simplement que Windows ne comprend pas et qu’il répond en le détruisant.

Ne pas repairle lecteur, il va le formater sans vous dire et vous perdrez toutes les données sur le lecteur.

Mark Kirby
la source
40
1. La réparation ne formate pas, la réparation enregistre les données allouées dans un dossier. Pour moi, il semble qu'Ubuntu ne termine pas correctement le processus d'écriture.
jan6352781
10
2. La plupart des clés USB sont au format FAT32, ce qui a été développé par Microsoft. Pourquoi Windows devrait-il être le seul système à "ne pas comprendre" quelque chose ??
jan6352781
17
-1 parce que c'est non fondé et faux. J'ai vu Ubuntu 15 corrompre mon volume NTFS (oui, je sais que vous ne me croirez pas, mais je l'ai vu de mes propres yeux et reproduit au moins 3 à 4 fois d'affilée avant de le croire moi-même) et est arrivé même malgré la synchronisation explicite de tous les tampons. Je conviens avec @ jan6352781 que je soupçonnais aussi que cela était dû au fait de ne pas avoir terminé le processus d'écriture, et je le fais toujours. En fait, si vous attendez assez longtemps après l'écriture avant de redémarrer Ubuntu, cela fonctionne bien. Nous n'avons aucune raison de croire que Windows est en faute ici, et toutes les raisons de croire Ubuntu le sont.
Mehrdad
7
La réparation du lecteur ne le formate pas. Il court chkdsk. Il ne formate pas plus le disque que fsck ne formate un disque.
Journeyman Geek
16
Toute cette réponse est juste une diatribe sur Windows sans preuve (sauf anecdotique).
Millie Smith
18

Comme vous l'avez suggéré dans un commentaire, cela est peut-être lié au fait que Ubuntu n'a pas terminé le processus d'écriture avant de retirer le lecteur flash. Ubuntu écrit les fichiers dans la RAM pendant le processus de copie et écrit ces fichiers de la mémoire tampon sur le lecteur USB en arrière-plan après la fermeture de la boîte de dialogue de copie. Il y a une autre réponsecela suggère que c'est particulièrement un problème pour les machines avec de grandes quantités de mémoire, mais il est probable que vous retiriez le lecteur avant que l'écriture en arrière-plan ne soit terminée. Lorsque vous éjectez un lecteur, le tampon est écrit sur le disque, mais il est difficile de savoir quand l’écriture est terminée. Il y a une fenêtre contextuelle dans les versions les plus récentes (15.10 pour certains, éventuellement 15.04) destinée à remédier à cela - une alerte violette apparaît après un temps (généralement court) indiquant que quelque chose du type "[Drive] peut maintenant être supprimé" l'écriture est terminée.

C'est probablement la raison pour laquelle votre ami a suggéré la synchronisation. L'exécution syncdans le terminal force l'écriture de toutes les données mises en mémoire tampon sur le disque et ne doit être renvoyé qu'une fois les écritures terminées (voir cette réponse ). Voir cette réponse pour un utilitaire qui vous aidera à déterminer si tel est le problème.

alex_d
la source
Je reçois le popup dans 14.04 (édition Linux Mint KDE) à chaque fois que j'éjecte un lecteur USB, ainsi que mes machines 15.10 Kubuntu. Pas sûr de 15.04, mais je suppose que oui.
Jon Bentley
1
L'interface graphique ne rend vraiment pas cela évident? Je l'utilise depuis longtemps ejectdans le terminal et il y a un délai notable avant qu'il ne soit renvoyé si je viens de copier un fichier volumineux.
Izkata
1
@Izkata Sous Ubuntu 14.04 vanille, lorsque vous cliquez sur le symbole d'éjection dans Nautilus, celui-ci disparaît immédiatement. Contrairement aux lecteurs internes, les lecteurs USB disparaissent complètement de la barre latérale une fois le montage terminé (c’est-à-dire que l’écriture est terminée). Il reste donc un certain temps pendant lequel le lecteur USB est écrit mais semble être éjecté.
alex_d
5

J'ai vu de nombreux lecteurs USB, notamment des cartes flash (SD, etc.) dans des adaptateurs USB, avec des systèmes de fichiers FAT (pratiquement tous les lecteurs USB pré-formatés avec FAT32) se corrompant lors de l'utilisation de distributions dérivées d'Ubuntu & Ubuntu. Il s’agissait presque tous les deux ou trois mois d’une utilisation quotidienne régulière.

S'il s'agissait d'un problème matériel, alors le formatage des partitions avec ext3 (ou 4) ne devrait pas aider, mais ext3 / 4 rend les systèmes de fichiers pratiquement blindés. (Ext2 a également été corrompu au cours des quelques mois où je l'ai essayé; il était supposé avoir moins d'écritures, donc une plus longue durée de vie pour les clés USB, principalement à partir de pas de journal)

Ainsi, Ubuntu ne devrait pas endommager physiquement les lecteurs USB eux-mêmes, mais je ne lui fais toujours pas confiance à 100% avec les systèmes de fichiers FAT.

Je pense que la corruption du système de fichiers peut être évitée de la manière suivante:

  • Ne débranchez jamais un lecteur USB tant qu’il n’a pas été démonté / umount/ éjecté. Même si le lecteur n’écrit rien (il est allumé, il ne clignote pas) et même si vous l’avez déjà fait, syncle système de fichiers peut toujours
  • Attendez au moins quelques secondes après umount/ éjecter avant de le débrancher. Il semble que même après que umountle voyant d'activité du lecteur puisse clignoter pendant quelques instants. D'autres utilisateurs comme ce gars-là disent qu'il pourrait durer jusqu'à une minute.
  • Ne comptez pas uniquement sur l'un syncou l'autre, comme ce gars qui a la corruption de fichier.

Liens connexes (généralement):

Xen2050
la source
3

Cela n'a rien à voir avec aucun système d'exploitation. Il s'agit d'une erreur du système de fichiers, qui indique dans la plupart des cas que le lecteur n'a pas été démonté correctement (erreur de l'utilisateur). Ce n'est pas une indication absolue de dommage, mais simplement une possibilité de dommage. Le cas échéant, les dommages sont généralement limités au (x) dernier (s) fichier (s) écrit (s). La commande "Réparer" de Windows, dans ce cas, analyse le lecteur à la recherche des secteurs marqués "occupés", mais non affectés à un fichier, puis attribue ces morceaux et ces morceaux à de nouveaux fichiers.

Cette erreur peut également être créée sous Windows si vous retirez simplement le lecteur en écriture sans le démonter au préalable (dans Windows, "Éjecter" effectue le démontage).

Voir ce message signifie que le lecteur n'a pas été démonté correctement.

Vous pouvez vérifier vous-même si le système de fichiers est vraiment endommagé ou s'il s'agit simplement d'un faux positif: si, après l'exécution de "Réparer", un nouveau dossier nommé "found000" apparaît avec certains fichiers, cela signifie qu'il y a vraiment une écriture inachevée qui s'est interrompu. Certaines de vos données ont été perdues, ce qui est préoccupant.

Agent_L
la source
2

J'utilise plusieurs années Ubuntu et Windows avec double démarrage, et lorsque je démonte le lecteur de la bonne manière, le message d'erreur s'affiche toujours dans Windows, mais aucune erreur ne s'est produite sur mon lecteur USB. Dans W10, vous pouvez désactiver ce message d'erreur contextuel.

entrez la description de l'image ici

tviragh
la source
1

Il n’existe pratiquement aucun moyen pour un système d’exploitation d’endommager le lecteur USB. Après un format normal (et non rapide), il ne devrait plus rester aucune trace de ce lecteur a été utilisé avec Ubuntu.

Vérifiez les lecteurs avec "H2testw" ou "USB Flash Drive Tester" - des secteurs défectueux peuvent être à l'origine de nombreuses erreurs étranges.

utilisateur158037
la source
4
L'OP est mal écrit, mais cela signifie "système de fichiers", pas "flash ROM".
wizzwizz4
Il semble que l'OP puisse signifier des dommages réels sur le lecteur USB , ils disent: "Je n'ai jamais eu un lecteur USB corrompu ou endommagé, mais au cours des deux dernières années, trois de mes lecteurs USB sont devenus inutilisables ". S'ils voulaient dire simplement corrompus, ils auraient probablement dit corrompus, au lieu de "inopérantes" @ wizzwizz4
Xen2050
3
@ Xen2050 Pourtant, toutes les autres réponses et commentaires, y compris jan6352781, impliquent, ou indiquent, que le système de fichiers est le problème, et le "périphérique défectueux" est une extrapolation de leur fonctionnement incorrect.
wizzwizz4
@ wizzwizz4 Eh bien, dans la réponse de Mark Kirby, l'OP commente "3. Les dernières années, j'ai omis de réparer presque tous les jours et me retrouvais avec des fichiers endommagés et des clés USB ." J'imagine que ce n'est que d'anciens lecteurs qui auraient échoué, Windows ou non, mais ils l'ont toujours dit
Xen2050
@ Xen2050 Ou peut-être que l'OP faisait référence à l'ancien message "Le périphérique est endommagé. Voulez-vous que Windows le répare?" (paraphrasé) qui arrive parfois quand une dll différente gère le problème. (Je l'ai eu moi-même, même si je ne suis pas sûr que la dernière phrase soit
exacte
1

Je ne peux pas dire si le lecteur était "endommagé", peut-être que oui ou non. Mais en tant que personne capable de dire la même chose: "Pendant plus de 10 ans travaillant avec Windows ...", je peux vous dire que si vous utilisez Windows 10, cela pourrait être la source de vos nouveaux problèmes. J'ai rencontré un nouveau problème le premier jour de mon arrivée sur 10: sur 10, une base de données est créée pour les lecteurs externes (il peut s'agir de la base de données d'indexation, je ne m'en souviens pas). Si cette base de données ne correspond pas au lecteur, il vous dira que votre lecteur est endommagé. Parfois, vous pouvez ignorer cet avertissement et parfois, vous ne pouvez pas (voir anecdote). Lancer "réparer" va réparer la base de données.

Anecdote:

Je ne me souviens pas où j'ai trouvé cette information, mais je l'ai su lorsque j'ai déplacé mon dossier Musique. Il s'est plaint que le lecteur était en panne au lieu de se plaindre du dossier qu'il cherchait qui n'existait plus. Avant de réparer, le nouvel emplacement est apparu sur Ubuntu et l'ancien sur Windows 10 ... mais tous les fichiers n'ont pas pu être ouverts sur 10. Après avoir réparé, le nouvel emplacement du dossier Musique est apparu sous Windows, l'ancien dossier disparu, et cela a fonctionné à nouveau sur Windows.

Courir syncn'est également pas une mauvaise idée.

Noir
la source