[Tipp] Eigene Dateien auf 2.Festplatte per Directory-Junction

grünerbert

Lieutenant
Registriert
Aug. 2015
Beiträge
606
Liebes Forum,
seit einiger Zeit habe ich nach einer Variante gesucht, wie ich die Daten auf meinem neuen Windows-System optimal verteilen kann. Habe ein 120 GB SSD und eine 500 GB HDD, nicht gerade exotisch.
Hatte vorher, als ich noch kein SSD hatte, auf der HDD zwei Partitionen angelegt. Dann einfach die ganzen persönlichen Ordner per Rechtsklick --> "Verschieben auf" (oder so ähnlich) auf eine zweite Partition (D: ) verschoben und dort auch die Steam-Spiele installiert. Meine Idee war, dann die Systempartition (C: ) aufs SSD zu klonen, von dort zu booten und danach beschleunigt weiterzuarbeiten. Hat natürlich nicht funktioniert! Hätte in die Registry gemusst, aber dort kam ich nun nicht mehr ran; Windows 7 fuhr noch hoch, aber ich konnte mich nicht anmelden. Über einen Umweg ging es, aber die regedit.exe lies sich nicht starten. Pech gehabt und genervt neu installiert!
Nun wollte ich es beim nächsten Mal besser machen. Eine Weile gesucht und dann auf dieses tolle Tutorial gestoßen:
Move the Users Directory from SSD to HDD in Windows 8
Zunächst Daten gesichert, beide Platten in GPT umgewandelt und formatiert. Zur Sicherheit nochmal die passenden Befehle, die man in der Windows-Recovery-Konsole eingeben muss:
Code:
diskpart
list disk
list volume
list partition
Damit sollte man herausfinden, welche Platte welcher Nummer/Laufwerksbuchstaben entspricht.
Code:
select disk 0
clean
convert gpt
format label="Systemplatte" quick
exit

Dann habe ich Windows 10 offline installiert, währenddessen die HDD noch abgesteckt. Anschließend HDD angesteckt und im frischen Windows (nach der Installation der nötigsten Treiber) den "Neustart in die Recovery" o.ä. ausgewählt. (Achtung! Nicht die Konsole vom Installationsmedium verwenden!) Dort dann bis zur Konsole vorgeklickt.
Dort muss man unbedingt die Laufwerksbuchstaben überprüfen (s.o.), die stimmen nämlich oft nicht mit denen im gebooteten Windows überein! Die drei entscheidenden Befehle sind:
Code:
robocopy /copyall /mir /xj C:\Users D:\Users
rmdir /S /Q C:\Users
mklink /J C:\Users D:\Users
Zuerst kopiert man das bestehende Users-Verzeichnis auf die HDD, dann löscht man es vom SSD, dann erstellt man eine sog. Directory-Junction. Wird in dem Artikel auch ganz gut erklärt.
Obwohl das Tutorial für Windows 8 geschrieben wurde, gibt es das gleiche auch für Win 7; ich selbst habe es vor kurzem mit Windows 10 Pro 64bit erfolgreich durchgeführt, bisher läuft es super. Bei einer Neuinstallation muss man nun nicht mehr in die Registry, sondern könnte (noch nicht getestet) seine bisherigen Daten relativ problemlos übernehmen.
Wichtiger Hinweis: Ich übernehme keine Garantie, dass es bei euch auch klappt. Wie immer gilt: Vorher Daten sichern, und zwar so, dass man auch ohne korrekt bootendes Windows drauf zugreifen kann!
P.S.: Mein 50. Post, juhu!
 
Wenn du nur "Eigene Dateien" in deiner Installation hättest verschieben wollen, hätte der von dir oben genannte Weg RMB-Location-Move ausgereicht. So hast du nicht nur das Verzeichnis "Eigene Dateien" verschoben, sondern den gesamten(!) Users-Ordner, d.h. den Ordner, in dem sämtliche Dateien aller User liegen - also auch %appdata% und Konsorten.

Wenn das Ziel tatsächlich war, C:\Users zu verschieben / symlinken, Glückwunsch - ansonsten ist das ziemlicher Overkill.

Werden deine ENVs eigentlich noch richtig aufgelöst? Also spuckt %appdata% dann den Pfad "D:\Users\$user\AppData\Roaming" aus?
 
Nein, sowohl
Code:
cd %userdata%
als auch
Code:
cd %appdata%
verweisen auf C:\Users\Username\... Aber physisch liegen die Daten auf D:
A softlink is basically like how a web-site re-directs. So if I go to C:\Users , it gets redirected to D:\Users and if I go to C:\Users\Bob (assuming my user name is Bob) , it gets re-directed to D:\Users\Bob. Now with the hard-link , it sort of creates the folder in your SSD fooling Windows and everyone else that such folder exists in C:\ drive , but the data and stuff are getting written in D:\ drive. As far as Windows and software sees it , the folder is located in C drive and it is not a re-direct of any sort , but what it does not know is that data is getting written to D drive instead of C. Plus you don’t have to worry about your SSD running out of space.
Ich wollte das Verhalten unter Linux, wenn man seinen /home-Ordner auf eine extra Partition legt und diese dann unter /etc/fstab fest einträgt, nachbauen. Bislang geht es, wie gesagt, ohne Probleme. Spannend wird es, sollte ich die HDD mal durch ein 2.SSD ersetzen und dann alles migrieren wollen. Vielleicht berichte ich hier darüber.
 
Ach daher weht der Wind ;)

Hab schon verstanden, was du gemacht hast. Aber der Titel des Themas ließ vermuten, dass du nur "Eigene Dateien", vulgo "Documents", auf eine andere Platte verlegen wolltest. Das geht tatsächlich bequem über die GUI mittels oben beschriebener Methode und dafür muss man nicht den kompletten Profilordner mitverlegen - auch wenn das seinen eigenen Charme hat.
 
grünerbert schrieb:
Ich wollte das Verhalten unter Linux, wenn man seinen /home-Ordner auf eine extra Partition legt und diese dann unter /etc/fstab fest einträgt, nachbauen
Warum hast du es dann nicht so versucht/gemacht? Windows unterstützt doch auch ein Verzeichnis als Mount-Punkt. Die 2. Platte unter c:\users mounten wäre die naheliegende Nachbildung der Linuxlösung.
 
Ist das nicht dasselbe in Grün? Was machen NTFS Volume Mount Points anders/besser als die Symlink-Idee?
 
Timmynator schrieb:
Ist das nicht dasselbe in Grün? Was machen NTFS Volume Mount Points anders/besser als die Symlink-Idee?
Das kann ich dir leider nicht spontan beantworten.
Seit ich von Build 1510 auf 1607 updaten will, macht Windoof Probleme! WinUpdate schlägt jedes Mal fehl, und wenn ich über das Iso gehe, verlangt er von mir, alle Daten und Einstellungen zu löschen! (Die Optionen zur Erhaltung sind ausgegraut.)
Wenn man nach dem Problem sucht, hängt es meist mit einer Registry-Änderung zusammen, in der man die Daten auf D:\ geschoben hat, ob mit "meiner" oder der Windows-eigenen Methode. Das Problem ist, ich habe ja gar keine Registry-Einträge dafür geändert!
Ich überlege, ob es was bringt, eine Systemsicherung auf externe HDD durchzuführen, dann neu installieren und die Sicherung wiederherstellen!? Oder etwas Geld investiere in ein 480er SSD. Ach Mann, Windoof ist echt unflexibel, zum Kotzen.
 
Zurück
Oben