Wer kennt es nicht: Man will die externe Festplatte oder den USB-Stick trennen und Windows mag den Datenträger nicht hergeben. Es wird lediglich folgende nicht sehr hilfreiche Warnung ausgegeben:
Leider verschweigen uns alle Windows-Versionen egal ob 2000, 2003, XP oder Vista, was die “schuldige” Anwendung ist. Ein erzwungenes Trennen des Datenträgers durch das Ziehen des Kabels sorgt in dieser Situation in vielen Fällen für einen Datenverlust.
Wie bekommt man nun raus, welcher Prozess welche Datei geöffnet hat? Mark Russinovich von Microsoft hat hier im Rahmen seiner Windows Sysinternals Tools eine praktische Lösung für die Befehlszeile entwickelt. Das Programm Handle.exe erlaubt die Abfrage aller geöffneten Dateien aller Programme. Dabei kann man sowohl nach dem Datenträger als auch dem Prozess filtern.
Für die Abfrage aller geöffneten Dateien auf dem USB-Stick, der unter dem Buchstaben D: gemountet ist, gibt man beispielsweise “handle d:” ein und bekommt eine Liste der Prozesse, die noch Zugriff auf das Laufwerk D: haben.
Nun gilt es nur noch, in den betroffenen Programmen das aktuelle Verzeichnis zu wechseln, ein Dokument zu schließen oder einfach das Programm zu beenden. Im Bild oben war zum Beispiel noch ein ISO-Image in den Daemon Tools (daemon.exe) gemountet.
Handle.exe muss nicht installiert werden. Man kann es über \live.sysinternals.comtoolshandle.exe direkt aus dem Internet aufrufen. Das neue “Sysinternals Live” machts möglich. Für die häufigere Nutzung empfiehlt es sich aber die Datei über copy \live.sysinternals.comtoolshandle.exe %systemroot%system32 zunächst ins System32-Verzeichnis zu kopieren. Ist der Zugriff auf NetBios-Shares im Internet nicht möglich, kann das Tool alternativ über HTTP von der Sysinternals Seite heruntergeladen werden.