Ein Symlink ist nichts anderes als ein Pfad, der in eine sehr kleine Menge von Magie des Dateisystems eingehüllt ist. Es gibt eine beliebige Anzahl von Möglichkeiten, wie es ungültig werden kann ("kaputt"), wobei die meisten eine oder mehrere Dateien oder Verzeichnisse betreffen, die umbenannt werden. Da es sich bei Windows um Consumer-Software handelt, wird möglicherweise eine große Anzahl sehr schlecht gestalteter Programme auf einer "typischen" Installation ausgeführt. Infolgedessen ist diese Art von Bruch viel schwerer zu vermeiden als auf einem Server, auf dem (theoretisch) jedes Programm, das die Festplatte berührt, eine bekannte Menge ist.
Verknüpfungen sind immun gegen die meisten Arten von Brüchen, da sie ihre Ziele unabhängig vom Pfad verfolgen. Dies macht sie benutzerfreundlicher. Sie sind speziell für Verbraucher konzipiert, mit dem Ansatz "Tu einfach was ich meine und kümmere mich nicht um die Details".
Nun, Sie könnten (bis zu einem gewissen Grad) Hardlinks verwenden, aber Hardlinks haben eine Reihe von komplizierten Eigenschaften , die sie für den Verbraucher ungeeignet machen. Insbesondere bekommen Dateien viel zu leicht neue Inode-Nummern und manche Backup-Software bricht ziemlich spektakulär zusammen, wenn sie mit harten Links konfrontiert werden. Ersteres könnte (vielleicht) mit Dateisystem-Tunneling gelöst werden (das ist in der Tat, wie Verknüpfungen ein verwandtes Problem lösen), letzteres ist jedoch ein viel schwierigeres Problem.
(Ich sollte wahrscheinlich auch beachten, dass das "Lösen" fester Verbindungen durch Tunneln ausgesprochen nicht trivial ist, da es nicht nur darum geht, Metadaten, die "verloren gegangen" sind, wieder anzuhängen. Inodes sind im Plattenzuweisungsschema verknüpft, sodass Sie nicht einfach willkürlich zusammenführen können Da Verknüpfungen andere Metadaten verwenden, die leicht getunnelt werden können, wie z. B. die Erstellungszeit, haben sie dieses Problem nicht.)