Windows 10 und Probleme mit symbolischen Links

Windows 10 und Probleme mit symbolischen Links

Ich habe eine Dual-Boot-Konfiguration bestehend aus Windows 7 und Windows 10. Beide sind als Laufwerk C: als Systemlaufwerk und als Laufwerk D: als Datenlaufwerk konfiguriert, das das Benutzerverzeichnis enthält. Außerdem habe ich noch ein weiteres (auch physisches!) Laufwerk, nennen wir es V:, mit Fotos und anderen Sachen.

Um unter Windows 7 auf Fotos vom Datenträger D: zuzugreifen, habe ich aus historischen Gründen einen symbolischen Link (Verknüpfung) wie diesen erstellt:

mklink /j d:\photos v:\photos

Und ich kann auf alle Ordner in d:\photos vollständig zugreifen. Ich habe also versucht, dasselbe unter Windows 10 zu tun, aber es funktioniert nicht so, wie ich es mir wünsche. Ich kann d:\photos aufrufen, aber auf kein anderes Unterverzeichnis kann zugegriffen werden, und ich kann auch nichts in d:\photos schreiben. Aber ich kann problemlos auf v:\photos zugreifen ...

Wenn ich im Windows Explorer z. B. auf d:\photos\folder1 klicke, erhalte ich die Meldung „Das System kann die Datei nicht auf ein anderes Laufwerk verschieben“. Wenn ich die Registerkarte „Sicherheit“ in diesem Ordner überprüfe, erhalte ich die Meldung „Die angeforderten Sicherheitsinformationen sind entweder nicht verfügbar oder können nicht angezeigt werden“.

Ich habe schon einiges probiert, aber ohne Erfolg. Kann das Problem sein, dass C: und D: auf derselben SSD liegen und V: eine andere Festplatte ist? Irgendwelche Ideen, was man tun kann?

Danke!

Antwort1

Obwohl Junctions über lokale Laufwerke hinweg unterstützt werden, haben Sie wahrscheinlich mehr Glück mit tatsächlichen symbolischen Verzeichnislinks. Win7 (genauer gesagt alles seit Vista) unterstützt diese, XP und ältere Versionen jedoch nicht. Symlinks speichern tatsächliche Zielnamen (solange das andere Laufwerk also V:auf beiden Betriebssystemen läuft, sollte es funktionieren). Meine besteerratenist, dass Junctions einen anderen Bezeichner als den Laufwerksbuchstaben verwenden können und wenn Sie das Betriebssystem wechseln, werden einige dieser Identifizierungsdaten vom anderen Betriebssystem nicht verstanden. Sie verstehen das offensichtlich nicht.Nurverwenden Sie den Namen, sonst könnten Sie eine Verbindung zu einem zugeordneten Netzlaufwerk herstellen, was aber nicht möglich ist.

Die Syntax zum Erstellen eines echten symbolischen Links für ein Verzeichnis ist dieselbe wie zum Erstellen einer Junction, außer dass das /DFlag für mklinkanstelle von verwendet /Jwird. Beachten Sie, dass standardmäßig nur Administratoren symbolische Links erstellen können (ich bin nicht sicher, warum dies für symbolische Links und nicht für Junctions erzwungen wird, aber so ist das Leben). Starten Sie also die Eingabeaufforderung als Administrator (und ja, es muss sein CMD; mklinkist eine integrierte CMD, keine eigene ausführbare Datei, die beispielsweise von aufgerufen werden könnte Powershell) und versuchen Sie es mklink /d d:\photos v:\photos.

Beachten Sie, dass Sie auch ohne Flags verwenden können, mklinkumDateiSymlinks oder mit dem /HFlag, um DateiHardlinks. Nicht relevant hier, da Sie versuchen, Verzeichnisse statt Dateien zu verknüpfen, aber möglicherweise nützliche Informationen für die Zukunft. Die meisten Leute wissen nicht, dass NTFS Hardlinks (seit ... Windows 2000, glaube ich?) und Symlinks (seit Vista) unterstützt, selbst wenn sie Junctions kennen (die kein vollständiger Symlink sind, oder Sie könnten einen zu einem Netzlaufwerk erstellen).

Antwort2

Ich hatte das gleiche Problem. Die Ursache scheint darin zu liegen, dass der Installationsort der Apps auf ein anderes Laufwerk geändert wurde.

Für mich hat sich das Problem dadurch gelöst, dass ich den Speicherort für neue Apps wieder auf C: gesetzt und dann einen Neustart in die Eingabeaufforderung durchgeführt habe (während des Neustarts die Umschalttaste gedrückt gehalten) und auf dem betreffenden Laufwerk „System Volume Information\wpappsettings.dat“ gelöscht habe.

Antwort3

Hat dasselbe Problem: hat Datenträger C: (neues Windows 10) D: (alt) E: (alt)

Ich kann eine Verzeichniszusammenführung von D nach C erstellen (für Unterordner vom Typ „Programme“ usw.), dasselbe aber nicht von E nach D: Zusammenführungen wurden erstellt, aber ich kann die Dateiinhalte und Unterordner mit demselben Fehler nicht sehen.

Ich verstehe nicht warum, aber alles ließ sich lösen, indem ich Ubuntu lade und „D:\System Volume Information“ lösche (es wurde danach von Win10 neu erstellt).

PS. Hat ein normales Ergebnis fsutil behavior query symlinkevaluation: local-to-* aktiviert, remote-to-* deaktiviert

Antwort4

Ich hatte vor einiger Zeit ein ähnliches Problem, das durch das Berechtigungssystem verursacht wurde. In meinem Fall hatte ich einen UNC-Pfad als Ziel, Berechtigungen und Freigabe waren korrekt konfiguriert. Im UNC-Pfad konnte ich Links erstellen und in Unterordner eintauchen, im symbolischen Ordner nicht. Die Ursache war die Übernahme von Rechten aus den obersten Ordnern.

Versuchen Sie, die Vererbungsberechtigungen für den symbolischen Ordner zu deaktivieren und Berechtigungen zu entfernen, die Probleme verursachen können. Legen Sie explizite Berechtigungen fest, um die volle Kontrolle über den symbolischen Ordner zu erhalten. In meinem Fall wurden die Probleme dadurch gelöst und ich konnte Links erstellen und in die Unterordner eintauchen.

verwandte Informationen