Das NTFS Filesystem unterstützt Hardlinks.
Hardlinks ermöglichen es eine Datei in verschiedenen Ordnern anzuzeigen, ohne die Datei zu verfielfältigen.
Diese können mit dem POSIX Befehl ln des Windows
Resource Kits, dem fsutil Befehl von Windows oder mit diesem Tool
ln.exe erstellt werden.
Daher können Hardlinks mit Standard Windows Befehlen nur in der
Eingabeaufforderung erstellt werden, was aber sehr mühsam sein kann, besonders wenn Hardlinks zu mehreren Dateien nötig sind
oder wenn man nur selten von Hardlinks gebrauch macht.
Link Shell Extension (LSE) ermöglicht das Erstellen von
Hardlinks, Junctions,
Bereitstellungspunkten,
und Symbolische Links,
(hier zusammenfassend als Links bezeichnet), einen Prozess zum Klonen von Ordnern welcher
Hardlinks oder Symbolische Links verwendet sowie einen Kopierprozess, welcher sich um Junctions, Symbolische Links und Hardlinks kümmert.
Link ShellExtension, ist eine Shell-Erweiterung und wird über den Windows Explorer oder ähnliche Dateimanager aufgerufen.
Die Erweiterung erlaubt es dem Benutzer eine oder mehrere Dateien oder Ordner auszuwählen und dann mit der Maus die Erstellung der gewünschten Links -
Hardlinks, Junctions oder Symbolische Links - abzuschließen oder im Falle von Ordnern Klone zu erstellen, die aus Hardlinks oder Symbolischen Links bestehen.
LSE wird auf allen Windows-Versionen unterstützt, die NTFS Version, Windows7/8/10,
unterstützen. Hardlinks, Junctions und Symbolische Links werden auf FAT-Dateisystemen NICHT unterstützt,
ebenso wenig wie das Erstellen eines Klons und Smarte Kopie auf FAT-Dateisystemen.
In diesem Dokument werden die Begriffe action button und
action
(pop up) menu
verwendet, um die rechte Maustaste und das Menü zu beschreiben, das erscheint wenn die rechte Maustaste gedrückt wird
(oft auch als Context Menu bezeichnet). In Anbetracht dessen, dass Benutzer die Funktionen ihrer Maustasten ändern können,
bezeichnet Microsoft diese als primäre und secondäre Maustasten. Wir bevorzugen es die Maustasten
Selecttaste und Aktionstaste zu nennen, und Anstelle des Context Menus, des Shell Menus
oder des Right Mouse menus wird der Begriff Action menu verwendet.
Der angemeldete Benutzer muss Administratorrechte haben um die Software zu installieren.
Um LSE zu installieren muss man das Installationsprogramm
(HardLinkShellExt_$(platform).exe) ausführen.
Folgen Sie den Anweisungen des Programms, es sind keine manuellen Eingaben bei der Installation
erforderlich. Es ist möglich den Ort zu ändern wohin LSE installiert wird. Die
Standardeinstellung ist
C:\Program Files\LinkShellExtension
Smartscreen pop-up
Bei Windows 10 besteht die Möglichkeit, dass der Windows Defender eine Warnung ausgibt:
Der Computer wurde durch Windows geschützt
Von Windows SmartScreen wurd der Start einer unbekannten App verhindert. Die Ausführung dieser App stellt unter Umständen ein Risiko für den PC dar.
In diesem Fall wählen sie "Trotzdem Installieren" aus. LSE ist mit dem Standard Code Signing Certificate ausgezeichnet, jedoch nicht mit dem
EV Code Signing certificate,
welches Smartscreen verhindern würde.
Explorer Restart
Während der Installation muss Explorer.exe neugestartet werden, damit die Link Shell Extension aktiviert wird.
Das bedeutet, dass alle ausstehenden Operationen im Explorer.exe unterbrochen werden.
Sie können sich jedoch entscheiden, den Neustart von Explorer.exe zu verschieben.
Ein Dialogfeld gibt Ihnen diese Möglichkeiten während der Installation.
Eine interaktionslose Installation kann z.b. über eine .bat-Datei ausgeführt werden kann. Dazu können während der Installation Kommandozeilen
Argumente übergeben werden.
Silent install
/S zeigt während der Installation keine Eingabeaufforderungen an. Wenn die Befehlszeilenoption /S verwendet wird, wird der Explorer.exe nach der Installation neu gestartet, um die Link Shell Extension sofort zu aktivieren.
Specify Language
/LANGUAGE übergibt die Sprache, mit der die LSE installiert wird. z.B.
HardLinkShellExt_$(platform).exe /S /Language=English
Momentan sind Englisch, Chinesisch, Tschechisch, Französisch, Deutsch, Griechis, Italienisch, Japanisch, Koreanisch, Polisch, Portugisisch, Russisch, Slovakisch, Spanisch, Swedisch, Türkisch and Ukrainisch
verfügbare Sprachen als Argument für /Language
Specify Directory
Wenn die unbeaufsichtigte Installation verwendet wird, kann ein Installationspfad mit /D spezifiziert werden z.B.
Wenn der /S schalter während der Deinstallation benutzt wird, startet sich Explorer.exe neu, um Link Shell Extension
zu deaktivieren.
No Check for VcRedist
Bei manchen Windows10 Installationen ist es nicht nötig vcredist zu installieren, oder vcredist kann nicht installiert werden, ist jeodch schon auf dem System.
Um dies zu umgehen, kann der /noredist BefehlszeilenSchalter per Kommandozeile übergeben werden. z.B.:
Link ShellExtension kann auch via chocolatey installiert werden, indem man
choco install linkshellextension
in einer Eingabeaufforderung ausführt. Stellen sie sicher, dass chocolatey installiert ist.
Der angemeldete Benutzer benötigt Administrator Rechte, um die Software via choco zu installieren.
Link Quelle festsetzen bewirkt, dass die ausgewählten Dateien
als 'Quelle' für die Hardlinks gespeichert werden.
Um einen Hardlink zu erstellen, muss ein Zielordner ausgewählt werden.
Wenn Sie mit der Aktionstaste der Maus auf den Zielordner klicken, öffnet sich ein Menü, das den Eintrag
HardLink erstellen
Hardlink erstellen erstellt einen Hardlink im gewünschten Ordner.
Überlagerungs Symbol für Hardlinks
Um Hardlinks von anderen Dateien unterscheiden zu können, wird ein Überlagerungs Symbol angezeigt.
Überlagerungs Symbole für Hardlinks können auch angepasst werden.
Wenn Sie mit dem Action Button in den Hintergrund des Zielordners klicken, gibt es zusätzlich
zur Option 'Hardlink erstellen' die Möglichkeit, die Linkerstellung abzubrechen.
Da die LSE Junctions,
Clones und Symbolische Links
unterstützt, können diese bei der Auswahl eines oder mehrerer Ordner als Quelle verschiedene Operationen ausgeführt werden.
Um eine Überfüllung des Popup-Menüs zu vermeiden, wird ein Untermenü angeboten, das die verschiedenen Arten von Linkerstellungen enthält, die auf Ordner anwendbar sind.
Das Erstellen von Hardlinks per Drag and Drop wird ebenfalls unterstützt. Nachdem Sie eine oder mehrere Dateien ausgewählt haben, können Sie diese mit dem
Action Button in den Zielordner ziehen. Wenn der Action Button losgelassen wird, wählen Sie im Aktionsmenü den Eintrag Hardlink hier erstellen,
um die Hardlinks der ausgewählten Dateien im Zielordner zu erstellen.
Dateien können
im selben Ordner wie der Quellordner verknüpft sein.
Da zwei Verzeichniseinträge nicht den gleichen Namen haben können, verwendet die LSE '$Dateiname - Hardlink.$ext' als den Namen des neuen Links.
LSE verwendet das gleiche Verfahren wie Explorer,
wenn es um mehrere '$filename - Hardlink' geht: Es verwendet Zahlen, um mehrere Hardlinks einer Datei
im gleichen Verzeichnis aufzuzählen, z.B. $filename - Hardlink (2).$ext.
Der Mechanismus der automatischen Umbenennung wird auch verwendet, wenn Junctions, Hardlink-
Klone, Symbolische Links, Symbolische Link-Klone, Bereitstellungspunkte oder Smarte Kopien im gleichen
Verzeichnis erstellt werden.
Junctions
ermöglichen das Erstellen von Junctions zwischen Verzeichnissen.
Junctions werden auf die gleiche Weise wie Hardlinks erstellt,
wobei die Quelle ein Ordner und nicht eine Datei ist.
Wählen Sie einen Ordner, klicken Sie auf die Aktionstaste, wählen Sie Link Quelle festsetzen aus dem Aktionsmenü,
navigieren Sie zum Zielordner, klicken Sie auf die Aktionstaste, öffnen Sie das Untermenü Einfügen als ... und wählen Sie Junction:
Junctions sind mit einem kleinen Kettensymbol unterhalb des Ordnersymbols gekennzeichnet.
Junctions können auch per Drag and Drop erstellt werden, indem die ausgewählten Ordner mit gedrückter Actionstaste in
einen Zielordner gezogen werden. Wenn die Actionstaste losgelassen wird, wählen Sie das
Untermenü Hier einfügen als ... und dann Junction..
Overlay Icons für Junctions
Um die Unterscheidung von Junction von normalen Ordnern zu erleichtern,
haben Junctions ein kleines dreigliedriges Kettensymbol unter dem Icon implementiert.
Die überlagerten Symbole für Junctions können ebenfalls angepasst werden.
Junctions können sich über Netzlaufwerke erstrecken, solange das Ziel ein zugeordnetes Netzlaufwerk ist.
Junctions, die einen UNC-Pfad als Ziel haben, können zwar mit LSE erstellt werden, aber selbst Windows7/8/10 scheint einen Fehler zu enthalten,
der die Dereferenzierung eines UNC-Pfads in einer Junction verhindert, selbst wenn LSE die Reparse-Informationen für UNC-Knoten korrekt einrichtet.
Wenn eine UNC-Junction im Explorer doppelt angeklickt wird, erscheint der Fehler ERROR_INVALID_REPARSE_DATA(4392),
der Sie darauf hinweist, dass die Information im Reparse-Punkt illegal ist, auch wenn sie es nicht ist.
Erweiterte Nutzerrechte werden z.B. in c:\Programme für die Erstellung von Junctions benötigt.
Aus diesem Grund muss der UAC Dialog geöffnet werden.
Nur die Erstellung von Verzeichnissen benötigt in solchen Situationen erweiterte Nutzerrechte,
aber die Erstellung eines leeren Verzeichnisses ist ein wichtiger Teil der Erstellung einer Junction.
Die Funktion DeviceIoControl(), das die eigentliche Arbeit bei der Erstellung von Junctions leistet, würde ohne Elevation funktionieren.
Die Link Shell Extension kann das Ziel einer existierenden Junction,
eines Symbolische Links oder eines Bereitstellungspunkts per Drag and Drop oder Auswählen/Einfügen ändern.
Um diese Funktion zu nutzen, wählen Sie ein existierendes Verzeichnis als Link Quelle und ziehen
Sie es über eine Junction/Symbolischer Link/Bereitstellungspunkt.
Indem sie die 'Einfügen als ... Replacement Junction/Symbolic Link/Bereitstellungspunkt'
Funktion auswählen, wird das Ziel einer existierenden Junction/Symbolischer Link/Bereitstellungspunkt
durch das neu Ausgewählte ersetzt.
Das selbe kann mit Hilfe von Drag and Drop für Symbolische Link Directories, Junctions und Bereitstellungspunkte gemacht werden,
jedoch nicht für Symbolische Link Dateien. Symbolische Link Dateien müssen mithilfe der 'Link Quelle festsetzen',
'Einfügen als ... Replacement Symbolic Link' ersetzt werden.
Falls der Sicherungs Modus ausgewählt ist, werden die ACLs der Junctions/Symbolische Links/Bereitstellungspunkte erhalten.
Link Shell Extension kann existierende Junctions/Symbolische Links/Bereitstellungspunkte
entweder mit Festsetzen/Einfügen oder mit Drag and Drop kopieren.
Um diese Funktion zu nutzen, wählen Sie einfach eine bestehende Junction, einen symbolischen Link oder Bereitstellungspunkt
als Linkquelle aus und legen Sie diese über ein bereits bestehendes Verzeichnis.
Durch Auswahl der Funktion 'Einfügen als ... Junction/Symbolischer Link/Bereitstellungspunkte Kopieren' aus dem
Aktionsmenü wird die Junction/Symbolischer Link/Bereitstellungspunkt auf das Ziel kopiert und die Beziehung angepasst.
Dasselbe kann durch Drag and Drop für Junctions, Bereitstellungspunkte und für Symbolische Links gemacht werden.
Wenn der Sicherungsmodus ausgewählt wird, bleiben die ACLs der Junction/Symbolischen Links/Bereitstellungspunkt erhalten.
Smarte Kopie erstellt eine Kopie der Verzeichnisstruktur
der Quelle im Ziel, behält jedoch die innere Hardlink-Struktur und
die inneren Junctions/Symbolische Link Beziehungen der Quelle bei
und stellt diese innere Hardlink-Struktur und innere
Junctions/Symbollink-Beziehung am Ziel wieder her:
Bei Hardlinks verhält das sich wie folgt:
Wenn man sich das obige Bild genau ansieht, kann man drei verschiedene Arten von Dateien erkennen:
Normale Dateien
Die Datei B ist eine normale Datei. Sie wird wie von jedem anderen Tool kopiert.
Gesättigte Hardlinks
Die Dateien E und F sind Hardlinks.
In der LSE werden sie als gesättigte Hardlinks bezeichnet, weil die Referenzzahl,
die hier 2 ist, mit der Anzahl der Vorkommnisse unter 'Folder 1', die hier 2 ist, übereinstimmt.
Allgemein: Ein Hardlink wird in Bezug auf einen Ordner F als gesättigt bezeichnet,
wenn die Anzahl der Vorkommnisse unterhalb des Ordners F mit der Referenzzahl übereinstimmt.
Gesättigte Hardlinks können vollständig mit der Funktion Smarte Kopie kopiert werden.
Ungesättigte Hardlinks
Die Dateien A, C, D sind Hardlinks. In der LSE werden sie als ungesättigte Hardlinks bezeichnet, weil die Referenzzahl,
die hier 3 ist, nicht mit der Anzahl der Vorkommnisse unter 'Folder 1', die hier 2 ist, übereinstimmt. Nur C und D liegen unter Folder 1.
Allgemein: Ein Hardlink wird in Bezug auf einen Ordner F als ungesättigt bezeichnet,
wenn die Anzahl der Vorkommnisse unterhalb des Ordners F kleiner als die Referenzzahl ist.
Ungesättigte Hardlinks können mit Smarte Kopie nur teilweise kopiert werden.
Im obigen Beispiel sind C und D am Zielort Hardlinks, aber die Hardlink Verbindung zu A ist unterbrochen.
Das bedeutet, dass die Referenzzahl von C und D am Zielort 2 beträgt.
Bei Junctions oder Symbolic Link Verzeichnisen ist das Standardverhalten bei Smarter Kopie wie folgt:
Wenn man sich das obige Bild genau ansieht, kann man drei verschiedene Arten von Ordnern/Junctions finden:
Normale Ordner
Der Ordner 'Folder 3' ist ein normaler Ordner. Er wird mit seinem Inhalt kopiert, wie es jedes andere Tool tun würde.
Inner Junctions Symlinks
'Inner Junction/Symlink' hat als Ziel 'Inner Junction/Symlink Target'.
Diese Art von Ordner wird als 'Innere Junction/Symbolischer Link' bezeichnet,
weil sein Ziel auf einen Ordner zeigt, der unterhalb der gemeinsamen Wurzel Folder 1 liegt.
Innere Junctions/Symbolische Links werden über Smarte Kopie am Zielort
ordnungsgemäß wiederhergestellt.
Äussere Junctions Symbolische Links
Outer Junction/Symlink hat Outer Junction/Symlink Target als Ziel.
Diese Art von Ordner wird Äussere Junction/Symbolischer Link' genannt, weil sein Ziel
auf einen Ordner zeigt,
der parallel und damit ausserhalb der gemeinsamen Wurzel Folder 1 liegt.
Windows7/8/10 unterstützt Symbolische Links, die sich bei Smarter Kopie wie folgt verhalten:
Wenn man sich das obige Bild genau ansieht, kann man drei verschiedene Arten von
Dateien/Symbolischen Links finden:
Normale Dateien
Die Datei A ist eine normale Datei. Sie wird wie von jedem anderen Tool kopiert.
Innere Symbolische Links
Der symbolische Link 'Inner Symlink' hat 'Inner Symlink Target' als Ziel. Diese Art von symbolischem Link
wird Innerer Symbolischer Link genannt, weil sein Ziel auf eine Datei zeigt, die sich unterhalb der gemeinsamen
Wurzel 'Folder 1' befindet. Innere Symbolische Links werden mittels Smarte Kopie am Zielort korrekt wiederhergestellt.
Äussere Symbolische Links
Der Symlink 'Outer Symlink' ist auf den Ordner 'Outer Symlink Target' gerichtet.
Diese Art von symbolischem Link wird
Äusserer Symbolischer Link genannt, weil sein Ziel auf eine Datei zeigt,
die parallel und damit ausserhalb der gemeinsamen Wurzel 'Folder 1' liegt.
Smarte Kopien werden auf die gleiche Art wie Junctions erstellt. Wählen Sie einen Ordner,
benutzen Sie die Aktionstaste und wählen Sie Link Quelle festsetzen aus dem Aktionsmenü...
... navigieren Sie zum Zielordner, drücken Sie die Aktionstaste, öffnen Sie das Untermenü Einfügen als ... und wählen Sie Smarte Kopie:
Smarte Kopie ist ein Muss, wenn z.B. der gesamte Inhalt einer Festplatte,
die viele Hardlinks/Junctions/Symbolische Links hat, auf eine andere Festplatte kopiert
werden soll. Während des Smarte Kopie-Vorgangs werden auch leere Ordner kopiert und die Datums-/Zeitstempel
der Ordner/Junctions/Symbolischen Links werden ebenfalls an den entsprechenden Zielorten wiederhergestellt.
Da Smarte Kopie innere Hardlinks/Junctions/Symbolische Links erstellt,
ist diese Funktion nur auf NTFS-Laufwerken verfügbar.
Wenn eine Smarte Kopie länger als 250msec dauert,
zeigt ein Fortschrittsbalken den Status des Smarte Kopie-Vorgangs an.
Smarte Kopie verarbeitet alle verfügbaren alternativen NTFS-Streams einer Datei.
Wenn am Zielort bereits Objekte vorhanden sind, kopiert Smarte Kopie nur dann,
wenn die Dateien/Symbolischen Links/Bereitstellungspunkte neuer sind als die bereits vorhandenen Elemente.
Bei der Wiederherstellung Symbolischer Links verwendet die LSE das Tool LSEUacHelper.exe,
um diese Operation auszuführen zu können. Die Erstellung Symbolischer Links benötigt eine Erweiterung der User Privilegien
und somit wird der UAC-Dialog angezeigt.
Die LSE benutzt LSEUacHelper.exe nur dann,
wenn sich ein Symbolischer Link in/unter den ausgewählten Ordnern befindet.
Wenn keine Symbolische Linke in Ihrer Auswahl enthalten sind, entfällt die UAC-Eingabeaufforderung.
Smarte Kopie erstellt während der Operation standardmäßig
relative Symbolische Links.
Eingabeaufforderung
Die Smarte Kopie-Funktion ist auch über die Befehlszeile von
ln.exe über Kommandozeile Optionen verfügbar.
Crop bricht Links zu Äusseren Junctions/Symbolischen Link Verzeichnissen im Ziel.
Crop funktioniert auch für Äussere Symbolische Link Dateien.
Im obigen Beispiel wird Folder1 nach Destination/Folder1 kopiert, aber Outer Junction/Symlink
ist im Ziel nicht verfügbar, weil Folder1/Outer Junction/Symlink auf
Ordner0/Outer Junction/Symlink Target zeigt, der aber nicht unterhalb von Folder1 liegt.
Das Ziel hinter dem Beschneiden von Outer Junctions/Symbolischen Link Verzeichnisse ist es,
bei Smarte Kopie, Smarte Spiegelkopie, Delorean Kopie und Klon eine Kopie ohne Verbindungen
zur Quelle zu erhalten.
Crop für äußere Verbindungen/Symbolische Links aktivieren Crop kann über das KonfigurationsTool ausgewählt werden.
Unroll
Unroll folgt Äusseren Junctions/Symlink Directories und baut den Inhalt
von Äusseren Junctions/Symbolischen Link Verzeichnissen innerhalb der Hierarchie am Ziel neu auf.
Unroll gilt auch für Äussere Symbolische Link Dateien, d.h. Unroll bewirkt,
dass das Ziel von äusseren Symbolische Link Dateien am Ziel angepasst wird.
Im obigen Beispiel wird Folder1 in den Destination/Folder1 kopiert, und Outer Junction/Symlink und alle Dateien/Verzeichnisse
unter Outer Junction/Symlink Target werden in den Ordner Outer Junction/Symlink im Zielordner kopiert.
Die Idee hinter dem 'Ausrollen' von Outer Junctions/Symbolische Link Verzeichnissen ist es, alles zu erhalten
mit dem die Quelle verbunden ist, und es als separate Kopie am Zielort wieder aufzubauen.
Es ähnelt dem 'Haar des Elefanten' Muster: Ziehen Sie an einem Elefantenhaar, und Sie erhalten den ganzen Elefanten.
Unroll ist das Standardverhalten für Smarte Kopie, Smarte Spiegelkopie, Delorean Kopie und Klone
Weiterführende Gedanken zum "Ausrollen"
Das obige Bild war nur der einfachste Fall, denn Unroll kann viel mehr,
wenn es auf komplexe Situationen trifft. Denken Sie an eine äußere Junction/Symbolischen Link,
der selbst Junctions/Symbolische Links enthält,
die in Bezug auf den ersten äußeren symbolischen Link der Junction innen liegen:
Im obigen Beispiel wird Folder1 nach Destination/Folder1 und Outer Junction/Symlink kopiert
und wie erwartet ausgerollt, aber da Junction/Symlink eine innere Junction in Bezug auf
das Ziel Outer Junction/Symlink Target ist, wird die Junction/Symbolische Link Beziehung im Ziel wiederhergestellt.
Diese Art der Verschachtelung kann sehr viel komplexer sein:
Im obigen Beispiel wird Folder1 nach Destination/Folder1 und Outer Junction/Symlink kopiert
und wie erwartet ausgerollt, aber dann beginnt es faszinierend zu werden,
denn wir haben zwei Ebenen von äußeren Junctions/Symbolischen Links,
die alle entsprechende innere Junctions/Symbolische Links haben und die ordnungsgemäß wiederhergestellt werden sollen.
Sobald Sie sich durch das obige Bild durchgegraben haben, haben Sie es geschafft. Es ist nicht einfach, ich weiß,
aber es ist notwendig, richtig auszurollen.
Und die Komplexität nimmt zu, wenn sich symbolische Linkdateien innerhalb entrollter
äußerer Junctions/Symbolischer Links befinden:
Im obigen Beispiel wird Folder1 nach Destination/Folder1 und Outer Junction/Symlink kopiert
und wie erwartet ausgerollt, aber er enthält einen Inner Outer Symlink, der auf das Inner Outer Symlink Target zeigt,
und dies ist eine innere Junction/Symbolischer Link in Bezug auf den äußeren Outer Junction/Symlink Target
Erwähnenswert ist jedoch der Symbolische Link Outer Symlink, der ein äußerer symbolischer Link wäre,
aber da sein Ziel, das übergeordnete Verzeichnis Outer Junction/Symlink Target,
ausgerollt wird, wird der Outer Symlink zu einem inneren Symbolischen Link in Bezug auf Folder1.
File1 Symlink ist ebenfalls ein äußerer symbolischer Link, aber sein übergeordneter Zielfolder, Folder2 hat nicht das Glück,
ausgerollt zu werden, so dass im Ziel File1 Symlink nicht mehr ein symbolischer Link ist, sondern eine Kopie des Ziels der symbolischen Links.
Verschachtelte Reparse Points sind ebenfalls ein interessanter Anwendungsfall, mit dem sich der Algorithmus auseinandersetzen muss:
Im obigen Beispiel wird Folder1 nach Destination und Junction/Symlink F0 kopiert und wie erwartet ausgerollt,
aber er enthält innere verschachtelte Reparse-Punkte. Verschachtelt bedeutet, Reparse-Punkte,
welche auf andere Reparse-Punkte zeigen.
Die Ausrollfunktion eröffnet auch die Möglichkeit
zirkuläre Junction/Symbolische Link Beziehungen zwischen einer Menge kopierter Elemente zu erstellen:
Im obigen Beispiel wird Folder1 über die Option --unroll nach Destination/Folder1 kopiert.
Smarte Kopie/Smarte Spiegelkopie und Delorean Kopie-Operationen können mit den oben gezeigten Zirkularitäten umgehen
und Zirkularitäten aufbrechen, indem sie der betroffenen Junction/Symbolischen Link nicht folgen.
Junctions/Symbolische Links können auch auf FAT-Laufwerke oder andere NTFS-Laufwerke verweisen,
die als Voraussetzung eindeutige Disk-IDs auf allen Platten benötigen,
die über Junctions/Symbolische Links miteinander verkettet sind:
Hardlink-Geschwister werden durch Abgleich der pro NTFS-Volume eindeutigen Datei-ID gefunden.
Wenn jedoch mehrere Volumes miteinander verkettet sind, kann es vorkommen,
dass die gleichen Datei-IDs auf zwei verschiedenen NTFS-Laufwerken gefunden werden werden.
Um dies zu beheben, verwenden alle Operationen die Datenträger-ID und die Datei-ID, um Hardlink-Geschwister zu finden.
Außerdem ist es nicht erlaubt, die Platten-ID 0xffffff-ffffff zu verwenden,
da die Algorithmen dies als internen Indikator eines FAT-Laufwerks verwenden.
Die Option Ausrollen ermöglicht es auch, mehrere Junctions auf die gleiche Zielposition zeigen zu lassen,
was dazu führt, dass die Algorithmen die gleichen Elemente viele Male durchlaufen:
Auf den ersten Blick sieht die Mehrfachdurchquerung von Elementen einfach aus,
aber für Dateien bedeutet dies, dass mehrere durchquerte Dateien am Zielort gleich sind
und fest miteinander verknüpft sind. Seien Sie also nicht verwirrt, wenn Sie Hardlinks sehen,
die es noch nie zuvor gegeben hat.
Auch das Kopieren von Junctions/Symbolische Links von zugeordneten Netzlaufwerken erfordert besondere Sorgfalt,
da sich Junctions auf einem entfernten Rechner mit Pfadreferenzen, die nur auf dem entfernten Rechner gültig sind,
aufeinander beziehen:
Das Beispiel in der obigen Abbildung zeigt eine solche Situation
X:\Src\Foo\Junction/Symlink ist eine Junction auf einer entfernten Maschine, der auf X:\Src\Foo\Folder zeigt.
Es ist eine gültige Junction.
X:\Src\Foo wird über \RemoteMachine\MyShare gesplittet, was immer noch kein Problem darstellt.
\\RemoteMachine\MyShare, das auf einer lokalen Maschine auf T:\ gemappt ist, ist in Ordnung, aber die Junction
T:\Junction/Symlink wird, wenn sie nach ihrem Ziel gefragt wird, immer noch X:\Src\Foo\Folder angeben, sogar auf der lokalen Maschine.
Man könnte erwarten, dass das Ziel T:\Folder ist, aber das gilt nicht für Junctions.
Wenn SmartCopy/Mirror/Delorean auf eine solche Situation stößt, übersetzt es die Junction korrekt,
wenn sie auf das Laufwerk Y:\ des lokalen Rechners kopiert wird,
so dass das endgültige Ziel der Junction korrekt auf Y:\Dest\Bar\Folder erstellt wird.
Splice verbindet die Äusseren Junctions/Symlink-Verzeichnisse am Zielort wieder mit ihren ursprünglichen Zielen in der Quelle.
Im obigen Beispiel wird Folder1 in Destination/Folder1 kopiert,
und die Outer Junction/Symlink ist am Ziel als Junction verfügbar,
die auf den ursprünglichen Standort Outer Junction/Symlink Target zeigt.
Das Ziel des Splicings von Outer Junctions/Symlink Directories mit ihrem ursprünglichen Standort besteht darin,
während des Smarten Kopie Vorgangs eine Kopie zu erhalten,
aber die Quellorte der Äusseren Junctions/Symbolischen Link Verzeichnisse wiederzuverwenden.
Die splice Funktion ist nützlich, wenn Bereitstellungspunkte kopiert werden sollen.
Bereitstellungspunkte sind den Junctions sehr ähnlich, zeigen aber auf einen Pfad, der immer mit \\\?\VolumeGuid{} beginnt.
Splice für äußere Verbindungen/Symbolische Links aktivieren
Für Smarte Kopie, Klone und Delorean Kopie können mehrere Quellen angegeben werden. Wenn es zwischen diesen
Quellen Junctions/Symbolische Links gibt, werden diese wie innere Junctions/Symbolische Links behandelt, da alle Quellen
wie eine gemeinsame Wurzel behandelt werden.
Im obigen Beispiel werden Location1 und Location2 nach Destination kopiert.
Location2/Junction20 ist bezüglich Location1/Folder10 in der Quelle eine innere Junction.
Das ist auch der Grund warum Destination/Junction20 im Ziel zu Destination/Folder10 zeigt.
Das Ziel dahinter ist alle Junctions/Symbolische Links als innere Junctions/Symbolische Links zu behandeln,
solange sie sich in der Menge der Quellordner befinden.
Dies funktioniert wie folgt:
Im obigen Beispiel werden alle Inhalte von Location 1 und Location 2 und pskill.exe ausgewählt.
Mögliche Junctions/Symbolische Links in Location 1, die auf Location 2 oder umgekehrt zeigen,
werden als innere Junctions/Symbolische Links behandelt, da alle Auswahlen als eine gemeinsame Wurzel behandelt werden.
Mit Smart Move können Ordner umbenannt werden, unter denen sich Junctions und Symbolische Links befinden,
und die Ziele der Junctions und Symbolischen Links werden unterhalb dieses Ordners aktualisiert. Ohne Smart Move
würde das Umbenennen solcher Ordner zu toten Junctions und Symbolischen Links führen.
Mit Junctions oder Symbolischen Link Verzeichnissen verhält es sich wie folgt:
Bei genauer Betrachtung des obigen Bildes kann man
drei verschiedene Arten von Ordnern/Verbindungen erkennen:
Normale Ordner
Der Ordner 'Folder 3' ist ein normaler Ordner. Er wird mit seinem Inhalt einfach verschoben.
Innere Junctions Symbolische Links
Der Ordner 'Inner Junction/Symlink' zeigt auf 'Inner Junction/Symlink Target'.
Diese Art von Ordner wird als Innere Junction/Symbolischer Link bezeichnet, weil sein
Ziel auf einen Ordner zeigt, der sich unterhalb der gemeinsamen Wurzel 'Folder 1' befindet.
Innere Junctions/Symbolische Links werden durch Smart Move am Zielort korrekt aktualisiert.
Äussere Junctions Symbolische Links
'Outer Junction/Symlink' zeigt auf den Ordner 'Outer Junction/Symlink Target'.
Diese Art von Ordner wird als Äussere Junction/Symbolischer Link bezeichnet, weil sein Ziel auf
einen Ordner zeigt, der parallel und damit außerhalb der gemeinsamen Wurzel 'Folder 1' liegt.
Äußere Junctions/Symbolische Links werden von Smart Move nicht verändert und bleiben somit mit ihrem jeweiligen Ziel verbunden.
Bitte beachten Sie, dass dies ein Unterschied zu Smarte Kopie ist, das drei verschiedene Möglichkeiten
hat, um mit Äußeren Junctions/Symbolischen Links umzugehen.
Die Smart Move-Funktionalität ist in den Explorer integriert.
Ziehen Sie einfach einen Ordner im Explorer an seinen Zielort, oder drücken Sie z. B. F2 im Explorer, um ein Verzeichnis
umzubenennen, und LSE kümmert sich um Junctions oder symbolische
Links und aktualisiert sie.
Überwachen von Verschiebe- und Umbenennungsvorgängen bedeutet, dass LSE vor dem Umbenennen/Verschieben den
ausgewählten Ordner rekursiv nach Junctions oder Symbolischen Links durchsucht. Das Durchsuchen großer Mengen von Dateien und
Ordnern benötigt jedoch Zeit, daher zeigt LSE einen Fortschrittsbalken an, wenn die Suche länger als 250msec dauert.
Wenn Symbolische Links aktualisiert werden müssen, ruft LSE seinen UAC-Helfer LSEUacHelper.exe auf.
Wenn der Backup-Modus aktiviert ist, wird der UAC-Helfer LSEUacHelper.exe immer aufgerufen, da LSE Dateien in
Verzeichnissen auflistet, für die es möglicherweise keine Berechtigungen hat.
Smart Move erstellt relative Symbolische Links während des Smart Move-Vorgangs.
Wenn in desktop.ini ein LocalizedResourceName für den Folder gesetzt ist, und dieser Folder read-only ist, dann funktioniert SmartMove nicht.
Das ist ein Fehler von Windows, denn ICopyHook::CopyCallback() wird nicht aufgerufen, und somit kann die ShellExtension auch nicht
den Umbennenungsvorgang beinflussen.
Aktivieren/Deaktivieren von Smart Move
Smart Move kann über das KonfigurationsTool ein-/ausgeschaltet werden.
Eingabeaufforderung
Die Smart Move-Funktionalität ist auch über die Kommandozeile von ln.exe
über den Befehlszeilenschalter --move verfügbar.
Klone sind Kopien eines Ordnerbaums von einer Quelle, die am Zielort neu erstellt werden, wobei die Dateien
innerhalb des neuen Ordnerbaums Hardlinks oder Symbolische Links zu den entsprechenden Dateien in der Quelle sind.
Ein Ordnerbaum kann auch Junctions oder Symbolische Links enthalten. Der Klonprozess stellt
Innere Junction/Symbolische Links am Zielort wieder her, ähnlich wie Smarte Kopie.
Unter Windows7/8/10 ist dieser Klonvorgang auch mit Symbolischen Links anstelle von Hardlinks möglich.
Klone werden auf die gleiche Weise wie z. B. Junctions erstellt. Wählen Sie einen Ordner aus,
klicken Sie auf den Aktionstaste, wählen Sie Link Quelle festsetzen aus dem Aktionsmenü...
... navigieren Sie zum Zielordner, drücken Sie die Aktionstaste, öffnen Sie das Untermenü Einfügen als ... und wählen Sie HardLink Clone:
... wählen Sie Symbolischer Link Klon, um Klone von bestehenden Baumstrukturen zu erstellen.
HardLink und Symbolische Link-Klone können auch per Drag and Drop erstellt werden. Wählen Sie einen Ordner
und ziehen Sie ihn mit gedrückter Aktionstaste in einen Zielordner. Wenn die Aktionstaste losgelassen wird, öffnen
Sie das Untermenü 'Hier einfügen als ...' und wählen Sie HardLink-Klon oder bei Windows7/8/10 Symbolischer Link-Klon:
HardLink-oder Symbolische Link-Klone sind nützlich, wenn Sie einen Ordnerbaum an einen anderen Ort replizieren müssen.
Der benötigte Festplattenspeicherplatz ist minimal, da die neue Struktur nur aus NTFS-Verzeichniseinträgen besteht und
somit fast kein Speicherplatz benötigt wird.
Wenn sowohl Dateien als auch Ordner als Quell-Links ausgewählt sind
und als HardLink-Klon abgelegt werden, dann werden
die ausgewählten Dateien als Hardlinks zusammen mit den
HardLink-Klonen abgelegt.
Da Klone Hardlinks oder Symbolische Links verwenden, sind sie nur innerhalb eines NTFS-Laufwerken verfügbar.
Hardlink-Klonen kann nicht die Ordnerstruktur von einem Disk-Volume auf ein anderes Volume replizieren,
da Hardlinks auf den Betrieb auf einem einzelnen Volume beschränkt sind.
Symbolic Link Clones können verwendet werden, um Volume-übergreifende Klone zu erstellen.
Das Anlegen von Klonen wird von LSE durch LSEUacHelper.exe durchgeführt,
wenn der Ordnerbaum Symbolische Links enthält,
denn das Anlegen von symbolischen Links benötigt eine erweiterte Berechtigung
und ruft damit den UAC-Dialog auf.
LSE benutzt LSEUacHelper.exe nur, wenn sich ein Symbolischer Link unter den ausgewählten Ordnern befindet,
so dass Sie sich eine UAC-Eingabeaufforderung ersparen, wenn Sie keine Symbolischen Links in Ihrer Auswahl haben.
Einschränkungen
Die Hardlink-Erstellung benötigt Schreibzugriff auf die Quell-Hardlink-Geschwister.
Das bedeutet, dass Hardlink Clone fehlschlägt und nur eine leere Verzeichnisstruktur erzeugt, wenn der Schreibzugriff für die Quelldateien
nicht verfügbar ist. Der Grund ist wie Windows Hardlinks implementiert, da die Sicherheitsinformationen für
eine Datei und damit für alle Hardlink-Geschwister gemeinsam genutzt werden.
Das Erstellen von Hardlink-Klonen kann in diesen Situationen trotzdem ermöglicht werden, indem Benutzern, die einen Hardlink-Klon erstellen wollen,
Schreibrechte für die Quelldateien gewährt wird, oder eben dem User Jedermann Schreibrechte gegeben wird.
Kommando Zeile
Die Klon Funktionalität mit Hardlinks oder Symbolischen Links ist auch über die Kommandozeile
von ln.exe
über den Befehlszeilenschalter --recursive verfügbar.
Smarte Spiegelkopie ist der Funktion Smart Kopie sehr ähnlich und kopiert nicht nur,
sondern synchronisiert den Ordner Quelle zum Ziel:
Smarte Spiegelkopie kopiert, wenn sich der Zeitstempel der Elemente im Ziel von dem der Quelle unterscheidet.
Löscht nicht mehr in Quelle vorhandene Dateien aus Ziel.
Smarte Spiegelkopie kümmert sich um Hardlink-Relationen, stellt Innere Junctions oder Innere Symbolische
Links wieder her und beachtet Äußere Junctions oder Äußere Symbolische Links, wenn sie entrollt oder gespliced werden.
Die Smarte Spiegelkopie wird auf die gleiche Weise erstellt wie z. B. Junctions. Wählen Sie einen Ordner aus, klicken Sie auf
die Aktionstaste, wählen Sie Link Quelle festsetzen aus dem Aktionsmenü...
... navigieren Sie zum Zielordner, drücken Sie die Aktionstaste, öffnen Sie das
Untermenü Einfügen als ... und wählen Sie Smarte Spiegelkopie:
Die Smarte Spiegelkopie unterscheidet sich ein wenig bezüglich Auto Rename,
da sie einen bereits existierenden Ordner am Zielort erwartet, der den gleichen Namen
wie der Quellordner hat, damit sie die Spiegelung durchführen kann.
Delorean Kopie ist eine Möglichkeit inkrementelle Backups zu erstellen, indem eine Kombination aus Hardlink Klon und Smart Kopie verwendet wird.
Das folgende Bild gibt einen Überblick, worum es sich bei der Delorean Kopie handelt
Im Allgemeinen hat eine Delorean Kopie 3 Hauptbestandteile: Source(t), InitialBackup und Backup(n).
Phase 1: Erstmalige Smarte Kopie
Der Ordner Source(t) wird zunächst nach InitialBackup kopiert. Dies wird durch den blauen Pfeil angezeigt.
Änderungen geschehen
Während dieser Phase ändern sich die Dateien unter Source,
und Source(t) wird zu Source(t+1).
Phase 2: Hardlink Klon
Der Ordner InitialBackup wird Hardlink geklont auf Backup1, wodurch
InitialBackup und Backup1 verbunden werden.
Dies ist durch den roten Pfeil dargestellt.
Phase 3: Spiegeln
Spiegelt den Ordner Quelle auf Backup1.
Dies wird durch den grünen Pfeil angezeigt:
Behält unveränderte Dateien als Hardlinks zum InitialBackup bei.
Löscht Dateien, die nicht mehr in Quelle(t+1) sind, aus Backup1.
Kopiert verschiedene Dateien von Quelle(t+1) nach Backup1.
Nach Abschluss dieser ersten Runde enthält Backup1 die erste schlanke Kopie von Source,
die entweder nur aus Hardlinks zu InitialBackup besteht,
oder aus kopierten Dateien, falls diese von Source(t+1) kopiert werden mussten,
weil sie unter Source(t+1) neuer waren.
Der Punkt ist, dass alle Dateien in Backup1 transparent zugänglich sind,
aber wenig Speicherplatz verbraucht wird, weil sich nicht alle Dateien
unter Source(t+1) geändert haben, so dass nur ein
paar Dateien von Source(t+1) nach Backup1 umkopiert werden mussten.
Dies kann immer wieder wiederholt werden. Die zweite Runde wäre die Verwendung von Source, Backup1 und Backup2 für die Delorean Kopie:
Änderungen geschehen
In dieser Phase ändern sich die Dateien unter source,
und Source(t+1) wird zu Source(t+2).
Phase 2: Hardlink Klon
Der Ordner Backup2 ensteht durch Hardlink Klone von Backup1, was Backup1 und
Backup2 verbindet. Dies ist durch den roten Pfeil dargestellt.
Phase 3: Spiegeln
Spiegelt den Ordner Source(t+2) auf Backup2.
Dies wird durch den grünen Pfeil angezeigt:
Behält unveränderte Dateien als Hardlinks zu Backup1.
Löscht Dateien, die nicht mehr in Source(t+2) sind, aus Backup2.
Kopiert neuere Dateien von Source(t+2) nach Backup2.
Delorean-Kopien werden auf die gleiche Weise wie z. B. Junctions erstellt. Wählen Sie einen Ordner aus,
klicken Sie auf die Aktionstaste, wählen Sie Link Quelle festsetzen aus dem Aktionsmenü...
... navigieren Sie zum Zielordner, drücken Sie die Aktionstaste, öffnen Sie das Einfügen als ...
Untermenü und wählen Sie DeLorean Kopie:
Wenn eine Delorean Kopie das erste Mal auf ein Verzeichnis abgelegt wurde, werden eine Smart Kopie durchgeführt,
so wie sie unter Phase 1 in den oben beschrieben wird. Link Shell Extension hat automatisch
den Ordnernamen für das Ziel durch Anhängen eines Zeitstempels generiert.
Jedes sukzessive Ablegen eines Verzeichnisses auf ein Zielverzeichnis löst Phase 2 und Phase 3
der obigen Beschreibung aus, d.h. es wird der Hardlink Clone vom früheren Backup auf das aktuelle Backup
durchgeführt und außerdem wird die Quelle auf das aktuelle Backup gespiegelt.
Ein Verzeichnis mit vielen Kopien kann wie folgt aussehen:
Einschränkungen
NTFS hat ein Limit, maximal 1023 Hardlinks zu einer Datei zu erstellen. Für Delorean Kopie bedeutet
dies, dass es eine Fehlermeldung angezeigt wird, wenn dieses Limit überschritten wird. Das Überschreiten
dieses Limits bedeutet Datenverlust unter den letzten Backup-Sets:
Der Grund für die Überschreitung dieser Grenze könnte entweder sein, dass es mehr als 1023 Backup-Sets gab
aber keine Hardlinks innerhalb der Source, oder es gibt Hardlinks innerhalb der Source und weniger als 1023
Delorean Kopien.
Das Untermenü Delorean Kopie wird nicht angezeigt, wenn mehr als ein Ordner als Quelle ausgewählt ist.
Delorean Kopie kann mit überlangen Pfaden umgehen, d.h. es kann mehr als 256 Zeichen in Pfaden verarbeiten.
Dies ist wichtig, da das Ablegen einer Kopie mit einem recht langen Pfad, aber immer noch unter 256 Zeichen
Pfadlänge, an den Zielorten zu einer kombinierten Pfadlänge von mehr als 256 Zeichen führen kann.
In einer solchen Situation darf kein Datenverlust auftreten, was Delorean Kopie mit 'long path safe' garantiert.
Bitte beachten Sie, dass der Explorer das Ergebnis einer solchen Kopie nicht anzeigen kann, die Dateien aber vorhanden sind.
Alternative Explorer wie der SpeedCommander können dies übernehmen.
Kommandozeile
Die Delorean Kopie Funktionalität ist auch über ln.exe verfügbar.
Im Backup-Modus kopiert die LSE auch ACLs und verschlüsselte Dateien aus allen Verzeichnissen, auch aus denen
ohne Zugriff für den aktuellen Benutzer.
LSE startet immer seinen Hilfsprozess LSEUacHelper.exe und löst damit die
UAC für die Eingabeaufforderung und die Passwortverifizierung aus.
Das gilt für Smarte Kopie, Smarte Spiegelkopie, SmartClone, Delorean Kopie, Smartes Verschieben und
und Replacement Junction/Symbolischer Link/Bereitstellungspunkt.
LSE.exe thus copies
Alternative Streams von Dateien und Ordnern
EA Records von Dateien und Ordnern (selten verwendet)
Der Backup-Modus ist standardmäßig deaktiviert und kann über das Tool LSE-Konfiguration aktiviert werden.
Um Sicherungsvorgänge durchzuführen, muss ein Benutzer die Berechtigungen SE_BACKUP_NAME und SE_RESTORE_NAME besitzen.
Die Standardkonfiguration von Windows weist der Gruppe 'Backup-Operator' und 'Administrator' diese Berechtigungen zu, aber
zusätzlich können die oben genannten Berechtigungen bestimmten Benutzern oder Gruppen individuell zugewiesen werden.
Die Zuweisung von Privilegien kann wie folgt erfolgen
By gpedit.msc
and navigating to
"Computer Configuration" ->"Windows settings" -> "Security Settings"
-> "Local Policies" -> "User Rights Assignments" -> "Backup files and directories"
"Computer Configuration" ->"Windows settings" -> "Security Settings"
-> "Local Policies" -> "User Rights Assignments" -> "Restore files and directories"
Ohne gpedit.msc
Laden Sie PolsEdit herunter und fügen Sie Benutzern oder Gruppen, die in der Lage sein sollen,
Sicherungen durchzuführen, die Berechtigungen SE_BACKUP_NAME und SE_RESTORE_NAME hinzu.
Mit der Funktion Bereitstellungspunkt können ganze Festplatten an beliebige Stellen im
Filesystem gemountet werden.
Bereitstellungspunkte werden auf die gleiche Weise wie Hardlinks erstellt, bloß ist der Quell-Link ein Volume und nicht eine Datei. Wählen Sie ein
lokales Volume, klicken Sie die rechte Maustaste, wählen Sie Link Quelle festsetzen aus dem Aktionsmenü, navigieren Sie zum
Zielordner, klicken Sie auf die Aktionstaste, öffnen Sie das Untermenü Einfügen als ... und wählen Sie Bereitstellungspunkt:
Volume-Bereitstellungspunkte können auch per Drag and Drop erstellt werden, wenn das ausgewählte lokale Volume mit gedrückter Aktionstaste in einen Zielordner gezogen wird.
Bei losgelassener Aktionstaste wählen Sie das Untermenü Hier einfügen als ... und dann Bereitstellungspunkt.
Bereitstellungspunkte können via Explorer mit 'Bereitstellungspunkte löschen' gelöscht werden.
Um den Ursprung eines Bereitstellungspunkte anzuzeigen, zeigt die Referenzspalte eines
Bereitstellungspunkte das Volume an, das auf den ausgewählten Pfad gemountet ist.
Stellen Sie sicher, dass nur lokale Laufwerke gemountet werden können, nicht aber gemappte Netzlaufwerke.
Das Anlegen und Löschen von Bereitstellungspunkte ist an die
erfolgreiche Rechteerhöhung gebunden, was bedeutet, dass der UAC-Dialog
bestätigt werden muss.
Wie im Abschnitt backgrounders beschrieben
verwaltet NTFS für jedes Datenobjekt einen Referenzzähler, wie viele NTFS-Verzeichniseinträge auf dieses Objekt verweisen.
Um die Anzahl der Verweise anzuzeigen, kann im rechten Bereich des Explorers eine Spalte aktiviert werden, indem Sie auf die Zeile "Titel" in der Detailansicht klicken.
Nach dem Aktivieren der Referenzspalte wird die Referenzanzahl für jede Datei angezeigt.
Windows7/8/10: Die Spalte, die die Referenz
Anzahl und den Ursprung der Junction anzeigt, ist nicht verfügbar, da die Art und Weise, wie Windows7/8/10 mit
benutzerdefinierte Spalten umgeht von Microsoft komplett überarbeitet wurde und alle Anwendungen, die mit
so genannten ColumnHandlern arbeiten, nicht funktionieren.
Link Shell Extension unterstützt auch so genannte Explorer-Eigenschaftsblätter, d. h., wenn eine Datei- oder Verzeichniseigenschaft im Explorer geöffnet wird, fügt Link
Shell Extension eine eigene Registerkarte hinzufügt, um die Eigenschaften eines Hardlinks, einer Junction, eines Bereitstellungspunkte oder eines Symbolischen Links anzuzeigen.
Diese zusätzliche Registerkarte wird in den Datei- oder Verzeichniseigenschaften nur angezeigt, wenn die
Datei oder das Verzeichnis ein Hardlink, Junction, Bereitstellungspunkt oder Symbolischer Link ist,
ansonsten ist diese Registerkarte nicht verfügbar.
Explore
Für Junctions, Bereitstellungspunkte oder Symbolische Links zeigt dieser Dialog auch
eine Schaltfläche 'Zielordner öffnen', die einen Explorer im angegebenen Verzeichnis öffnet.
Edit
Bei Junctions, Symbolischen Links oder Bereitstellungspunkte kann das Zielfeld bearbeitet werden, und nachdem Sie entweder auf die Schaltfläche Apply (Übernehmen) gedrückt
oder den Link Property Dialog mit ok verlassen haben, werden die Änderungen auf die Junction, den Symbolischen Link oder den Bereitstellungspunkt angewendet.
Wenn der Sicherungs Modus aktiviert ist, bleibt der ACL der bearbeiteten Junction,
des Symbolischen Links oder des Bereitstellungspunkte erhalten.
LSE unterstützt die Erstellung von symbolischen Links.
Das Erstellen eines Symbolischen Links entspricht im Wesentlichen den anderen Prozessen zum Erstellen von Links. Klicken Sie mit der Aktionstaste auf die ausgewählte(n)
Datei(en) und wählen Sie im Aktionsmenü Link Quelle(n) setzen aus.
Wenn der Zielordner angeklickt wird, enthält das Menü ein Einfügen als ... Untermenü, um einen Symbolischen Link zu erstellen
wählen Sie 'Symbolischer Link' aus dem Untermenü. Im Gegensatz zu Hardlinks können sich Symbolische Links über Speichervolumes erstrecken.
Wenn sowohl Dateien als auch Ordner als Quell-Links ausgewählt sind und als Symbolischer Link-Klon abgelegt werden, werden die ausgewählten Dateien
als Symbolische Links neben den neu erstellten Symbolischer Link-Klon-Ordnern abgelegt.
Symbolische Links können auch zwischen Verzeichnissen erstellt werden.
ein voll qualifizierter Pfad, der im Stammverzeichnis eines Laufwerks beginnt, z.B. e:\data\cpp\myfile.txt
oder kann relativ angegeben werden, z.B. ..\..\data\cpp\myfile.txt
LSE versucht standardmäßig relative Zielpfadnamen für Symbolische Links zu erzeugen, solange
dies möglich ist, z. B. die Datei und ihr Ziel auf demselben logischen Laufwerk liegen.
Relative symbolische Link-Ziele zu haben ist effizienter, wenn das Ziel von Links
im gleichen Laufwerk liegt.
Wenn ein symbolischer Link und sein Ziel auf verschiedenen Laufwerken liegen, verwendet LSE absolute Pfadnamen.
Das Werkzeug Konfiguration kann die Erstellung vonn Symbolischen Links entweder im
relativen oder absoluten Modus einstellen.
Überlagerte Symbole für Symbolische Links
Um Symbolische Links von normalen Dateien/Verzeichnissen zu unterscheiden, wurde ein Überlagertes Symbol
für Symbolische Links implementiert, das ein hellgrünes Pfeilsymbol unter dem Ordner anzeigt.
Überlagerungs Symbole für Symbolische Links können auch angepasst werden.
Aufgrund der UAC müssen einige API-Aufrufe auf die administrative Ebene angehoben werden. Diese Anhebung muss über den unten gezeigten Dialog bestätigt werden.
Wenn Sie also den unten gezeigten Dialog sehen und das Programm, das nach einer Erhöhung fragt, ist LSEUacHelper.exe,
dann handelt es sich um Link Shell Extension. Sie müssen den Dialog bestätigen um Symbolische Links zu erstellen.
Eine Möglichkeit die UAC-Abfrage zum Erstellen von Symbolischen Links zu umgehen, besteht darin
Benutzern das Erstellen von Symbolischen Links zu erlauben, indem man die Richtlinie ändert.
Mit gpedit.msc
Starten Sie gpedit.msc von der Kommandozeile und erteilen/entziehen Sie bestimmten Benutzern die Berechtigungen: Unter
"Computerkonfiguration" ->"Windows-Einstellungen" -> "Sicherheitseinstellungen" -> "Lokale Richtlinien" -> "Zuweisung von Benutzerrechten" -> "Symbolische Links erstellen".
Ohne gpedit.msc
Laden Sie PolsEdit herunter und fügen Sie Benutzer zur Nutzung des Privilegs SE_CREATE_SYMBOLIC_LINK_NAME hinzu.
Nach einer Veränderung der Privilegien müssen sie sich ausloggen und wieder einloggen, damit die Änderungen aktiv werden.
Die Linkshell-Erweiterung kann mit der oben genannten Vergabe von Berechtigungen umgehen, und wenn das Symbol Link-Privileg verfügbar ist, wird die UAC-Eingabeaufforderung vermieden.
Entwicklermodus in Windows10
Eine weitere Möglichkeit die UAC-Eingabeaufforderung zu umgehen, wäre
den Entwicklermodus zu aktivieren,
der seit Windows10/14972 verfügbar ist.
Das SMB-Netzwerkprotokoll unterstützt Operationen zum Erstellen von
Remote-Hardlinks, Junctions und Symbolische Links innerhalb von SMB-gemappten
Netzwerk-NTFS-Laufwerken.
Diese Funktion wird von der Link Shell Extension verwendet, um die Erstellung von
so genannten Remote Hardlinks, Remote Junctions oder Remote Symbolische Links zu ermöglichen. z. B.
Eine Netzwerkfreigabe zuordnen
Wählen Sie eine Datei aus dieser Freigabe
Die Datei als Hardlink in derselben Freigabe ablegen
Es wurde ein Hardlink erstellt
Außerdem meldet SMB1.0 auch den Referenzzähler für Hardlinks und
den Junction-Ursprung für Junctions, wodurch die Link Shell Extension
den Eigenschaftsdialog für diese Dateien anzeigen kann. Derzeit wird der Referenzzähler
eines Hardlinks über SMB1.0 nur zu 90% korrekt gemeldet, daher sollten Sie
seien Sie sich dieser Einschränkung bewusst.
LSE unterstützt sowohl gemappte Netzlaufwerke als auch UNC-Pfade.
Zugeordnete, aber nicht verfügbare Netzlaufwerke können in der Regel der Grund
für eine langsames Satrten des Explorers sein. Verzögerungen von einigen Sekunden können
können auftreten, wenn der Explorer alle Laufwerkszuordnungen prüfen muss, insbesondere
die, die nicht verfügbar sind. Dies wird noch schlimmer, wenn die LSE auch den Status
aller Laufwerke prüft.
Um diese Einschränkung zu umgehen, können die Remote-Fähigkeiten der Link Shell Extension
über das KonfigurationsTool ein-/ausgeschaltet werden.
Remote-Hardlinks und die SMB-Version
In verschiedenen Windows-Versionen sind unterschiedliche SMB-Versionen implementiert, was ein unterschiedliches
Verhalten für Hardlinks bedeutet:
SMB1.0: Windows XP, Windows2000 ...
SMB2.0: Windows Vista ...
SMB2.1: Windows7/8, Windows Server 2008 R2 ...
SMB3.0: Windows10, Windows Server 2012 R2 ...
Alle diese Versionen unterstützen die Erstellung von Hardlinks auf Netzwerklaufwerken, aber seit SMB2.0 kann man
kann man nicht herausfinden, ob eine Datei auf einem Netzwerklaufwerk ein Hardlink ist oder nicht.
Das heißt, wenn Sie sich z.B. mit Ihrem Windows XP Rechner mit einem SMB2.1 Laufwerk verbinden,
das von einem Windows7/8/10-Rechner bereitgestellt wird, sehen Sie keine Überlagerungs Symbole
für fest verknüpfte Dateien.
LSE unterstützt Wechselmedien, die mit NTFS formatiert wurden, um alle Funktionen zu nutzen, die es auch für nicht Wechsel-Laufwerke bietet. Die einzige Einschränkung
ist, dass es nicht auf Wechseldatenträgern funktioniert, wenn diese auf Laufwerk A: oder B: gemountet sind. Der Grund dafür ist, dass A: oder B: üblicherweise für Diskettenlaufwerke verwendet werden.
Bei Wechseldatenträgern, die auf NTFS formatiert sind, besteht die seltene Möglichkeit, dass LSE
beim Erstellen von Hardlinks oder Junctions Probleme mit 'Zugriff verweigert' meldet. Dies liegt an
den Datei-Objektberechtigungen auf dem NTFS-Wechsellaufwerk, die mit einem anderen Computer auf diesem
Wechseldatenträger erstellt wurden, wodurch diese 'Zugriff verweigert' Meldungen verursacht werden. Die
Lösung besteht darin, die Berechtigung auf diesem Wechseldatenträger als Administrator zu ändern.
Mit dem Befehl subst.exe kann man Laufwerksbuchstaben erzeugen, die auf einen bestimmten Pfad eines NTFS-Volume zeigen. Dies bedeutet, dass zwei
unterschiedliche Laufwerksbuchstaben am Ende auf Orte auf demselben NTFS-Volume verweisen können.
Link Shell Extension prüft diese Situationen, wenn es darum geht, die Erstellung von Hardlinks zuzulassen, und erlaubt infolgedessen
die Erstellung von Hardlinks zwischen verschiedenen logischen Laufwerken, wenn sie auf das gleiche NTFS-Volume auflösen.
Mit Windows Server 2012 führte Microsoft das
ReFS
Dateisystem ein, das der designierte Nachfolger von NTFS ist. Doch die erste
Implementierung von ReFS kann zwar nette Dinge, lässt aber ein paar wichtige Funktionen von NTFS vermissen, wie etwa die Hardlink-Unterstützung.
Dieses Manko wird in ReFs3.5 behoben.
Link Shell Extension unterstützt ReFS, so dass man Symbolische Links, Bereitstellungspunkte, Junctions auf ReFS-Volumes erstellen kann.
Unter ReFs < 3.5 wird eine Fehlermeldung ausgegeben, wenn ein Hardlink auf einem ReFS-Volume erstellt werden soll. Die Auswirkungen auf
Link Shell Extension sind im Detail:
ReFS-Laufwerke als Ziel von Delorean Kopien werden fehlschlagen, zumindest beim Erstellen des zweiten Backups in einem Delorean Set.
Da von ReFS erwartet wird, dass es in einer späteren Version den vollen NTFS-Funktionsumfang unterstützt, hat Link Shell Extension keine
Prüfungen implementiert, um mit den oben genannten Einschränkungen umzugehen.
Heutzutage gibt es viele Dateisysteme von Drittanbietern, die Hardlinks, Symbolische Links... unterstützen.
Um die LSE-Funktionalität auf diesen Laufwerken zur Verfügung zu stellen, können die unterstützten Dateisysteme konfiguriert werden:
Fügen Sie den Namen Ihres bevorzugten Dateisystems in einer kommagetrennten Liste zu
Änderungen an den bekannten Dateisystemen aus dem obigen Registrierungsschlüssel werden nach einem Neustart von Explorer.exe wirksam.
Wenn Sie den Namen des Dateisystems nicht kennen, können Sie diesen ermitteln, indem Sie
ln.exe von einem Eingabeaufforderung aus ausführen.
ln --probefs x:
Standardmäßig ist Btrfs als bekanntes Drittanbieter-Dateisystem konfiguriert.
Das Konfigurieren Ihres bevorzugten Dateisystems, damit es von LSE erkannt wird, geschieht auf eigene Gefahr. Grundsätzlich würde LSE alle Operationen
auf die konfigurierten Dateisysteme ausführen, die es auch auf NTFS ausführt. Stellen Sie also sicher, dass Ihr Dateisystem den gleichen
Funktionsumfang unterstützt wie NTFS, sonst werden bestimmte Operationen fehlschlagen.
Link Shell Extension kann in einigen Aspekten an den persönlichen Geschmack angepasst/konfiguriert werden.
Um dies zu erleichtern, gibt es das Tool LSEConfig, das das Verhalten
der Link Shell Extension über eine Benutzeroberfläche ändert. Sobald LSEConfig gestartet wird,
erscheint der UAC-Dialog, da die Einstellungen
der Link Shell Extension in der Windows-Registrierung geändert werden.
Localisierung
Die Benutzeroberfläche und die Befehle der Link Shell Extension sind in mehreren Sprachen verfügbar.
Sie können wählen zwischen
Englisch (Standard)
Chinesisch
Tschechisch
Französisch
Deutsch
Griechisch
Italienisch
Japanisch
Koreanisch
Polnisch
Portugiesisch-Brasilianisch
Russisch
Slowakisch
Spanisch
Schwedisch
Türkisch
Ukrainisch
Das Ändern der UI-Sprache der Link Shell Extension erfordert einen Neustart des Explorers, sobald
Anwenden oder Ok gedrückt wird.
Smart Move
Es kann sinnvoll sein, Smart Move ganz auszuschalten,
wenn es Ordner mit sehr vielen Unter-Verzeichnissen gibt.
Dies kann durch Setzen des Häkchens in der Smart Move Checkbox erreicht werden.
Logging
Alle Ausgaben einer LSE-Operation wie Smarte Kopie, Smarte Spiegelkopie oder Delorean Kopie werden in der Datei %TEMP%\LinkShellExtension.log protokolliert
Remote-Fähigkeiten
Es kann sinnvoll sein Remote Capabilities komplett abzuschalten,
wenn es zu viele "tote Netzlaufwerke" gibt.
Dies kann durch Setzen des Hakens in der Checkbox Remote Capabilities erreicht werden.
Outer Junction/Symbolischer Link Handhabung
Entscheiden Sie, ob die Äussere Junctions BehandlungCropUnroll oder Splice sein soll. Unroll ist die Standardeinstellung
Symbolischen Link erstellen
Durch die Auswahl eines relativen oder absoluten Links, wird die Shell Extension
das Ziel von Symbolischen Links entsprechend erstellen.
Kopiermodus
Wenn Sie die Backup Selektion aktivieren, läuft LSE im Backup-Modus.
Link Shell Extension hat vordefinierte Überlagerungs Symbole für Junctions, Hardlinks und Symbolische Links.
Da Icons dem individuellen Geschmack unterliegen, kann das von Link Shell Extension verwendete Icon
festgelegt werden.
Das Ändern von Einstellungen, die sich auf Überlagerungs Symbole beziehen, erfordert einen Neustart des Explorers
wenn Übernehmen oder Ok gedrückt wird.
Overlay Icon
Manchmal kann es sinnvoll sein, bestimmte Überlagerungs Symbole von Link Shell Extension komplett zu deaktivieren,
Dies kann durch Aktivieren des Kontrollkästchens für Überlagerungs Symbole erreicht werden.
Priorität
Es kann nur ein Overlay-Symbol mit einem Symbol angezeigt werden, aber viele Overlay-Handler können sich registrieren
um das Overlay-Symbol bereitzustellen. Um dies festzulegen, kann jeder Overlay-Handler eine Priorität angeben
an den Explorer übergeben und der Explorer zeigt das Overlay-Symbol mit der höchsten Priorität an.
Hohe Priorität bedeutet niedrigere Zahl, wobei 0 die höchste Priorität darstellt
Benutzerdefiniertes Icon
Durch Aktivieren des Kontrollkästchens für Benutzerdefiniertes Symbol wird die Schaltfläche Browse... aktiviert,
und ein Symbol kann ausgewählt werden.
Beachten Sie, dass benutzerdefinierte Icons für jeden Benutzer spezifisch sind.
Allgemein Windows7/8/10 sind etwas speziell, denn Overlay-Icons für 256x256 dürfen nicht
in der linken unteren Ecke des Icons liegen und nicht bereits kleiner sein, um ein Icon perfekt zu 'überlagern'.
256x256 Overlay-Icons müssen das komplette verfügbare Icon ausfüllen und dürfen auch nicht in der Größe verändert werden.
Oder anders ausgedrückt: Windows7/8/10 nimmt ein beliebiges 256x256-Icon und verkleinert es auf 92x92, verschiebt es in die
linke untere Ecke und überlagert.
Für alle anderen Auflösungen kleiner als 256x256 müssen Sie unter Windows7/8/10 ein Overlay-Symbol in der linken unteren Ecke vorbereiten.
Der Icon-Editor der Wahl, der mit Windows7/8/10-Icons umgehen kann, war für meine Untersuchungen
RealWorld Icon Editor
Anwenden der Änderungen
Wenn Sie im Dialog LSEConfigs auf OK oder Übernehmen drücken, werden die Einstellungen übernommen.
Wurden Änderungen an den Spracheinstellungen von Link Shell Extensions oder
Einstellungen, die sich auf Überlagerungs Symbole beziehen, werden Sie aufgefordert, einen Neustart
von Explorer.exe zu bestätigen, damit Ihre Änderungen wirksam werden. Der Neustart von
Explorer.exe bedeutet, dass z.B. ein Kopiervorgang oder ein anderer anstehender Vorgang
innerhalb von Explorer.exe unterbrochen wird.
Hardlinks sind eine Funktion, die in vielen Unix-basierten Systemen üblich ist, aber nicht direkt unter
Windows. Es ist eine Funktion, die vom Dateisystem des Betriebssystems unterstützt werden muss.
Was also sind Hardlinks? Es ist üblich, sich eine Datei als eine Assoziation zwischen einem Dateinamen und
einem Datenobjekt vorzustellen. Mit dem Windows-Explorer lässt sich das Dateisystem leicht untersuchen und zeigt eine 1:1-Beziehung zwischen dem
Dateinamen und dem Datenobjekt. Diese 1:1-Beziehung gilt nicht für alle Dateisysteme.
Einige Dateisysteme, darunter UFS, XFS und NTFS, haben eine N:1-Beziehung zwischen Dateinamen und dem Datenobjekt,
daher kann es mehr als einen Verzeichniseintrag für eine Datei geben.
Wie legt man nun mehrere Einträge für dasselbe Datenobjekt an? Unter Unix gibt es ein Kommandozeilenprogramm ln, mit dem man
Link-Einträge für bestehende Dateien erstellen kann. Es gibt daher viele Dateinamen, sogenannte Hardlinks, für das eine Datenobjekt.
Für jeden erzeugten HardLink inkrementiert das Dateisystem einen Referenzzähler
der mit dem Datenobjekt gespeichert ist, d. h. er speichert, wie viele Dateinamen auf das Datenobjekt verweisen.
Dieser Zähler wird (vom Dateisystem) innerhalb des Datenobjekts selbst gehalten. Wenn ein Dateiname, der auf ein Datenobjekt verweist, gelöscht wird, wird die Datenobjekt Referenz
Anzahl um eins dekrementiert. Das Datenobjekt selbst wird nur gelöscht, wenn der Referenzzähler auf Null dekrementiert wird.
Die Referenzanzahl ist die einzige Möglichkeit, festzustellen, ob es mehrere Dateinamen-Referenzen auf ein Datenobjekt gibt, und sie
gibt nur Auskunft über deren Anzahl, NICHT über deren Verbleib.
Junctions
sind Wurmlöcher in der Baumstruktur eines gerichteten Graphen. Durch das Verfolgen einer Junction wird ein eventuell weit entfernter Ort im Dateisystem
verfügbar. Das Ändern, Erzeugen, Umbenennen und Löschen von Dateien innerhalb einer Junction-Baumstruktur wirkt auf das Junction
Ziel, d. h. wenn Sie eine Datei in einer Junction löschen, wird sie an der ursprünglichen Stelle gelöscht.
Symbolische Links
sind für Dateien das, was Junctions für Ordner sind, da sie sowohl transparent als auch symbolisch sind. Transparenz bedeutet, dass eine Anwendung
auf sie zugreifen kann wie auf jede andere Datei, Symbolik bedeutet, dass die Datenobjekte auf jedem verfügbaren
Volume liegen können, d. h. sie sind nicht wie Hardlinks auf ein einzelnes Volume beschränkt. Symbolische Links unterscheiden sich von Shortcuts dadurch, dass
sie einen transparenten Weg zum gewünschten Datenobjekt bieten, bei einer Verknüpfung (.lnk) muss
der Inhalt der Verknüpfungsdatei gelesen und interpretiert und dann kann die Datei geöffnet werden. (d. h. es ist ein zweistufiger
Prozess). Wenn eine Anwendung einen Symlink verwendet, erhält sie sofortigen Zugriff auf das Datenobjekt, auf das der
Symlink referenziert wird (d. h. es ist ein einstufiger Prozess).
Unterstützte Plattformen sind NT4/W2K/WXP/W2K3/W2K3R2/W2K8/W2K8R2/W2K12/W2K12R2/WXP64/Vista/Vista/Windows7/8/10 in 32bit, 64bit oder Itanium.
Hardlinks können nur auf NTFS-Laufwerken unter den unterstützten Plattformen erstellt werden.
Hardlinks können nur innerhalb eines NTFS-Laufwerken erstellt werden und können sich nicht über NTFS-Laufwerken erstrecken.
Junctions können nicht auf NTFS-Laufwerken mit NT4 erstellt werden.
Die Auswahlmöglichkeiten Link Quelle festsetzen und Einfügen ...
sind nur sichtbar, wenn es möglich ist, Hardlinks/Junctions/Symbolische Links zu erstellen. Z.B.: Wenn Sie
eine Datei auf einem FAT-Laufwerk auswählen und die Aktionstaste drücken, sehen Sie die Link Quelle festsetzen nicht im Aktions
Menü, weil FAT-Dateisysteme keine Hardlinks/Junctions/Symbolische Links unterstützen. Dies geschieht auch, wenn
Sie Quelldateien auf einem Netzlaufwerk auswählen, oder eine Datei als Ziel auswählen.
Es gibt ein Betriebssystem-Limit für die Erstellung von mehr als 1023 Hardlinks pro Datei. Dies ist weniger bekannt, aber es gibt sie.
Q: Unter Windows7/8/10 zeigt das Feld "Speichern unter..." Symlinks mit der weißen "Verknüpfung"
Overlay anstelle des grünen Symlink-Overlays an.
A: Das passiert, wenn die bei der Installation der Link Shell Extension angezeigten Prozesse nicht geschlossen wurden.
Wenn Sie wirklich in diese seltene Situation geraten, hilft ein Neustart.
Q: Der Wert der Referenzanzahl wird jedoch nicht aktualisiert, wenn Hardlinks gelöscht werden.
Das heißt, wenn ich neue Hardlinks hinzufüge, erhöht sich der Wert korrekt, aber wenn ich
Hardlinks lösche, ändert sich der Wert nicht. Ist das ein Fehler? Oder gibt es eine Möglichkeit zum Aktualisieren
des Windows Explorers?
A: Sobald eine Datei im Explorer gelöscht wurde, wird sie in den Papierkorb verschoben, aber nicht wirklich gelöscht.
Wenn Sie zum Löschen einer Datei die Umschalttaste-Entf drücken, statt nur die Entf-Taste,
wird die Datei wirklich gelöscht und der Verweiszähler wird dekrementiert.
Q: Ich konnte keinen erfolgreichen Hardlink für Bild- oder Vektordateien erstellen.
Ich war in der Lage, den Hardlink zu erstellen, aber wenn ich den Inhalt der Datei änderte, wirkte sich das nicht auf die andere aus.
Ich frage mich, ob Sie wissen, woran das liegen könnte - könnte es an meinem ansonsten ganz normalen Computer (!) liegen
oder könnte es etwas mit dem Hardlink-Vorgang zu tun haben?
A: Sie konnten erfolgreich Hardlinks erstellen, aber wenn Sie einen Hardlink öffnen
zum Bearbeiten öffnen, hängt es von dem mit der Datei verbundenen Editor ab, ob die Datei entweder
geöffnet, geändert, das Original gelöscht und das neue gespeichert wird ( ==> Link gebrochen )
geöffnet, geändert und zurückgespeichert ( ==> Link lebt )
Q: Wenn ich ein Quellverzeichnis gelöscht habe, wird dessen Junction point
in einem nicht-operativen Zustand zurückgelassen.
Gibt es eine Möglichkeit, dies zu verhindern? Das heißt, ist es zum Beispiel möglich, automatisch
die Junction-Punkte zu löschen, wenn die zugehörige Quelle gelöscht wird? Oder ist es möglich, dass
solche verwaisten Junctions nachträglich von einem Programm löschen zu lassen?
A: Nein, tut mir leid, Junctions sind eine Einwegbeziehung, und wenn die Ziele verschwinden
zeigt die Junction auf ein verwaistes Ziel.
Q: Wenn ich einen symbolischen Link, der auf einen gezippten Ordner zeigt, lösche
durch Drücken von DEL, verweigert der Explorer später, wenn ich den Papierkorb leeren will
und zeigt mir die Fehlermeldung 0x80071128. Was ist da los?
A: Leider ist dies ein Fehler im Explorer, und er tritt nur bei symbolischen Links
die auf .zip-Dateien zeigen. Der Workaround ist, sie manuell aus dem Papierkorb zu verschieben
umzubenennen und dann wieder zu löschen.
Q: Ich habe einen symbolischen Link zu einer .exe erstellt und wenn ich doppelt
darauf klicke, erhalte ich folgende Fehlermeldung: Der angegebene Pfad existiert nicht. Überprüfen Sie den Pfad und versuchen Sie es erneut.
A: Leider ist das ein Fehler im Explorer, und ich habe keine Ahnung, wie man das im Explorer umgehen kann.
Wenn Sie den Symlink zu einer .exe von einer Eingabeaufforderung aus starten, funktioniert es einwandfrei, und auch Drittanbieter
Explorer wie SpeedCommander können dies tun, aber der Explorer scheint eine
eine Einschränkung zu haben
Kennt jemand den Registry-Hack, um dies in Explorer.exe zu aktivieren? Schreiben Sie mir eine Nachricht.
Q: Ich doppelklicke im Explorer auf einen Symlink, der z.B. auf eine .xls zeigt, und der Explorer fordert mich auf, ein
ein Programm zu wählen, um es zu öffnen.
A: Mit KB3039066 hat Microsoft das Verhalten von Symlinks geändert. Deinstallieren Sie es und es wird wieder funktionieren. Siehe auch
Symbolischer Link Typ geändert
Q: Die Überlagerungs Symbole werden nicht angezeigt
A: Die Anzahl der verschiedenen Icon-Overlay-Handler, die das System unterstützen kann, ist begrenzt
durch die Menge an verfügbarem Platz für Symbol-Overlays in der Systembildliste.
Derzeit sind 11 Plätze für Symbol-Overlays unter Windows 10 vorgesehen,
von denen einige vom System reserviert sind.
Gesteuert wird das Ganze durch die alphabetische Reihenfolge der OverlayHandler unter
Wenn die OverlayHandler für LinkShellExtension irgendwie auf einen Platz größer 15 unter 32bit Windows oder
größer 11 bei 64bit Windows, werden die LSE Overlay Icons nicht angezeigt.
Um die Priorität der LSE OverlayIcons manuell zu erhöhen, öffnen Sie den obigen Registry-Speicherort mit regedit und stellen Sie ein Leerzeichen voran
IconOverlayHardLink --> ' 'IconOverlayHardLink
IconOverlayJunction --> ' 'IconOverlayJunction
IconOverlaySymbolicLink --> ' 'IconOverlaySymbolicLink
und starten Sie entweder den Explorer neu oder melden Sie sich ab und wieder an. Hier geht es darum, die alphabetische Reihenfolge zu ändern
zu ändern, indem Sie ein Leerzeichen voranstellen. Das kann in einem Wettlauf um die höchste Priorität enden,
weil einige OverlayHandler wie
DropBox schon einige Leerzeichen vorangestellt haben.
Q: Ich versuche, Dropbox-Dateien nur auf dem Wechselspeicher zu speichern, anstatt auf dem
internen 128gb-Speicher. Meine DropBox enthält bereits viele Dateien. Wie schaffe ich die Umleitung
des Dropbox-Ordners auf den entfernbaren Speicher?
A:
Kopieren Sie den gesamten Dropbox-Ordner vom internen Speicher unter c:\users\[username]\dropbox
nach z.B. x:\data\dropbox
Den Dropbox-Ordner c:\users\[username]\dropbox umbenennen in z.B. c:\users\[username]\dropbox_org
Link Quelle festsetzen x:\data\dropbox
In c:\users\[Benutzername] verwenden Sie Ablegen als und wählen Symbolischer Link oder Junction
Wenn alles geklappt hat, löschen Sie schließlich c:\users\[username]\dropbox_org
Q: Wenn ich Symbolische Links erstelle, erscheinen sie im Explorer als 0 Bytes. Ich kann mich nicht erinnern, ob dies
erwartet wird oder nicht?
A: Die resultierenden Symbolischen Links werden in Explorer.exe als 0 Bytes angezeigt, das ist zu erwarten.
Q: Ich habe nur die Attribute einer Datei geändert, auch der Zeitstempel und der Inhalt sind gleich, aber --delorean kopiert die
Datei, anstatt auf die alten Backupsets zu verweisen und nur die Attribute im aktuellen Backup-Set zu ändern.
A: Die Dateien in den Backup-Sets von --delorean werden hart verlinkt, wenn sie gleich sind. NTFS bietet einen Satz von Zeitstempeln und
Attributen für alle Hardlink-Geschwister einer Datei, wenn also eine Datei in einem Backup andere Attribute benötigt, muss sie kopiert werden.
Q: Unterbrochene Junctions (mit nicht vorhandenen Zielen) haben ihre Überlagerungs Symbole angezeigt, aber ein Rechtsklick auf sie im Windows Explorer von
Windows7 x64 SP1 und die Auswahl von "Eigenschaften" bringt nicht die Registerkarte "Verbindungseigenschaften" hervor.
Folglich ist die Information, wohin die defekte Junction zu zeigen versucht, nicht zugänglich und kann nicht manuell korrigiert werden.
A: Leider ist dies ein Explorer-Problem, und LSE hat keine Möglichkeit, einzugreifen.
Kaputte Symlinks/Juncitons können mit der Funktion Ersatz-Junction/Symbolischer Link leicht repariert werden.
Q: Wenn ich mit der rechten Maustaste auf einen symbolischen Link klicke und zu den Eigenschaften gehe, und auf Link-Eigenschaften klicke, wenn der darin enthaltene Pfad ungültig ist,
erscheint die Meldung "Der im Feld Ziel angegebene Name '(ungültiger Pfad geht hier hin)' ist nicht gültig. Stellen Sie sicher, dass der Pfad und der Dateiname korrekt sind.
A: Leider ist dies ein Explorer-Problem, und LSE hat keine Möglichkeit, einzugreifen.
Kaputte Symlinks/Juncitons können mit der Funktion Ersatz-Junction/Symbolischer Link leicht repariert werden.
Improved the progress estimation for the progressbar
Fixed crash in LSEConfig when it replaced the texts upon startup
Removed vcredist-vs2005 check from installer
[Internal] but important change from VS2005 (sic) to VS2017. Basically everything compiled smoothly except for the heap, thus...
[Internal] Removed the Rockall fast heap. This was neccessary, but also a big performance gain. Memory allocation is 2 times faster,
and memory deletion is 10 times faster. Memory allocation is crucial for the core of ln.exe and LSE.
[Internal] Dropped Itanium configuration, since VS2017 does not support it anymore, and I am sure there is no Itanium hardware out in the wild anymore.
Junctions/Symbolic Links/Mountpoints ACLs are preserved when the target is changed either via
Replacement functions or editing from the Link Properties.
When working on mapped network drives via SMB or CFIS, as many NAS boxes do, LSE uses a more traditional enumeration mode and this will copy files ( which it did not in any case ).
Multiple locations can be selected and the location are treated as a common root with respect to hardlinks/junctions/symbolic links.
Nested junctions and symbolic links ( aka junctions on junction on junctions ... ) are now properly restored in any situation.
Smartmove had problems with relative symbolic links in rare situations.
The Properties dialog of an item offers an 'Explore Target'
button for Junctions, Mountpoints and Symbolic Links.
Added localization for Japanese. Thanks to Taka from Japan!
Under Windows7 auto rename behaves in the same way as Windows7/8/10 does for '- Copy'.
September 28th 2009
Version 3.1.6.0
With W2K the junction creation was broken.
Fixed a handle leak caused by enumerating hardlink siblings under non Vista/W2K8
Under Vista & W7 one can create junctions everywhere without elevation, but not in
e.g c:\Program Files. LSE is now aware of this and asks elevation for junction creation
when necessary.
With drives mapped via a Remote Dektop session, the whole explorer & remote desktop session hang, when
this drives was expanded in explorer, but only under W2K3 as terminal server.
Support for Windows7
Hardlink Sibling Enumeration now also works for XP, W2K NT4, but due
to OS contraints not that fast as with Windows7.
Under W2K it turned out, that CreateHardlink() from kernel32.dll with long pathnames (e.g. \\?\) was
broken.
Fixed a memory leak in serving as COM server.
October 4th 2008
Version 3.0.0.1
There is a new Smart Copy feature, which enables LSE
to copy whole folder structures and preserve the inner hardlink and junction structure.
Junctions can now be created targeting also Junctions.
June 21st 2008
Version 2.9.5.3
Hardlinks can be enumerated under Vista & Windows7.
Fixed a handle leak for HKCU\Software\LinkShellExtension.
Removeable media support didn't work, when remote capabilities were switched off.
May 1st 2008
Version 2.9.0.3
Already existing Junctions can be replaced by dragging a directory over it
Naming has been streamlined more towards 'Link Shell Extension'
If the maximum number 1023 of hardlinks for a file is exceeded, an error message is displayed. This applies
for hardlinks and hardlink clones.
The Vista & Windows7 junction overlay icon in 256x256 is in proper size.
Custom icons can be specified for Junction and Hardlink overlays
Version for Itanium available
Pick/Drop does not interfere with the creation of Hardlinks, Junctions or Symbolic Links via Drag and Drop.
It is now possible to pick a link, then drag another file via right mouse click to some location, drop it there
and afterwards drop the first, picked file
The property dialog of a Volume Mountpoint now displays the logical drive letter of the mounted drive
instead of the odd volume name.
Ongoing work towards localisation to East Asian languages.
Symbolic Links now can be created even if the filename contains UTF-16(Asian)characters.
LSE now also works for non Administrators under Vista & Windows7 (after they acknowledged the elevation dialog with the admin password for sure).
Symbolic Links for files or directories can now be created across volumes.
LSE now can also create Hardlinks from Shortcuts, which didn't work for ages.
The print name (the name some can see to the right of a junction, after issuing 'dir' in a command prompt) for Junctions under Vista & Windows7 is now correct.
Lots of usability fixes
During Installation under Vista64 Explorer automatically gets restarted.
The setup contains a check if the VS2005 SP1 Redistributable Package is installed.
The setup contains a check if the LSE version for the proper platform is going to be installed.
Vista & Windows7 compliant overlay icons for Hardlinks.
January 20th 2008
Version 2.8.0.6
Hardlinks show up with a small overlay icon. This icon will change for Vista compliancy, but at least it is here now.
Junctions have a Vista compliant overlay icon in many resolutions
Support of creation and deletion of
Volume Mountpoints. Unfortunately this does not work under Vista
LSE now prevents the creation of 'loops', when setting up a junction or hardlink clone
Hardlink 'cross drive drops' are now not possible anymore
Some bug fixes for NT4
Lots of usability fixes
October 16th 2007
Version 2.7.1.0
First fixes for the x64 world. Maybe more to come. Fixing x64 is top
priority since I have Q6600 myself now...
March 25th 2007
Version 2.7.0.1
Fixed a nasty bug, which caused HardlinkShellExt to slow down
explorer, when it was started. Also fixed the problem that it accessed
drive A:, when an explorer started.
PropertySheet on file and directory properties will show various info
with W2K/XP
Delete Junction is back, because sometimes, especially when deleting
junctions, which point to directories with big amount of data, the Copyhook Handler
does not act as expected. Until this phenomenon is solved, Delete Junction is back.
January 12th 2007
Version 2.6.0
Link Shell Extension is now robust with respect to
deleting junctions. Delete commands issued from explorer unlink
junctions, but do not delete its content.
Due to Junction-awareness of explorer the Delete Junction is gone from the
context menu
Support for Windows Vista & Windows7. Link Shell Extension is now capable of creating
Symbolic Links, but also has a few restrictions related to the Reference column
December 27th 2006
Version 2.5.1 released
Added localisation for Italian and Spanish to commands and messages. Thanks to
Nicola Guidotto and Diego Segobia for the translations.
December 6th 2006
Version 2.4.0
released
Added localisation for French and German to commands and messages
November 26th 2006
Version 2.3.0 released
Minor fixes in the installer/deinstaller
Introduced the hydraulics of multiple auto rename. If you drop links/junctions
in the same directory, now it behaves exactly as explorer and puts numbers
on the multiple instantiations of a file.
June 16th 2006
Version 2.2.2 released
BugFix. Link Shell Extension is now also able to create hardlinks
via Drag and Drop in root dirs of a drive.
Added
overlay icons for junctions, so that junction
visually pop into your eye.
February 27th 2006
Version 2.0 released
Revamped the
internal structure of ShellExt.
Introduced creation of Hardlink Clones.
Introduced submenu in the context menu, when
more than one entries would be added to context
menu to show the many dropping choices
Support for SymbolicLinks with 'Vista'.
Support for SymbolicLink Clones with
'Vista'.
Fixed crashes when dragging files, and using
'HardLink here'.
Fixed problem when showing up wrong menu, when
having folders disabled in the left explorer
pane.
Junctions display their origin in the reference
column.
A Pick Link operation can be cancelled
now.
The installer restarts explorer.exe to properly
add/remove the shell extension
Added an entry to Start Menu/Programs
Support for WindowsXP64.
November 26th 2005
Version 1.7 released
Added
the Delete Junction context menu,
when right mouse button is pressed on a
junction.
Fixed a handle leak in CreateJunction.
January 23rd 2002
Version 1.6 released
Added a
Columnhandler, so that the reference count of a
hardlinked file is shown in explorer. This feature
only works with W2K/WXP.
Deployment revamped so that the doc is now in
.html.
October 27th 2001
Version 1.5 released
Revamped
internal string handling to
Unicode.
Added junction support. Junctions are a feature
of NTFS5, which allows to hardlink two
directories.
Added a directory background handler. This
means, that after picking a hardlink it is possible
to press the right mouse button on the right
explorer pane and drop the
hardlinks/junctions/symbolic-links.
March 23rd 2001
Version 1.201 released
Fixed occurrence of 'Hardlink Here' if shortcuts are selected.
March 23rd 2001
Version 1.20 released
Added Drag and drop support
March 20th 2001
Version 1.10 released
Fixed the problem, that the help text was not displayed properly
Changed the installer to the lean and mean nullsoft installer.
Fixed the problem, that read-only files can not be hardlinked
Fixed the problem, that hardlinks in the root dir didn't work
Tested on W2K and HardlinkShellExt is W2K compliant
With Vista & Windows7 the column handler in explorer, providing the
reference count, does not work, since Microsoft deprecated
the interfaces with respect to this functionality.
License
This program is provided as is. See license.txt from this distribution for legal issues.
Link Shellextension uses tre as the regular expression machine. See the tre license.
Bug reports, or feature requests send to
Hermann Schinagl..
LSE is and will be freeware, but if LSE was really
helpful for you and saved lots of your time please
think of donations either via PayPal
or by flattring me
or by sending me a gift certificate from
.
or by donating bitcoins:
bc1q4hvevwrmnwt7jg8vws0v8xajywhffl4gwca5av
Link Shellextension also has its page on
Facebook
, where you can find announcements for new releases,
and you can discuss feature requests
.
Link Shellextension broadcasts its release notes via
RSS
.
This version contains the 64bit version of Link Shell Extension, but also
contains a 32bit version, which is installed in parallel to the 64bit version, to satisfy third party
filemanagers/explorers like total commander:
The Itanium version is not supported anymore, but the last VS2005 based version 3.8.7.2 is kept for legacy.
Please make sure that the necessary runtime .dlls are
installed on your system. This prerequisites package can be downloaded from Microsoft:
The version for Windows NT4 will be no more activley developed
on, and its functionality is frozen with version
Link Shell Extension 3.2.0.0 (1.13Mb), which basically has all
the important features.
The driver to enable even WindowsXP with symbolic link functionality
is provided courtesy of Masatoshi Kimura. You can download the driver from his
homepage or from my site acting as a mirror.