Verlagern von C:\Users

Im Artikel “Windows von VHD booten” habe ich beschrieben, wie man das Betriebssystem auf eine virtuelle Festplatte installieren kann. Diese VHD soll das Betriebssystem und die installierten Programme, nicht aber die Userdaten enthalten, denn wenn ich das Betriebssystem mit einer Sicherungskopie der VHD überschreibe, sollen die Userdaten davon nicht betroffen sein. Die Userdaten will ich separat, im einfachsten Fall mit xcopy sichern. Daher ist es sinnvoll, das Verzeichnis C:\Users nach D:\Users zu verlagern. Das ist nicht ganz so einfach, wie es scheint, weil sowohl Windows, als auch einige installierte Programme Pfade in dieses Verzeichnis haben. Windows kann man noch beibringen, dass diese jetzt woanders liegen sollen, aber einige Programme sind so dumm und haben das Verzeichnis hardcodiert. Das ist genau so, wie einige Programme nach englischen “Administrators” suchen und mit deutschen “Administratoren” oder französischen “Administrateurs” nichts anfangen können. Der Vorschlag, der mir am besten gefallen hat war, C:\Users nach D:\Users zu kopieren und dann eine Junction (die gibt’s seit Vista) von C:\Users nach D:\Users zu setzen. Da unterhalb von C:\Users ebenfalls Junctions liegen, darf man das nicht einfach mit xcopy machen, sondern muss robocopy nutzen und das auch noch zu einem Zeitpunkt, wo C:\Users nicht in Benutzung ist. Dazu muss man von der CD und dann eine Eingabeaufforderung öffnen. Dann hat das zu verschiebende Verzeichnis C:\Users aber einen anderen Laufwerksbuchstaben. Das sieht dann so aus:

  • Nicht mkdir d:\Users!
  • robocopy /copyall /mir /xj f:\Users D:\Users
  • rmdir /S /Q f:\Users
  • mklink /J f:\Users D:\Users

Nach dem Neustart auf der Platte C: kontrollieren

c:\>dir /al
23.09.2012  14:00    <VERBINDUNG>   Users [d:\Users]

Kommentar verfassen