Beschädigt Ubuntu USB-Laufwerke?

74

Immer wenn ich ein USB-Laufwerk mit Nautilus aushänge und es an einen Windows-Computer anschließe, erhalte ich eine Warnung, dass das Laufwerk repariert werden muss.


(die gleiche Nachricht wie in diesem Screenshot)

Seit mehr als 10 Jahren arbeite ich mit Windows. Ich hatte nie ein beschädigtes oder beschädigtes USB-Laufwerk, aber in den letzten zwei Jahren sind drei meiner USB-Laufwerke funktionsunfähig geworden. Daher kann ich das nicht beweisen, aber es ist offensichtlich, dass dies mit Ubuntus (Un-) Mount-Verhalten zusammenhängt .

Ein Freund sagte mir, dass ich solche Schäden mithilfe von Udisks und Synchronisierung verhindern kann, aber ich hoffe, dass dies nicht der richtige Weg ist, um 2016 Laufwerke mit Shell-Befehlen zu mounten.

jan6352781
quelle
1
Ich würde zwei Tests versuchen, um die Ursache herauszufinden: 1) Können Sie verhindern, dass der Fehler auftritt, wenn Sie synceine Shell aufrufen, bevor Sie die Bereitstellung in Ubuntu aufheben? (unwahrscheinlich) 2) Versuchen Sie, jeweils nur eine Datei zu schreiben, die Bereitstellung aufzuheben, und prüfen Sie dann, ob diese Datei unter Windows gelesen werden kann und der Inhalt trotz dieser Warnung auf dem neuesten Stand ist. 2) bedeutet, dass das Problem höchstwahrscheinlich darin besteht, dass Windows pingelig sagt, dass "wir Fehler gefunden haben", wenn es sich um ein nicht reales Problem handelt.
Arielf
2
Glauben Sie den Leuten nicht, wenn sie Ihnen sagen, dass Linux Ihre Laufwerke nicht beschädigt. Es kann. Auf Ubuntu 15 gab mir das bloße Kopieren von Dateien, gefolgt von einem Neustart, folgende Fehler in chkdsk: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
^ ... ganz zu schweigen davon, dass dies nicht einmal auf einem Flash-Laufwerk war, sondern auf meiner Haupt-SSD. Eine brandneue SSD. Und es kam jedes Mal vor, dass ich nach der Dateikopie keine Tonne zusätzlicher E / A hinzufügte. Mit anderen Worten, die Linux-Implementierung von NTFS ist kaputt, so sehr die Fans dies bestreiten und es vermeiden wollen, daran zu glauben.
Mehrdad
12
Ist das ein NTFS-Dateisystem? FAT32? Können Sie es zuverlässig reproduzieren?
Braiam
2
Was ist so schlimm daran , Laufwerke mit Shell-Befehlen zu mounten ? ¯\(o_o)/¯
Ulidtko

Antworten:

104

Keine Sorge Ubuntu hat Ihr USB-Laufwerk nicht beschädigt. Wir verwenden jedoch keine schlecht dokumentierten Bit-Flags eines FAT32-, FAT16- oder NTFS-Dateisystems. Unter Windows weisen diese Flags auf ein möglicherweise beschädigtes Dateisystem hin, wenn die Bereitstellung des Laufwerks nicht ordnungsgemäß aufgehoben wurde oder ein E / A-Fehler aufgetreten ist.

Diese Bits befinden sich in einem reservierten Eintrag einer FAT-Partitionstabelle. Laut einer internen Veröffentlichung von Microsoft aus dem Jahr 2004 haben diese Bits folgenden Zweck:

  • ClnShutBitMask:
    Wenn das Bit 1 ist, ist das Volume "sauber". Das Volume kann für den Zugriff bereitgestellt werden. Wenn das Bit 0 ist, ist das Volume "fehlerhaft", was darauf hinweist, dass ein FAT-Dateisystemtreiber die Bereitstellung des Volumes nicht ordnungsgemäß aufheben konnte (während eines vorherigen Bereitstellungsvorgangs). Der Inhalt des Volumes sollte auf Beschädigungen der Metadaten des Dateisystems überprüft werden.
  • HrdErrBitMask:
    Wenn dieses Bit 1 ist, sind keine Lese- / Schreibfehler auf der Festplatte aufgetreten. Wenn dieses Bit den Wert 0 hat, ist bei der Implementierung des Dateisystemtreibers beim letzten Mounten ein E / A-Fehler auf dem Datenträger aufgetreten. Dies ist ein Hinweis darauf, dass einige Sektoren möglicherweise fehlerhaft waren. Der Inhalt des Volumes sollte mit einem Dienstprogramm zur Festplattenreparatur gescannt werden, das eine Oberflächenanalyse nach neuen fehlerhaften Sektoren durchführt.

Vor einigen Jahren gab es eine Diskussion mit den Kernel-Dateisystem-Entwicklern, wie dies behoben werden kann, aber ich konnte die Ergebnisse nicht weiterverfolgen. Anscheinend hat es nicht in die letzten Kernel geschafft.

Da es sich nur um ein Bit-Flag handelt, unsere Daten aber im Allgemeinen in einwandfreiem Zustand sein sollten, können wir die Windows-Warnmeldungen auf den Laufwerken, die wir zuvor in Ubuntu verwendet hatten, ignorieren.

Takkat
quelle
3
Ich habe diese Fehler in diesen Laufwerken noch nie gehabt, als ich die Laufwerke tatsächlich sicher abgemeldet habe. Sind Sie sicher, dass die Unterstützung für diese Bits fehlt?
Thomas Ward
5
@ThomasW. Diese Bits sind ziemlich dunkel, aber ich habe gelegentlich diese Fehler mit meinen Ubuntu-formatierten USB-Laufwerken auf meinem Arbeitsplatz Windows 7. Bisher habe ich kein hilfreiches Muster gesehen. Ich kann nur sagen, dass ich die Laufwerke immer ordnungsgemäß ausgehängt / ausgeworfen habe. Testen ist nicht einfach, da zu Hause kein Windows, bei der Arbeit kein Ubuntu.
Takkat
Die Überschrift ist falsch.
MatthewRock
@MatthewRock: besser?
Takkat
Ja es ist besser
MatthewRock
74

Dies ist hauptsächlich ein Problem bei Windows. Es denkt, es ist das einzige Betriebssystem der Welt und reagiert, wenn es etwas entdeckt, das es nicht versteht.

Nur weil Windows angibt, dass Sie das Laufwerk reparieren müssen, ist dies nicht der Fall.

Alle meine mit Ubuntu verwendeten Laufwerke erhalten diese Meldung von Windows, ich sage nur, nound sie funktionieren einwandfrei mit Windows.

Kurz gesagt, es ist nichts falsch mit dem Laufwerk, es ist nur etwas da, das Windows nicht versteht und dessen Reaktion darin besteht, es zu zerstören.

Nicht repairdas Laufwerk, es wird formatiert, ohne es Ihnen mitzuteilen, und Sie werden alle Daten auf dem Laufwerk verlieren.

Mark Kirby
quelle
40
1. Reparatur formatiert nicht, Reparatur speichert zugewiesene Daten in einem Ordner. Für mich scheint es, als würde Ubuntu den Schreibvorgang nicht richtig beenden.
Jan6352781
10
2. Die meisten USB-Laufwerke sind FAT32-formatiert, das von Microsoft entwickelt wurde. Warum sollte Windows also das einzige System sein, das etwas "nicht versteht"?
Jan6352781
17
-1 weil es unbegründet und falsch ist. Ich habe gesehen, dass Ubuntu 15 mein NTFS-Volume beschädigt hat (ja, ich weiß, dass Sie mir nicht glauben werden, aber ich habe es mit eigenen Augen gesehen und mindestens 3-4 Mal hintereinander reproduziert, bevor ich es selbst geglaubt habe), und es ist passiert, obwohl ich explizit alle Puffer synchronisiert habe. Ich stimme @ jan6352781 zu, dass ich auch vermutet habe, dass dies darauf zurückzuführen ist, dass der Schreibvorgang nicht abgeschlossen wurde, und das tue ich immer noch. In der Tat, wenn Sie nach dem Schreiben lange genug warten, bevor Sie Ubuntu neu starten, funktioniert es einwandfrei. Wir haben keinen Grund zu der Annahme, dass Windows daran schuld ist, und jeder Grund zu der Annahme, dass Ubuntu schuld ist.
Mehrdad
7
Durch das Reparieren des Laufwerks wird es nicht formatiert. Es läuft chkdsk. Es formatiert die Festplatte nicht mehr als fsck eine Festplatte formatiert.
Geselle Geek
16
Diese gesamte Antwort ist nur eine Schimpfworte von Windows ohne Beweise (außer anekdotisch).
Millie Smith
18

Wie Sie in einem Kommentar vorgeschlagen haben, hängt dies möglicherweise damit zusammen, dass Ubuntu den Schreibvorgang nicht abschließt, bevor Sie das Flash-Laufwerk entfernen. Ubuntu schreibt die Dateien während des Kopiervorgangs in den Arbeitsspeicher und schreibt diese Dateien im Hintergrund aus dem Puffer auf das USB-Laufwerk, nachdem der Kopierdialog geschlossen wurde. Es gibt noch eine andere AntwortDas deutet darauf hin, dass dies vor allem bei Computern mit großem Arbeitsspeicher ein Problem ist. Es ist jedoch wahrscheinlich, dass Sie das Laufwerk entfernen, bevor der Hintergrundschreibvorgang abgeschlossen ist. Wenn Sie ein Laufwerk auswerfen, wird der Puffer zwangsweise auf die Festplatte geschrieben. Es ist jedoch schwierig festzustellen, wann der Schreibvorgang tatsächlich abgeschlossen ist. Es gibt ein Popup-Fenster in neueren Versionen (15.10 für bestimmte, möglicherweise 15.04), um dies zu beheben. Nach einer (im Allgemeinen kurzen) Zeit wird eine violette Warnung angezeigt, die besagt, dass etwas in der Art von "[Laufwerk] kann jetzt einmal entfernt werden" der schreibvorgang ist beendet.

Dies ist wahrscheinlich der Grund, warum Ihr Freund die Synchronisierung vorgeschlagen hat. Das Ausführen syncim Terminal erzwingt, dass alle gepufferten Daten auf die Festplatte geschrieben werden, und sollte erst zurückgegeben werden, wenn die Schreibvorgänge abgeschlossen sind (siehe diese Antwort ). In dieser Antwort finden Sie ein Hilfsprogramm, mit dem Sie feststellen können, ob dies tatsächlich das Problem ist.

alex_d
quelle
Ich erhalte das Popup in 14.04 (Linux Mint KDE Edition), wenn ich ein USB-Laufwerk und auch meine 15.10 Kubuntu-Maschinen auswerfe. Ich bin mir über den 15.04 nicht sicher, aber ich würde das annehmen.
Jon Bentley
1
Die GUI macht es wirklich nicht offensichtlich? Ich habe ejectim Terminal lange Zeit verwendet und es gibt eine merkliche Verzögerung, bevor es zurückkehrt, wenn ich gerade eine große Datei kopiert habe.
Izkata
1
@Izkata Wenn Sie in Vanilla Ubuntu 14.04 auf das Auswurfsymbol in Nautilus klicken, wird es sofort ausgeblendet. Im Gegensatz zu internen Laufwerken verschwinden USB-Laufwerke jedoch vollständig aus der Seitenleiste, wenn sie nicht gemountet sind (dh der Schreibvorgang ist abgeschlossen). In dieser Zeit wird das USB-Laufwerk zwar geschrieben, scheint jedoch ausgeworfen zu werden.
alex_d
5

Ich habe gesehen, dass viele USB-Laufwerke, insbesondere Flash-Karten (SD usw.) in USB-Adaptern, mit FAT-Dateisystemen (praktisch jedes USB-Laufwerk ist mit FAT32 vorformatiert) beschädigt wurden, während Ubuntu und von Ubuntu abgeleitete Distributionen verwendet wurden. Bei regelmäßiger täglicher Anwendung war dies fast alle paar Monate der Fall.

Wenn es sich um ein Hardwareproblem handelte, sollte das Formatieren der Partitionen mit ext3 (oder 4) nicht helfen, aber mit ext3 / 4 sind die Dateisysteme praktisch kugelsicher. (ext2 war auch in den paar Monaten, in denen ich es ausprobiert habe, beschädigt; es sollte weniger Schreibvorgänge geben, damit die Lebensdauer von Flash-Laufwerken länger ist, hauptsächlich ohne Tagebuch).

Daher sollte Ubuntu USB-Laufwerke selbst nicht physisch beschädigen, bei FAT-Dateisystemen vertraue ich ihm jedoch immer noch nicht zu 100%.

Ich denke, dass eine Beschädigung des Dateisystems am besten vermieden werden kann durch:

  • Ziehen Sie ein USB-Laufwerk niemals einfach aus der Steckdose, bevor es nicht angehängt wurde umount. Selbst wenn das Laufwerk gerade nichts schreibt (wenn es eine LED hat, blinkt sie nicht) und selbst wenn Sie dies getan haben, kann es sein, dass syncdas Dateisystem immer noch funktioniert
  • Warten Sie nach dem umount/ Auswerfen mindestens einige Sekunden, bevor Sie den Netzstecker ziehen. Es sieht so aus, als ob die Betriebsanzeige umountdes Laufwerks manchmal noch eine Weile blinkt. Andere Benutzer wie dieser Typ sagen, es könnte bis zu einer Minute dauern.
  • Verlassen Sie sich nicht nur auf nur synceinen, wie diesen Typen, der Dateibeschädigung hat.

Verwandte (allgemein) Links:

Xen2050
quelle
3

Dies hat mit keinem Betriebssystem etwas zu tun. Dies ist ein Dateisystemfehler, der in den meisten Fällen darauf hinweist, dass die Bereitstellung des Laufwerks nicht ordnungsgemäß aufgehoben wurde (Benutzerfehler). Dies ist kein absoluter Hinweis auf einen Schaden, sondern lediglich ein Hinweis auf die Möglichkeit eines Schadens. Wenn vorhanden, ist der Schaden normalerweise auf die zuletzt geschriebenen Dateien beschränkt. Der Windows-Befehl "Reparieren" durchsucht in diesem Fall das Laufwerk nach Sektoren, die als "belegt" gekennzeichnet, aber keiner Datei zugewiesen sind, und weist diese Botschaften und Teile neuen Dateien zu.

Dieser Fehler kann auch unter Windows auftreten, wenn Sie das Laufwerk während des Schreibvorgangs nur herausziehen, ohne es zuvor abzuhängen (unter Windows wird das Abmelden durch "Auswerfen" ausgeführt).

Wenn Sie diese Meldung sehen, wurde das Laufwerk nicht ordnungsgemäß abgemeldet.

Sie können selbst überprüfen, ob das Dateisystem wirklich beschädigt oder falsch positiv ist: Wenn nach dem Ausführen von "Reparieren" ein neuer Ordner mit dem Namen "found000" mit einigen Dateien darin angezeigt wird, bedeutet dies, dass es tatsächlich einen unvollendeten Schreibvorgang gab wurde unterbrochen. Einige Ihrer Daten gingen verloren, und das ist ein Problem.

Agent_L
quelle
2

Ich verwende mehrere Jahre Ubuntu und Windows mit Dual-Boot, und wenn ich das Laufwerk auf die richtige Weise aushole, wird in Windows immer die Fehlermeldung angezeigt, aber auf meinem USB-Laufwerk war nie ein Fehler. In W10 können Sie diese Popup-Fehlermeldung deaktivieren.

Bildbeschreibung hier eingeben

tviragh
quelle
1

Es gibt so gut wie keine Möglichkeit, dass ein Betriebssystem ein USB-Laufwerk beschädigt. Nach einem normalen Format (nicht dem schnellen) sollte keine Spur mehr vorhanden sein, die jemals mit Ubuntu verwendet wurde.

Überprüfen Sie die Laufwerke mit "H2testw" oder "USB Flash Drive Tester" - fehlerhafte Sektoren können viele seltsame Fehler verursachen.

user158037
quelle
4
Das OP ist falsch formuliert, aber es bedeutet "Dateisystem", nicht "Flash-ROM".
wizzwizz4
Es scheint , dass die OP tatsächlichen USB - Laufwerk kann bedeuten Schaden , sagen sie : „Ich hatte nie ein beschädigtes oder USB - Laufwerk beschädigt , aber in den letzten zwei Jahren drei meiner USB - Laufwerke wurden außer Betrieb Wenn sie sie nur beschädigt bedeuteten wahrscheinlich beschädigt gesagt hätten, statt "inoperativ" @ wizzwizz4
Xen2050
3
@ Xen2050 Alle anderen Antworten und Kommentarthreads, einschließlich jan6352781, implizieren oder geben an, dass das Dateisystem das Problem ist und das "defekte Gerät" eine Extrapolation davon ist, dass sie nicht richtig funktionieren.
wizzwizz4
@ wizzwizz4 Nun, die OP Kommentare in Mark Kirby Antwort, „3. In den letzten Jahren übersprungen ich die Reparatur fast jeden Tag mit enden beschädigten Dateien und USB - Laufwerke .“ Ich vermute , es ist nur aus alten Laufwerke , die es versäumt haben würde, Fenster oder nein, aber sie OP sagte es immer noch
Xen2050
@ Xen2050 Oder das OP bezog sich auf die alte Meldung "Das Gerät ist beschädigt. Möchten Sie, dass Windows das Problem behebt?" (paraphrasiert), das manchmal auftaucht, wenn eine andere DLL das Problem behandelt. (Ich habe es selbst erscheinen lassen, obwohl ich nicht sicher bin, ob der letzte Satz richtig ist.)
wizzwizz4
1

Ich kann nicht sagen, ob das Laufwerk "beschädigt" war, vielleicht war es das und vielleicht war es das nicht. Aber als jemand, der dasselbe sagen kann: "Seit mehr als 10 Jahren mit Windows arbeiten ...", kann ich Ihnen sagen, dass wenn Sie Windows 10 verwenden, dies die Ursache für Ihre neuen Probleme sein könnte. An meinem ersten Tag am 10. trat ein neues Problem auf: In 10 wurde eine Datenbank für externe Laufwerke erstellt (möglicherweise handelt es sich um die Indexdatenbank, an die ich mich nicht erinnere). Wenn diese Datenbank nicht mit dem Laufwerk übereinstimmt, werden Sie darauf hingewiesen, dass Ihr Laufwerk beschädigt ist. Manchmal können Sie diese Warnung ignorieren und manchmal nicht (siehe Anekdote). Wenn Sie "repair" ausführen, wird die Datenbank repariert.

Anekdote:

Ich kann mich nicht erinnern, wo ich diese Informationen gefunden habe, aber ich habe es herausgefunden, als ich meinen Musikordner verschoben habe. Es wurde beanstandet, dass das Laufwerk defekt war, anstatt sich nur über den Ordner zu beschweren, den es gesucht hatte und der nicht mehr vorhanden war. Vor der Reparatur wurde der neue Speicherort unter Ubuntu und der alte Speicherort unter Windows 10 angezeigt. Unter Windows 10 konnten jedoch nicht alle Dateien geöffnet werden. Nach der Reparatur wurde der neue Speicherort des Musikordners in Windows angezeigt, der alte Ordner verschwand und es funktionierte wieder unter Windows.

Laufen syncist auch keine schlechte Idee.

Schwarz
quelle