Schwerer Verlust
In Windows XP kann man für jeden USB-Stick festlegen, ob ein Schreibcache verwendet werden soll oder nicht. Microsoft nennt das („SuRun Rundll32 shell32.dll,Control_RunDLL hotplug.dll“ -> Eigenschaften -> Richtlinien) „Für schnelles Entfernen optimieren“ bzw. „Für Leistung optimieren“. Ist die erste Option aktiv, kann man angeblich den USB-Stick bzw. das Medium ohne weiteres abziehen…
Aber das stimmt nicht!
Ich benutze zum Datenabgleich zwischen Arbeits- und Heimrechner zwei halbwegs schnelle Compact Flash Lesegeräte und eine mittelgroße Compact Flash Karte. Dabei fiel mir auf, dass Windows des Öfteren bemerkte, dass ein Datenverlust zu bedauern ist und die Datei „MFT$“ nicht geschrieben werden konnte.
Woanders speichern… hmmm, 😕 das hat seinen Charme!
Dabei hatte ich Windows doch alles „Für schnelles Entfernen optimieren“ lassen.
Das wollte ich näher wissen…
Meine Speicherkarte habe ich mit NTFS formatiert.
Das ist, weil FAT32 für Datum und Uhrzeit von Dateien nur 32 Bit (Jahr:7, Monat:4, Tag:5, Stunde:5, Minute:6, Sekunde:5) zur Verfügung hat und deshalb die Uhrzeit auf zwei Sekunden runden muss. Damit kam mein Batch-Script nicht zurecht, das anhand des letzten Zugriffs ermittelt, ob eine Sicherung oder Wiederherstellung durchzuführen ist.
Ich erinnerte mich dunkel daran, dass Windows XP bei eingeschaltetem „Für schnelles Entfernen optimieren“ das Formatieren mit NTFS von USB-Sticks und ähnlichem verhindert. Man kann weder mit dem grafischen Frontend,
noch per Kommandozeile solche Laufwerke mit NTFS formatieren.
Aber mit dem Trick über das Kommandozeilenprogramm „convert.exe“ kann man einen FAT32 formatierten USB-Stick in NTFS umwandeln, ohne den Schreibcache zu aktivieren:
Dumm nur ist, dass Windows doch klammheimlich den Schreibcache für das Laufwerk aktiviert, das aber nicht meldet.
Wenn man auf so einen Stick, eine große Datenmenge kopiert
und direkt danach den USB-Stick abzieht, meckert Windumms nicht mal, das es Daten verlor!!! 😯
Null Meldung, Keine Nachricht, nicht einmal ein Eintrag im Event-Log!!!
Komischerweise meckert Windows bei meiner CompacFlash-Karte, bei dem USB-Stick aber nicht… vielleicht, weil das Lesegerät noch am USB steckt… wer weiß?
Die Datei ist aber nicht vollständig geschrieben und defekt:
…nicht einmal chkdsk findet einen Fehler:
Wären meine Fotos auf solche Weise verschwunden…
Einen USB-Stick mit NTFS zu formatieren scheint aber schon sinnvoll. Nur mit NTFS kann man z.B. Daten komprimiert speichern um mehr auf den Stick zu bekommen.
Wie so häufig muss der Benutzer hier wissen, was er tut und über das Symbol „Hardware sicher entfernen“ im Infobereich der Taskleiste das Medium „beenden“.
Für mich gilt nun: Und die Moral von der Geschicht? Zieh den NTFS Stick nicht!
Aber zurück zu meiner „Datenverlust beim Schreiben“ – Meldung:
Bei der Suche nach einem Weg, das Medium automatisch zu „beenden“ fand ich Uwe Siebers Seite.
Er hat nicht nur viele Tools für Probleme mit USB-Sticks geschrieben, sondern auch eine Liste, wann Windumms den Schreibcache aktiviert und wann nicht. Nun ja… da hätte ich Zeit sparen können 😉
Aber sehr gelungen finde ich seinen USB Drive Letter Manager.
Damit kann ich endlich ohne blödes Nachfragen die „AutoRun.INF“ ausführen lassen und sehe den Laufwerksbuchstaben nur, wenn wirklich ein Medium im Lesegerät ist. 😀 Danke Uwe!
Er hat auch ein Tool (EjectMedia) geschrieben, mit dem man von einer Batch Datei aus das Medium auswerfen kann. Damit bekomme ich endlich keine „Datenverlust beim Schreiben“ Meldungen mehr. 🙂