Tags: Windows 7, Datei-Management, NTFS, Dateisystem
NTFS bietet, wie unter Unix/Linux gebräuchliche Dateisysteme auch, Links auf Dateien oder Verzeichnisse, also salopp gesagt die Möglichkeit, ein- und dieselbe Datei (oder Verzeichnis) über unterschiedliche Pfade und Dateinamen anzusprechen. Das System macht davon seit Vista ausführlich Gebrauch, indem es etwa die Standard-Pfade für Programme oder Benutzerdatei nicht in der Windows-Installationssprache anlegt, wie dies noch bis Windows 2003/XP der Fall war, sondern auf Englisch.
Die Installationssprache sorgt dann über Links dafür, dass man sie auch über die jeweils in der eingestellten Sprache üblichen Namen adressieren kann. Als Sonderfall wird auch für englischsprachige Windows-7-Installationen das herkömmliche \Documents and Settings durch einen Link ersetzt, der auf \Users zeigt.
Link ist nicht gleich Link: Je nachdem, ob man es mit einem symbolischen oder einem symbolischen oder festen (harten) Link zu tun hat, werden sie im Dateisystem unterschiedlich abgelegt. Auch der Umgang mit ihnen und ihre Reaktion auf Datei-Operationen unterscheiden sich. Egal hingegen ist, ob man von Dateien oder Verzeichnissen spricht. Im Folgenden sind deshalb stets auch Verzeichnisse gemeint, wenn von Dateien die Rede ist.
Symbolische Links
Symbolische Links ähneln den Verknüpfungen im Startmenü oder auf dem Desktop, nur dass sie sich auf der Ebene des Dateisystems befinden. Physisch handelt es sich um Dateisystemobjekte, die einen Zeiger enthalten, deren Inhalt auf die Originaldatei verweist. Das hat Konsequenzen beim Umgang mit den Dateien: Wird das Original umbenannt, verschoben oder gelöscht, läuft der Link ins Leere.
Für Anwendungen schaut dies in solchen Fällen nach einem Dateisystemfehler aus oder nach einer Datei, die im Moment ihres Aufrufes entfernt wurde. Es ist also nicht ratsam, symbolische Links etwa in Arbeitsverzeichnissen von Projekten zu verwenden, in denen sich oft etwas ändert. Für die Wurzel eines solchen Arbeitsverzeichnisses hingegen ist ein symbolischer Link gut geeignet, etwa wenn es aus Platzgründen physisch umziehen muss, für die Benutzer und Filesharing-Dienste aber noch am alten Ort zu finden sein soll.
Windows kennzeichnet symbolische Links im Explorer mit einem Verknüpfungspfeil. Auf Kommandozeilenebene in einer Eingabeaufforderung sind verknüpfte Dateien mit ‹SYMLINK› gekennzeichnet, verknüpfte Verzeichnisse mit ‹SYMLINKD›. Dahinter steht in eckigen Klammern die Datei, auf die der Link verweist.
Verzeichnisverbindungen (Junctions)
Eine Sonderform symbolischer Verknüpfungen sind Verzeichnisverbindungen (Junctions). Es sind symbolische Links, die es unter NTFS nur für Verzeichnisse gibt. Es gab sie schon unter Windows 2003/XP. Sie besitzen eine andere interne Verarbeitung, bei der der Inhalt des per Link aufgerufenen Verzeichnisses erst am Ziel aufgelöst wird. Dadurch verursachen sie etwas weniger Overhead.
Das Ziel von Verzeichnisverbindungen kann nur absolut, nicht relativ gespeichert werden. Auch sie sind im Explorer mit einem Verknüpfungspfeil gekennzeichnet, in der Eingabeaufforderung mit ‹VERBINDUNG› respektive ‹JUNCTION›. Die oben beschriebenen Anpassungen der Verzeichnisnamen unter Windows 7 zur Beibehaltung der Rückwärtskompatibilität werden jeweils per Verzeichnisverbindung gelöst, die allerdings versteckt sind.
Feste Links (Hardlinks)
Feste Links sind Dateien oder Verzeichnisse, die mehr als einen Eintrag in der Master File Table von NTFS besitzen. Demzufolge können feste Links nur auf dem gleichen Volume die gleiche Datei bezeichnen, für Volume-übergreifende Verweise muss man symbolische Links verwenden. Es gibt hier keine Original-Dateien oder Verweise auf diese; die verschiedenen Links sind untereinander gleichberechtigt. Man kann also bereits die erste Namensinstanz einer Datei als festen Link (mit dem Zähler 1 als Sonderfall) auf sie bezeichnen.
Die Verschiebung oder Umbenennung eines festen Links beeinflusst die anderen nicht. Physisch gelöscht ist eine Datei jeweils erst dann, wenn der letzte ihrer festen Links gelöscht, der Zähler also wieder auf 0 steht.
Feste Links sind weder im Explorer noch anderweitig zu erkennen. Für Dateisystembearbeitungswerkzeuge ist per se nicht zu erkennen, ob es für eine bestimmte dargestellte Datei noch andere Pfad- und Dateinamen gibt.
Links verwenden und bearbeiten
Für die Verwaltung der Links stellt Windows das Kommandozeilentool mklink.exe zur Verfügung. Es muss innerhalb einer Eingabeaufforderung mit Administratorrechten ausgeführt werden.
Täglich Know-how für IT-Pros mit unserem Newsletter
Ähnliche Beiträge
- Verknüpfungen (Links) mit mklink verwalten
- Verzeichnislinks: symlinkd oder junction verwenden
- Keine Dateien gefunden: Suche in Windows 7 richtig konfigurieren
- NTFS-Berechtigungen über Gruppenrichtlinien anpassen
- FolderSecurityViewer 2.0: Reports für Verzeichnis- und Freigaberechte, Owner und User-Berechtigungen
Weitere Links
8 Kommentare
Mir ist aufgefallen, dass Hardlinks bei Office 2010 Dokumenten nicht funktionieren.
Office erstellt bei geöffneten Dokumenten eine temporäre Datei (im Dateisystem erkennbar an der Datei mit der vorgestellten Tilde), und beim Abspeichern eines in Office 2010 geöffneten Hardlinks wird effektiv eine neue Kopie an dem Pfad erstellt und der Hardlink ist futsch.
Alle anderen bisher von mir getesteten Dateitypen funktionieren wie gewünscht: Ich nehme Änderungen am Hardlink vor, und auch die "Originaldatei" ist verändert (schließlich handelt es sich ja um die gleiche Datei).
Dies nur als Hinweis. Ich dachte nämlich selbst, dass bei mir die Hardlinks nicht funktionieren, bis ich ein wenig rumexperimentierte.
Grüße!
Das liegt an der bescheuerten Art, wie Microsoft Office (schon seit den Versionen zu Zeiten von Windows für Workgroups 3.xx) mit Dateien umgeht, wenn sie "bearbeitet" werden:
Step 1: Datei wird geöffnet:
-> Orginaldatei wird in den temporären Dateinamen umkopiert, die Orginaldatei wird gesperrt
Step 2: Arbeiten im offenen Dokument:
In der TMP Kopie wird gearbeitet, gearbeitet, gespeichert, gearbeitet
Step 3: Dokument schließen mit Speichern läuft in 3 Unterschritten:
Step 3a: Die "Arbeitskopie" wird unter dem "TMP-Dateinamen" gespeichert
Step 3b: Die Orginaldatei wird geschlossen & *GELÖSCHT* (end-dämlich idiotisch!)
Step 3c: Die TMP Datei wird in die Orginaldatei umbenannt, das ist also eine komplett *NEUE* Datei, die deshalb absolut nichts mehr mit dem Orginal-File zu tun hat.
Daraus ergibt sich zwangsläufig, dass der Hardlink futsch ist, futsch sein muss. Microsoft Schrott by Design!
Ich empfehle daher Libre Office:
- Weniger Preis (0,00€)
- Dateien werden überschrieben, nicht neu erstellt
- OpenSource (Quelloffen)
Du hast den wichtigsten Punkt vergessen:
- 100%ige Kompatibilität mit dem Standard MS Office, sprich Formatierungen und Layout wird beibehalten [/Ironie Ende]
Immer diese "OpenSourceistsupertollundvielbesseralsMS"-Pusher...
Bei LibreOffice 7.0.3 (heute extra wg. dem Problem installiert) ist es dann leider so wie bei Microsoft Office: ein Hardlink wird durch das Speichern einer geänderten Datei aufgelöst. Man erhält wie bei M$ Office eine neue Datei.
Probiere auch gerade ein wenig herum. Weil jemand behauptet hat, man könne Hardlinks doch auch auf verschiedenen Partitionen erstellen, solange es der physich selbe Datenträger sei - diese gleingt mir aber nicht.
Schätze mal, man kan Hardlinks nur auf ein und der selben Partition anlegen - liege ich da richt?
Wie hier im Artikel behaupted auch Hardlinks von Verzeichnissen erstellen zu können gelingt mir ebenfalls nicht.
Bin ich vielleicht zu blöde?!? Ist mein System zu alt?
Danke für den schönen Hinweis betreffend von Microsoft Office.
Da ich auch LibreOffice nutze, und falls mir ein Microsoft Dokument zu gespielt wird, dieses in eine PDF online überetzen lasse um zu sehen wie diese wohl richtig hätte aussehen müssen - hab' ich das natürlich selbst gar nicht mit bekommen - vielen Dank!
Ganz so einfach ist die Antwort gar nicht. Im Grundsatz geht es darum dass Hardlinks nur innerhalb eines Dateisystems funktionieren. Nachdem meistens für jede Partition genau ein eigenes Dateisystem angelegt wird, wird die Aussage von vielen dahingehen gleichgesetzt, dass Hardlinks nur innerhalb einer Partition funktionieren.
Nun gibt es aber auch Fälle in denen ein Dateisystem über mehrere Partitionen verteilt ist. So können mehrere physische Partitionen mittels RAID-System oder entsprechenden Äquivalent zu einer virtuellen Partition (=Laufwerk z.B. C:\) zusammengelegt werden für die dann ein gemeinsames Dateisystem erstellt wird. Innerhalb dieses einen Dateisystems (über mehrere Partitionen hinweg) funktionieren dann Hardlinks auch "problemlos". Da für die physischen Partitionen an dieser Stelle eigentlich kaum Beschränkungen gelten, können dabei sogar unterschiedliche Festplatten benutzt werden. Entsprechende Treiber und Hardware-Komponenten oder Software-RAID vorausgesetzt können die Platten zudem auch in unterschiedlichen Geräten untergebracht sein, die "nur" per Netzwerk o.ä. Schnittstellen verbunden sind. Letzteres wird aus Redundanzgründen und zur Lastverteilung in Rechenzentren regelmäßig genau so genutzt.
Da die Verwendung von Links (egal ob Symlinks oder Hardlinks) unter Windows (abgesehen von den vom System angelegten Links) immer noch sehr ungewöhnlich ist, habe ich bisher ganz bewusst im Alltag bei Windows-Systemen immer einen großen Bogen darum gemacht und kann damit nicht viel zu deren Verwendung und Erstellung sagen. Unter Linux kommen Links bei mir aber täglich zum Einsatz - genau mit den gleichen Möglichkeiten und Einschränkungen.
bedarf eines Updates zu Win10, wo einiges anders ist.