Wie kann ich in Windows XP einen NTFS-Knotenpunkt erstellen?
Wie kann ich in Windows XP einen NTFS-Knotenpunkt erstellen?
Antworten:
Standardmäßig verfügt Windows XP nicht über Tools zum Erstellen von Knotenpunkten. Dieses Tool ( linkd
) ist Teil der Windows Resource Kit-Tools .
Ein weiteres Tool ist Junction von Mark Russinovich.
Probieren Sie das Junction- Dienstprogramm von Sysinternals aus, das unter W2k + verfügbar ist
Ist Ihre Definition von Knotenpunkt ein Verzeichnis, das mit einem anderen fest verbunden ist?
Wenn ja, ist es einfach
mklink /J <new directory to be linked> <target directory>
Danach gibt es keine Unterscheidung zwischen den Verzeichnissen. Sie haben den gleichen MFT_REF (von http://en.wikipedia.org/wiki/NTFS_symbolic_link ).
fsutil
kann auch hilfreich sein, um Analysepunkte abzufragen und Hardlinks zu erstellen.
Wenn Sie wissen wollen, wie man dies programmatisch macht, können Sie uns NTFS-Speichertreiber-IOCTL-Aufrufe auf dem Datenträger übergeben. Aber es wäre einfacher, einfach anzurufen mklink
.
Beachten Sie, dass Sie Schreib- und Änderungsrechte für das Zielverzeichnis haben müssen. Sie müssen cmd.exe mit erhöhten Rechten ausführen, damit es funktioniert.
mklink
gibt es auf winxp nicht, glaube ich.
fsutil reparsepoint delete the_directory-junction_you_made_to_test_this
. Sie haben einen eindeutigen und wahrscheinlich leeren Verzeichnisknoten.
Sie können Link Shell Extension auch als GUI-orientierte Oberfläche verwenden. Unter Windows XP können Junctions, Hardlinks und sogar Symlinks erstellt werden, wenn Sie den NTFS 5-Filtertreiber von Masatoshi Kimura wie beschrieben installieren. http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
Hier ist der "live" -Link für junction.exe.
Directory Junction :
mklink /J <oldpath(link)> <newpath(target)>
Wenn Sie das newpath
Absolute machen, können Sie den Link verschieben, ohne den Zeiger auf das zu brechen newpath
. Wenn Sie das machen , newpath
relativ, können Sie verhindern , dass die Verbindung zu brechen, solange Sie bewegen BEIDE den Link und Ziel TOGETHER und ihre relative Pfade halten.
Sie erstellen einen Knotenpunkt mit
REPARSE_MOUNTPOINT_DATA_BUFFER* pReparseInfo = // ...
pReparseInfo->ReparseTag = IO_REPARSE_TAG_MOUNT_POINT;
// ...
DeviceIoControl(..., FSCTL_SET_REPARSE_POINTFSCTL_SET_REPARSE_POINT, pReparseInfo, ...
API-Aufruf. pReparseInfo
weist auf die REPARSE_MOUNTPOINT_DATA_BUFFER
Struktur hin, die Sie bereitstellen müssen.
In einem MSDN-Artikel befindet sich ein von der Community bereitgestelltes Code-Snippet am unteren Rand der Seite, das die Verwendung der API zeigt.
Sie können NTFS-Junction mit spezieller Software erstellen. Ich empfehle Link Shell Extension (LSE) . Es ist Freeware und einfach zu bedienen. Es hat auch eine gute Dokumentation mit Screenshots aller Schritte.