Vorsicht bei NTFS Junction Points!

Vernünftige Dateisysteme kennen schon sehr lange das tolle Instrument eines symbolischen Links. Mit solchen symbolischen Links kann man allerlei tolle Sachen anstellen.

Gestern hatte ich den Bedarf für einen solchen symbolischen Link auf meinem Büro-PC. Auf dem Computer ist Windows XP SP3 installiert und somit komme ich in den Genuss von NTFS.

Ich erinnerte mich daran, dass es bei NTFS etwas ähnliches wie symbolische Links gibt. Leider ist das Tool “mklink” erst ab Windows Vista im Lieferumfang, aber es gibt zum Glück auch eine Umsetzung für Windows XP dafür.

Ich legte also mit Administrator-Rechten einen “junction point” (auf deutsch “Dateisystemverknüpfung“) auf ein Verzeichnis an, was im ersten Moment auch zu funktionieren schien. Zur Veranschaulichung:

d:\ordner1 (<- “echtes” Verzeichnis)
d:\ordner2 (<- zeigt per junction point auf ordner1)

Doch nun geht der Spaß schon los: man sieht leider mit Windows-Bordmitteln nicht mehr, ob ein solches Verzeichnis ein junction point ist und muss dies alles mit extra Tools machen.

Nachdem sich das doch nicht als ideale Lösung für mein Problem herausgestellt hatte, löschte ich über den Windows-Explorer das als junction point vorhandene Verzeichnis (ordner2), d.h. es wurde in den Papierkorb verschoben.

Heute leerte ich den Windows-Papierkorb routinemäßig und musste feststellen, dass der Inhalt von “ordner1” ebenfalls verschwunden war! Logisch, denn der Windows-Papierkorb ist auch nur ein spezieller Ordner, in den “ordner2” beim Löschen verschoben wurde. Erst wenn man den Papierkorb löscht, wird der Ordner auch “richtig” von der Festplatte gelöscht.

Da allerdings “ordner2” ein junction point auf “ordner1” war, wurden kurzerhand die Inhalte von “ordner1” mit gelöscht. Zum Glück war der Ordner Teil eines SVN-Checkouts, sodass ich keine Daten verloren habe.

Seid also vorsichtig mit diesem Feature von NTFS! Wer lesen kann ist übrigens auch hier im Vorteil 😉

Schade, dass Microsoft die Unterstützung nicht besser ins Betriebssystem integriert hat.

Leave a Reply

Your email address will not be published. Required fields are marked *

7 comments

    1. Danke für den Hinweis. Das löst aber leider nicht das Problem mit der nicht vorhandenen Integration in Windows, z.B. den Explorer :-(.

  1. Man kann sehr wohl mit Windows-Bordmitteln ermitteln, ob ein Verzeichnis ein junction point ist. In der Konsole wird beim Auflisten eines Verzeichnisses, in dem ein junction point ist, statt angezeigt.

    1. Mist, WordPress hat einen Tel des Inhalts verschluckt: Ich meinte, es steht statt DIR dann VERBINDUNG in der Auflistung.