Die bidirektionale Synchronisierung funktioniert in OneDrive nicht, wenn symbolische Links oder Junctions verwendet werden.

Die bidirektionale Synchronisierung funktioniert in OneDrive nicht, wenn symbolische Links oder Junctions verwendet werden.

Ich habe im Internet schon viel über die Probleme mit symbolischen Links und Windows 10 gelesen, aber nicht über das Phänomen, auf das ich jetzt stoße. Also, hier ist es …

Mein Ziel ist es, einen Ordner („Meine Musik“), der sich auf einer separaten Datenpartition meines SSD-Laufwerks befindet, über einen Symbollink bidirektional mit der OneDrive-Cloud zu synchronisieren. Alles funktioniert gut … außer der bidirektionalen Synchronisierung. Es bleibt irgendwie eine Einbahnstraße. :-(

Sowohl die Datenpartition als auch die Windows-Systempartition haben das NTFS-Dateisystem. Die Datenpartition hat den Buchstaben ( X:). Ich habe ein bestehendes OneDrive-Konto, auf dem sich noch keine Dateien oder Ordner befinden.

Soweit ich es jetzt verstehe, ist das Erstellen einer Junction die beste Lösung, obwohl in diesem Fall auch das Erstellen eines symbolischen Links funktionieren könnte. Ich bin folgendermaßen vorgegangen:

  1. Habe mein OneDrive-Konto online eröffnet.
  2. OneDrive auf meinem Computer einrichten.
  3. Den Standardspeicherort meines OneDrive auf der Systempartition beibehalten: C:\Users\<my user name>\OneDrive.
  4. Habe die Eingabeaufforderung als Administrator geöffnet.
  5. Die Verbindung wurde mit diesem Befehl erstellt:mklink /J “C:\Users\<my user name>\OneDrive\My Music” “X:\My Music”
  6. Der ‘My Music’Link wird als Ordner unter dem OneDrive-Symbol im Windows Explorer angezeigt.
  7. Habe getestet, ob die Verknüpfung mit dem Ordner ‘My Music’auf meiner Datenpartition tatsächlich funktioniert. Und das tut sie einwandfrei.
  8. Über zu OneDrive online. Der ‘My Music’Ordner erschien auch in meinem OneDrive online.
  9. Habe eine zufällige Datei von meinem Computer in den ‘My Music’Ordner hochgeladen, um die Synchronisierung zu testen.
  10. Die hochgeladene Datei wird online in meinem OneDrive angezeigt.
  11. Zurück zum Windows Explorer auf meinem Computer. Die hochgeladene Datei ist über den erstellten Link im ‘My Music’Ordner auf der Datenpartition erschienen.

So weit, so gut. Alles, was ich auf mein OneDrive online hochlade, erscheint einwandfrei in meinem Datenpartitionsordner. Das Problem ist jedoch, dass die bidirektionale Synchronisierung fehlschlägt. Wenn ich etwas im ‘My Music’Ordner auf der Datenpartition ändere, erscheint diese Änderung zwar im selben OneDrive-Ordner, der verknüpft ist (offensichtlich), aber dort hört es auf: keine Synchronisierung mit OneDrive online. Wie kommt das und was ist die Lösung?

Genau das Gleiche passiert, wenn ich keine Junction, sondern einen symbolischen Link verwende:mklink /D “C:\Users\<my user name>\OneDrive\My Music” “X:\My Music”

Und meine 2. Frage ist: Wie ist es möglich, dass das Ergebnis genau umgekehrt ist, wenn ich das Verfahren ändere und zuerst die Junction (oder den symbolischen Link) erstelle und dann OneDrive auf meinem Computer einrichte? In diesem Fall funktioniert das Synchronisieren einer Datei mit OneDrive online über den erstellten Link einwandfrei, aber wenn ich etwas im Ordner „Meine Musik“ in OneDrive online ändere, wird diese Änderung nicht im Ordner auf meiner Datenpartition angezeigt. Auch hier gilt: Es gibt nur eine Möglichkeit.

Ich verstehe es einfach nicht. Hat jemand die Antworten? Vielen Dank im Voraus!

Antwort1

Prodieser Thread in den Foren von Microsoft, es sieht so aus, als ob OneDrive um den 31.05.2017 herum über Dateiänderungsereignisse von Aliaspfaden (Junction/Symlink) benachrichtigt wurde (siehe als beste Antwort markierte Antwort), aber am 17.01.2018 meldete jemand, dass sie defekt seien, und der Autor der als beste Antwort markierten Antwort schien dies zu bestätigen.

Der spätere Vorschlag, „Hardlinks zu verwenden“, funktioniert nicht, da es in NTFS meines Erachtens keine „Verzeichnis-Hardlinks“ gibt.

Traurigerweise glaube ich, dass das im Moment kaputt ist.

In diesem Thread werden einige Workarounds erwähnt -OneDriveBullyum regelmäßig eine (vollständige?) Synchronisierung von OneDrive manuell auszulösen, und allgemeine Ordnersynchronisierungsprogramme, um die beiden Verzeichnisse bidirektional zu synchronisieren (was doppelten Speicherplatz beansprucht und wahrscheinlich jede Menge Ärger verursacht, wenn es sein muss, d. h. Konflikte zu bewältigen). Keines davon gefällt mir.

Antwort2

Ich würde mich nicht sicher fühlen, wenn ich meinen Desktop-Ordner auf einem externen Laufwerk ablegen würde, da mein Desktop nicht geladen werden kann, wenn die SD-Karte fehlt oder beschädigt ist. Daher behalte ich Desktop lieber an seinem Standardspeicherort auf dem lokalen Laufwerk C: und lege nur einen Junction-Link zu Desktop in den OneDrive-Ordner auf dem externen Laufwerk.

Das Problem ist, mklink /Jdass externe Laufwerke nicht wie erwartet mit OneDrive synchronisiert werden. Bei Dateiänderungen erfolgt keine sofortige Synchronisierung. (Ein anderer Bericht sagt, dass es früher funktioniert hat, aber seit Januar 2019 funktioniert es bei mir nicht mehr.)

Der Junction-verknüpfte DesktopWILLEsynchronisieren, wenn der Computerneu gestartet(oder wenn sich der Benutzer ab- und wieder anmeldet).Für manche Zwecke kann dies ausreichend sein.

Beispielsweise speichere ich nur gelegentlich Dateien auf meinem Desktop, also lege ich einen Junction-Link in meinen OneDrive-Ordner (der sich auf einer externen SD-Karte befindet). Normalerweise starte ich den Computer mindestens einmal pro Tag neu, sodass der Desktop täglich synchronisiert wird.

(Es wirdAuchsynchronisieren, wenn OneDrive angehalten und dann fortgesetzt wird, aber ständiges manuelles Anhalten/Fortsetzen ist nicht praktisch)

Für Dokumente möchte ich eine ständige Synchronisierung sofort bei Dateiänderungen, also habe ich meinen Ordner „Dokumente“ in OneDrive auf der externen SD-Karte verschoben. Wenn die SD-Karte fehlt oder beschädigt ist, kann ich mich mit meinem Konto trotzdem anmelden und laden (da dies nicht vom Ordner „Dokumente“ abhängig ist).

Mklink /Hist bei externen Laufwerken nicht zulässig.

Antwort3

Ich weiß, dass dieses Thema ziemlich alt ist, aber das Problem besteht immer noch. OneDrive (das ursprünglich eine direkte Kopie von Dropbox zu sein scheint, das dasselbe Problem hat) synchronisiert symbolisch verknüpfte Dateien nicht, wenn sich der Quellordner oder die Quelldatei nicht im OneDrive-Ordner befindet. Die einfachste Lösung besteht also darin, die Originaldateien (Quelldateien) in den OneDrive-Ordner zu legen und sie symbolisch mit dem Ziel zu verknüpfen, an dem Sie sie bearbeiten möchten. Sie können sie an zwei Stellen bearbeiten und OneDrive synchronisiert sie trotzdem. Wenn der Zielordner erneut synchronisiert wird (z. B. von Dropbox), wird dieser Ordner ihn natürlich nicht synchronisieren, aber das ist ein eher seltener Fall, wenn Sie OneDrive und Dropbox verwenden.

mklink /J "C:\...\OneDrive\SourceFolder" "C:\SomewhereElse\HardlinkedFolderToCreate"

Funktioniert bei mir. Ich kann die Dateien aus jedem der beiden Ordner heraus bearbeiten und OneDrive synchronisiert sie problemlos. Ich kann sie auch online bearbeiten (mit OneDrive for Business, das mit einer SharePoint-Bibliothek synchronisiert wird, aber das sollte keine Rolle spielen). Sollte auch mit Dropbox funktionieren. Wenn Sie es andersherum brauchen, wechseln Sie Quelle und Ziel.

Antwort4

Kurioserweise funktioniert dies bei kleineren Ordnerstrukturen sowohl mit symbolischen Links als auch mit Junctions problemlos.

Wenn ich jedoch eine mehrere Dutzend Gigabyte große Ordnerstruktur mit einigen 100.000 Ordnern und Dateien über Junction oder Symlink verknüpfe, funktioniert es nicht. Stattdessen scheint OneDrive für immer im Status „Suche nach Änderungen“ zu verbleiben.

verwandte Informationen