Immer wieder diskutiere ich mit Leuten darüber, dass man USB-Sticks nicht einfach abziehen darf. Das ist aber leider gängige Praxis. Wenn man das macht, dann riskiert man Schäden im Datei-System des Sticks. Da sie in der Regel als FAT verwenden, entstehen so gerne mal Schäden. Beispielsweise dann, wenn man zwar Dateien dort geändert hat, aber das Dateiverwaltungssystem die Änderungen noch nicht geschrieben hat, um die Performance zu erhöhen. Ich selber habe das auch erst auf die harte Tour gelernt und musste als Konsequenz dann auf dem "defekten" Stick mal ein CheckDisk ausführen. Zu Glück habe ich dort nur redundante Daten.

Um den Stick abziehen zu dürfen, muss man ihn vom System abmelden. Das geht unter Windows am einfachsten mit einem Klick auf das Symbol Symbol.
Dann kann man unter den vielen Plug'nPlay-Geräten dasjenige auswählen, dass man entfernen will. Hier im Beispiel eine externe Festplatte:
Entfernen

Dann dauert es eine Weile und man bekommt Bescheid, dass man das Gerät entfernen darf.
geraetentfernen_04.jpg

Abziehen geht nicht?

Manchmal aber darf man das nicht und dann wird es lästig: Wenn noch ein Prozess auf dem Datenträger eine Datei oder ein Verzeichnis geöffnet hat. Manchmal hat man nur noch ein Explorerfenster auf dem Stick geöffnet, aber es kann auch eine Anwendung noch Daten darauf lesen oder schreiben. Wenn man jetzt den Stick einfach abzieht, dann ist der Schaden da.
Besonders lästig wird es, wenn man eine SQL-Server-Datenbank auf dem Stick hat. Datenverluste wären vorprogrammiert.

Spurensuche für Fortgeschrittene

Dann hat man zwei Möglichkeiten: entweder man beendet schrittweise alle Prozesse (das kann bis zum Runterfahren gehen) oder man findet raus, wer der Bösewicht ist. Ich benutze für die Spurensuche gerne den Process-Explorer von SysInternals.

Mit einem Klick im Menü unter "Find -> Find Handle" (oder Strg+f) kann man nach offenen Dateien suchen, z.B. auf "i:\". Im Ergebnis bekommt man eine Liste mit Prozessen und den geöffneten Dateien. Ist es nur der Explorer, kann man mit dem Werkzeug gleich den "Handle" schließen (Doppelklick spring zum Prozessfenster, dort kann man mit der rechten Maustaste auf dem Handle "Close Handle" wählen). Ist es ein anderer Prozess, dann sollte man den lieber erst ordnungsgemäß beenden (nicht einfach den Prozess killen). Infos zu dem Prozess mit den wenig sprechenden Namen bekommt man indem man ihn oben im Fenster auswählt und mit der rechten Maustaste "Properties" auswählt. Diese Infos sollten reichen, um den Bösewicht zu identifizieren…

Update:
Bei Heise wird auf das Tool DevEject.exe verwiesen. Damit kann man in einem Batch einen USB-Stick nach erfolgter Arbeit abmelden.