Zum Inhalt wechseln


Foto

Versteckte Funktionen von NTFS - Hardlinks u. Abzweigungspunkte


  • Bitte melde dich an um zu Antworten
18 Antworten in diesem Thema

#1 Gadget

Gadget

    Moderator

  • 5.073 Beiträge

 

Geschrieben 29. März 2005 - 20:13

Hi Boardusers,

die meisten von euch werden schon seit einiger Zeit mit dem Dateisystem NTFS arbeiten, dieses bietet sehr nützliche Funktionen die sehr spärlich dokumentiert sind aber ungemein nützlich sein können.
Die Rede ist von NTFS Abzweigungspunkten (junction points o. reparse points) und Hardlinks:

Was ist ein NTFS-Abzweigungspunkt?
Ein Abzweigunspunkt ist eine Funktion des NTFS-Dateisystems mit dem ihr einen Link auf einen Ordner anlegen könnt. Im Grunde wird dabei ein leerer Ordner erstellt der auf den Orginalordner verweist. Wenn ihr nun ein Programm aus dem "Abzweigungsordner" startet werden alle Schreib- u. Lesevorgänge durch den Dateisystemtreiber an den Orginalordner weitergeleitet.

Was ist ein Hardlink?
Ein Hardlink stellt im Grunde die gleiche Funktion für Dateien bereit, wie dies Abzweigungspunkte für Ordner tun. Der Unterschied zu einem Softlink (Verknüpfung die an der Endung *.lnk zu erkennen ist) besteht darin, dass Programme den Unterschied zwichen der Verknüpfung und dem Orginal nicht erkennen.

Wie erstelle ich Abzweigungspunkte oder Hardlinks?
Leider bieten Windows 2000 und XP keine integrierten Funktionen für die Verwaltung von Abzweigungspunkten und Hardlinks. Es bieten sich jedoch zwei Programme an, die dafür geeignet sind:

Linkd.exe aus den Windows Server 2003 Resource Kit Tools (Bietet zwar die gewollten Funktionen - gestaltet sich aber in der Praxis als zu umständlich)
Download: http://www.microsoft...&displaylang=en

NTFS Link 2.1: Ist eine komfortables Tool, dass das Kontextmenü des Explorers erweitert um Hardlinks und Abzweigunspunkte zu erstellen und zu verwalten.
Download: http://www.wintotal....dex.php?id=2400
Hersteller: http://www.elsdoerfer.info/ntfslink/


Wie kann ich diese Funktionen in der Praxis nutzen?
Du kannst damit z.B. Speicherorte für installierte Programme ohne Neuinstallation oder Eingriffe in die Registry verändern.

So wirds gemacht: Verschieben eines Programmes, ohne Neuinstallation:
Installiere NTFS Link 2.1 (Neustart erforderlich)
Suche den Orginalordner des Programmes das du verschieben willst.
Verschiebe den Ordner in den gewünschten neuen Speicherpfad.
Markiere den gerade verschobenen Ordner und ziehe ihn mit der rechten Maustaste per Drag+Drop zum ursprünglichen Speicherort, jetzt auf Junction hier erstellen klicken - fertig.

Nun hast du einen Abzweigungspunkt erstellt - und das Programm sollte immer noch einwandfrei arbeiten obwohl es am Ursprungsort fast keinen Speicherplatz mehr belegt.


Weitere Informationen und Tools zum Thema:
KB205524: Erstellen und Bearbeiten von NTFS-Abzweigungspunkten

wikipedia.org: NTFS junction point

Sysinternals.com: Junction (Tool)

Junction Link Magic

Windowsnetworking.com: Windows 2000 breaks the 26 drive letter limitation

Konfuzius sagt: Fordere viel von dir selbst und erwarte wenig von den anderen. So wird dir Ärger erspart bleiben.

Kohns|tech|blog.de


#2 Das Urmel

Das Urmel

    Gast

  • 2.657 Beiträge

 

Geschrieben 29. März 2005 - 20:42

Die Technik wird auch bei CD's angewandt.
MS macht das schon länger, z.B. wenn beide XP-Versionen auf einer CD sind.
Im PE ist ein Prog um ein derartiges ISO zu bereinigen, ready for toasting. :)
mfg
Das Urmel
..lesen und verstehen - das Manko etlicher
... ich denke dennoch drüber nach, ehrlich :)

#3 Josh16

Josh16

    Senior Member

  • 419 Beiträge

 

Geschrieben 29. März 2005 - 20:48

wer hat den da bei linux abgekupfert??
Mit besten Grüßen
Josh16

#4 Gadget

Gadget

    Moderator

  • 5.073 Beiträge

 

Geschrieben 29. März 2005 - 21:18

Noch ein Tipp am Rand - wenn ihr Abzweigunspunkte verwenden wollt.

Nutzt die Funktion "Aktiviere Icon-Kennzeichnung für Junction Points" in dem Tool "NTFS Link" um zwischen Abzweigungsordnern und Orginal unterscheiden zu können.

Wer´s im Detail wissen will (gerade auch für Unix'ler):
http://shell-shocked...icle.php?id=284

Gruß Kohn

Konfuzius sagt: Fordere viel von dir selbst und erwarte wenig von den anderen. So wird dir Ärger erspart bleiben.

Kohns|tech|blog.de


#5 carlito

carlito

    Board Veteran

  • 3.074 Beiträge

 

Geschrieben 29. März 2005 - 21:50

Ich habe zwei Anmerkungen zu deiner Erklärung:

Die Rede ist von NTFS Abzweigungspunkten (junction points o. reparse points) und Hardlinks:


Abzweigungspunkte? Ich nehme an, du meinst Bereitstellungspunkte (engl. Mount Points). So nennt Microsoft diese Funktion.

Wie erstelle ich Abzweigungspunkte oder Hardlinks?
Leider bieten Windows 2000 und XP keine integrierten Funktionen für die Verwaltung von Abzweigungspunkten und Hardlinks.


Bereitstellungspunkte lassen sich über die Datenträgerverwaltung einrichten.
Microsoft Press Buch zu 70-229, S. 15:
"Sie können eine Dateninstanz beschreiben, dann diese Beschreibung beschreiben und mit der Beschreibung nachfolgender Beschreibungen fortfahren,..."

#6 Gadget

Gadget

    Moderator

  • 5.073 Beiträge

 

Geschrieben 29. März 2005 - 21:58

Hi Carlito,

nö ich rede wirklich von Junction Points:

[quote name='http://www.codeproject.com/w2k/junctionpoints.asp']Windows 2000 includes a new version of NTFS dubbed "Version 5".

This version of NTFS includes something called reparse points. Reparse points can, among other things, be used to implement a type of softlinks, seen in other operating systems for the last decades.

* A reparse point that points to a Volume is called Volume mount point.
* A reparse point that points to a Directory is called Junction Point. [/QUOTE]

Gruß Kohn

Konfuzius sagt: Fordere viel von dir selbst und erwarte wenig von den anderen. So wird dir Ärger erspart bleiben.

Kohns|tech|blog.de


#7 carlito

carlito

    Board Veteran

  • 3.074 Beiträge

 

Geschrieben 29. März 2005 - 22:00

* A reparse point that points to a Volume is called Volume mount point.


Das meinte ich oben.

* A reparse point that points to a Directory is called Junction Point.


Hmm.
Microsoft Press Buch zu 70-229, S. 15:
"Sie können eine Dateninstanz beschreiben, dann diese Beschreibung beschreiben und mit der Beschreibung nachfolgender Beschreibungen fortfahren,..."

#8 Gadget

Gadget

    Moderator

  • 5.073 Beiträge

 

Geschrieben 29. März 2005 - 22:03

Bei diesen zwei KB-Artikeln siehst du es auch

Auf deutsch nennt MS einen Junction Point, Abzweigungspunkt guckst du:
Englisch: http://support.micro...kb/205524/en-us
Deutsch: http://support.micro...om/kb/205524/de


Gruß Kohn

Konfuzius sagt: Fordere viel von dir selbst und erwarte wenig von den anderen. So wird dir Ärger erspart bleiben.

Kohns|tech|blog.de


#9 nerd

nerd

    Moderator

  • 6.989 Beiträge

 

Geschrieben 30. März 2005 - 08:49

Abzweigungspunkte? Ich nehme an, du meinst Bereitstellungspunkte (engl. Mount Points). So nennt Microsoft diese Funktion.


Bereitstellungspunkte sind an sich eine andere Technik. Die von Gadget beschriebene Technik eignet sich z. B. dafür ein ganzes Profil auf einem Lokalen Rechner auf ein anderes Laufwerk umzuhängen ohne dass das OS etwas davon mitbekommt. Mit Bereitstellungspunkten funktioniert das z. B. nicht.

Super Tipp Gadget - danke vor allem für die ausführliche Beschreibung!

Gruß

:: www.ServerHowTo.de - Das MCSEboard.de HowTo Projekt!
:: www.SECURITY-BLOG.EU - DER Security BLOG!


#10 6r15u

6r15u

    Newbie

  • 21 Beiträge

 

Geschrieben 05. September 2005 - 08:25

In Windows 2000 kann man keine hardlinks auf geöffnete Dateien errstellen, oder?
Ich find im Netz keine Infos dazu und wollte deshalb mal hier nachfragen

#11 madbull

madbull

    Member

  • 133 Beiträge

 

Geschrieben 03. November 2005 - 13:50

also entweder bin ich blind, zu **** oder es geht einfach net

darum frag ich nun einfach mal


ist es möglich Abzweigpunkte auf Netzlaufwerke zu machen

d.h. ein order leitetet nicht auf einem ordner auf dem lokalen rechner sonder auf einem ordner auf einer freigabe z.B. weiter

^^ist das machbar???
:cool: :cool: -=[Jungle is massive]=- :cool: :cool:

#12 Gadget

Gadget

    Moderator

  • 5.073 Beiträge

 

Geschrieben 03. November 2005 - 22:01

Hi madbull,

ist es möglich Abzweigpunkte auf Netzlaufwerke zu machen

d.h. ein order leitetet nicht auf einem ordner auf dem lokalen rechner sonder auf einem ordner auf einer freigabe z.B. weiter


ist leider so bisher nicht möglich steht auch so im KB205524 unter Feature Comparison to DFS:
http://support.micro...122120121120120

LG Gadget

Konfuzius sagt: Fordere viel von dir selbst und erwarte wenig von den anderen. So wird dir Ärger erspart bleiben.

Kohns|tech|blog.de


#13 madbull

madbull

    Member

  • 133 Beiträge

 

Geschrieben 04. November 2005 - 11:43

Hmm
manchmal sieht man den wald vor lauter bäumen nicht :D

Danke für deine Antwort
sie hat mir die Augen geöffnet

schade das es nicht geht muss ich eben anders lösen
:cool: :cool: -=[Jungle is massive]=- :cool: :cool:

#14 hal(wh)

hal(wh)

    Junior Member

  • 65 Beiträge

 

Geschrieben 23. März 2006 - 20:50

Hi madbull,



ist leider so bisher nicht möglich steht auch so im KB205524 unter Feature Comparison to DFS:
http://support.micro...122120121120120

LG Gadget


Ich habe heute einen solchen Link mühsam gelöscht.
Ich wunderte mich schön öfters wo die herkommen. Ich habe damit versehentlich beinahe unsere Fileserverfreigaben komplett leergeräumt.

Entgegen der obigen Angabe geht das unter XP wunderbar.

Was mir noch nicht klar ist:

Wie hab ich die nichtsahnend angelegt? Sie waren halt plötzlich in einem meiner Ordner.
Gelöscht habe ich sie über die Shell bzw durch verschieben auf einen FAT32 Partition wo ich noch nichts weiter darüber wusste.

Wir haben eine 2003 Domäne mit XP Pro Rechnern und einem alten RedHat 7.1 Fileserver mit Samba Freigaben. Ich vermute, das ich irgendwie die freigegebenen Ordner im Explorer verlinkt habe "durch wildes rumklicken".

Jemand eine Idee dazu?
Gruß Hal

#15 Gadget

Gadget

    Moderator

  • 5.073 Beiträge

 

Geschrieben 23. März 2006 - 22:33

Hi hal,

Wir haben eine 2003 Domäne mit XP Pro Rechnern und einem alten RedHat 7.1 Fileserver mit Samba Freigaben. Ich vermute, das ich irgendwie die freigegebenen Ordner im Explorer verlinkt habe "durch wildes rumklicken".


da musst du dich irren ;)

1. Die Angabe stimmt
2. Junction Points kannst du definitiv nicht per rumklicken erstellen sie sind by default definitiv nicht in der GUI implementiert. (Kann also nur passieren wenn ne Thirdparty-Erweiterung installiert ist u., dass ins ja leicht herauszufinden)

3. Glauben ist immer schlecht, das nächste Mal solltest du´s lieber überprüfen. Mit Junction Link Magic kann ein NTFS-Volume auf Junction Points gescannt werden:

http://www.rekenwond...m/linkmagic.htm

BTW:
Wenn wir gerade beim Thema Abzweigungspunkte sind, diese Technik wird auch beim RIS benutzt um für die Images den Speicherplatz zu reduzieren .. u. jetzt kommts dieselbe Technik wird im Windows Server 2003 Storage Server R2 auch eingesetzt werden. Im klartext ... egale wieviele Duplikate einer Datei auf dem Fileserver gespeichert werden, der Speicherplatz für die Datei wird nur einmal belegt.

Microsoft Buffs Up Storage OS
http://www.eweek.com...,1916600,00.asp

LG Gadget

Konfuzius sagt: Fordere viel von dir selbst und erwarte wenig von den anderen. So wird dir Ärger erspart bleiben.

Kohns|tech|blog.de