Problem nach dem Verschieben des Benutzerordners unter Windows 7

7

Ich habe gerade versucht, meinen Benutzerordner unter 64-Bit Windows 7 Ultimate auf ein anderes Laufwerk zu verschieben. Ich kann mich jedoch nicht mehr anmelden, da die Fehlermeldung "Der Benutzerprofildienst hat die Anmeldung fehlgeschlagen. Benutzerprofil kann nicht geladen werden" angezeigt wird.

In Windows werden meine Laufwerke wie folgt zugeordnet:
C: \ -> Windows-Systemlaufwerk SSD
d: \ -> Programme
e: \ -> Benutzer

Über die Wiederherstellungs-Eingabeaufforderung wurden meine Laufwerke wie folgt zugeordnet:
X: \ -> Wiederherstellungsmedien
e: \ -> Windows-Systemlaufwerk SSD
f: \ -> Benutzer

Ich habe versucht, an der Wiederherstellungs-Eingabeaufforderung einen Hardlink von c: \ users zu e: \ users wie folgt zu erstellen:

robocopy /copyall /mir /xj e:\users f:\users
rmdir /S /Q e:\users
mklink /J e:\users f:\users

Dies schien in der Eingabeaufforderung zu funktionieren, da ein 'dir' den Verbindungspunkt wie erwartet zeigte. Nach dem Neustart konnte ich mich jedoch nicht anmelden.

Da ich etwas verwirrt war, welche Laufwerksbuchstaben verwendet werden sollten (die Wiederherstellungsbuchstaben oder die ursprünglichen Windows-Buchstaben), habe ich dies erneut mit der Notation "\? \ Volume {GUID} \" versucht, aber dies hat immer noch das gleiche Problem.

Weiß jemand, was ich falsch gemacht habe oder wie man beides macht?

PS Die ursprünglichen Anweisungen, die ich verwendet habe, waren: http://lifehacker.com/5467758/move-the-users-directory-in-windows-7 PPS Dies ist eine Neuinstallation von Windows, daher mache ich mir keine Sorgen über Datenverlust usw. .

Simon
quelle
klingt so, als ob der Profilpfad immer noch auf c gesetzt ist: Ich denke, dies kann in der Verwaltungskonsole geändert werden. Sie sind sich nicht sicher, wie Sie dies in der Befehlszeile tun sollen, wahrscheinlich über einen Regedit?
Stijn
@stijn - der Profilpfad ist immer noch auf c gesetzt, aber das ist richtig, nicht wahr? Ich dachte, das wäre der Punkt des Knotenpunkts?
Simon
Hoppla, ich habe nicht gesehen, dass du den Junction erstellt hast. In diesem Fall klingt es in Ordnung. Entweder ist bei der Kopie ein Fehler aufgetreten (Sie können dies überprüfen, indem Sie alles von e: nach c: verschieben, wenn Sie immer noch den Fehler erhalten, dass etwas nicht funktioniert), oder Windows hat Probleme beim Anzeigen Alles durch die Kreuzung (was ich bezweifle, ich benutze Kreuzungen seit langer Zeit und hatte nie Probleme)
stijn
@stijn danke, das ist ein guter Vorschlag. Ich habe das getan und Sie haben Recht, es kann sich immer noch nicht anmelden. Haben Sie eine Idee, was ich bei meinen Robocopy-Argumenten hätte übersehen können? Es wurden keine Fehler gemeldet, als ich die Kopie erstellt habe?
Simon
Wie harrymc hervorhebt, kopiert Robocopy möglicherweise keine verwendeten Dateien. Haben Sie nach dem Booten auf die Wiederherstellungskonsole kopiert? Wenn nicht, könnte dies das Problem sein. Wenn ja, ich weiß nicht, afaik beim Booten über CD werden keine Dateien verwendet, also sollte es in Ordnung sein.
stijn

Antworten:

3

Das Problem scheint bei den unterschiedlichen Laufwerksbuchstabenzuordnungen im Reparaturmodus im Vergleich zum normalen Modus zu liegen. Was ich für mich getan und gearbeitet habe, ist, DISKPART (gute Referenz hier: http://ss64.com/nt/diskpart.html ) auszuführen, die Partition / Geräte neu zuzuordnen und dann die Verbindung mit den Laufwerksbuchstaben herzustellen, die Windows normalerweise verwendet.

Nik
quelle
2

Siehe in diesem Thread den Kommentar von ohdannyboy am 4. Dezember 2009 um 14:33 Uhr und den folgenden Kommentar von imadman.

Sie beschreiben, wie der Ordner "Benutzer" auf eine Weise verschoben wird, die angeblich funktioniert.

Aus Wikipedia Robocopy :

Der Windows Volume Shadow Copy-Dienst ist das einzige Windows-Subsystem, das geöffnete Dateien kopieren kann. Dies geschieht durch Snapshots, um die Konsistenz zu einem bestimmten Zeitpunkt zu gewährleisten. Robocopy implementiert in keiner Weise den Zugriff auf den Volume Shadow Copy-Dienst, wodurch seine Nützlichkeit als Sicherungsdienstprogramm für möglicherweise verwendete Volumes beeinträchtigt wird. Sie können jedoch separate Dienstprogramme wie VSHADOW oder DISKSHADOW (in Windows Server 2008 enthalten) verwenden, um eine Schattenkopie eines bestimmten Volumes zu erstellen, mit dem Sie mit Robocopy sichern können.

Wenn nicht kopierte verwendete Dateien die Ursache des Problems sind, ist immer noch unklar, wie Sie e: \ users hätten löschen können, aber unter Windows sind viele Wunder möglich.

Der Artikel Sichern / Kopieren von Dateien, die in Windows "In Verwendung" oder "Gesperrt" sind , empfiehlt jedoch die Verwendung von HoboCopy anstelle von Robocopy.

Als weitere Bemerkung kann ich nicht verstehen, wie Sie behaupten, das Systemlaufwerk einem anderen Buchstaben als C: zugeordnet zu haben. Soweit ich weiß, ist dies absolut unmöglich.

harrymc
quelle
danke harrymc, die anweisungen, die ich benutzte, waren eigentlich sowieso "ohdannyboy". Kann es immer noch nicht zum Laufen bringen.
Simon
Ich habe einige weitere Gedanken zu diesem Thema hinzugefügt.
Harryc
Danke für das Update harrymc. Das Problem war nicht, dass Dateien nicht kopiert wurden, weil sie verwendet wurden. Ich habe das Problem jetzt behoben und werde hier eine Antwort hinzufügen, um meine Lösung bereitzustellen, aber kurz war das Problem, dass Robocopy keine Verbindungspunkte kopiert. Wie das Systemlaufwerk nicht c: war, kann passieren, wenn Sie von einer Win7-DVD booten und im Reparaturmenü die Eingabeaufforderung auswählen.
Simon
Gemäß Ihrer Beschreibung wurde die Kreuzung NACH der Kopie erstellt.
Harryc
Ja, tut mir leid, die Junctions, von denen ich spreche, sind die, die Windows im Ordner c: \ users erstellt. Beispielsweise wird eine Junction mit dem Namen "Eigene Dateien" erstellt, die nur auf "Dokumente" verweist. Diese dienen der Legacy-Kompatibilität, aber meiner Erfahrung nach scheinen sie erforderlich zu sein, damit das Benutzerkonto ordnungsgemäß funktioniert.
Simon
2

Ich bin vorher darauf gestoßen. Sie müssen sicherstellen, dass Sie den neu zugeordneten Volume-Buchstaben für den SOURCEParameter im mklinkBefehl und Ihren tatsächlich von Windows erkannten Volume-Buchstaben für den DESTINATIONParameter verwenden. Windows ordnet Symlinks NICHT neu zu, wenn Sie die Volumenbuchstaben ändern, auf die sie verweisen. Sie sind so dumm.

EG Entsprechend Ihrer Konfiguration sollte der folgende Befehl ausreichen:

mklink /J E:\Users E:\Users

HINWEIS: Wenn Sie Ihr Benutzerverzeichnis an anderer Stelle als Unterverzeichnis neu zuordnen (z. E:\Storage\UsersB. wie ich es einmal getan habe), achten Sie darauf, dass die Robokopie keine Dateien überspringt, AUSSER bei Fehlern. Meine Erfahrung damit zeigt, dass Windows keine kritischen Benutzerdateien kopiert, die nur mit dem Standardverzeichnisschema (EG [DRIVE]:\Users) funktionieren . Ich fand heraus, dass das Einfügen des Benutzerverzeichnisses in ein Unterverzeichnis dazu führen würde, dass kritische Dateien ihr Dateinamenlängenkontingent überschreiten, und es würde sie daher überspringen.

Herzog Wellington
quelle
Sie sollten wirklich mehr Informationen bereitstellen. Wenn Sie keine weiteren Informationen bereitstellen können, handelt es sich nicht wirklich um eine ausführliche Antwort wie bei den anderen Antworten.
Ramhound
@DukeWellington Sie wissen, ich denke, das war das Problem - ich wollte immer auf diese Frage zurückkommen, habe aber so viele Dinge getan, dass ich mich nicht erinnern konnte, was die Lösung war! Ich denke, Ihre Antwort enthält nützliche Informationen.
Simon
mklink /J E:\Users E:\Usersist der Schlüssel
Matt
1

Das Problem ist, dass die Option \ xj in der Robokopie JUNKTIONSPUNKTE AUSSCHLIESST, wodurch das Problem (fehlende Verbindungspunkte) entsteht, das später von Simon geklärt wird. Wenn Sie diese Option weglassen, erstickt der Prozess leider an den Verbindungspunkten. Dies ist ein schwerwiegender Haken 22 bei dem vorgeschlagenen Ansatz.

Wenn Sie keinen Wiederherstellungspunkt erstellt haben und verzweifelt sind, habe ich die folgenden Funktionen neu installiert und identifiziert, die neu erstellt werden müssen (Ersetzen durch Ihr Profil). Ich habe ein System nicht auf diese Weise wiederhergestellt, daher kann ich nicht garantieren, dass dies vollständig ist, aber ich glaube, dass dies der Fall ist.

Wie Sie selbst überprüfen können, zeigen die Junctions auch nach dem Ändern des Laufwerksbuchstabens (während der Windows-Eingabeaufforderung für die Reparatur) weiterhin auf "C:". Ich bin daher der Meinung, dass die neuen Kreuzungen auf ihre "üblichen" Positionen (Standard-Laufwerksbuchstaben) gerichtet werden sollten, obwohl die obigen Anweisungen unterschiedliche Laufwerksbuchstaben enthalten (auf der Eingabeaufforderung für Reparaturbefehle).

  • Benutzer \ Standardbenutzer <==> Benutzer \ Standard
  • Benutzer \? \ Eigene Dateien <==> Benutzer \? \ Dokumente
  • Benutzer \? \ Lokale Einstellungen <==> Benutzer \? \ AppData \ Local
  • Benutzer \? \ Anwendungsdaten <==> Benutzer \? \ AppData \ Roaming
  • Benutzer \? \ Cookies <==> Benutzer \? \ AppData \ Roaming \ Microsoft \ Windows \ Cookies
  • Benutzer \? \ NetHood <==> Benutzer \? \ AppData \ Roaming \ Microsoft \ Windows \ Netzwerkverknüpfungen
  • Benutzer \? \ PrintHood <==> Benutzer \? \ AppData \ Roaming \ Microsoft \ Windows \ Druckerverknüpfungen
  • Benutzer \? \ Zuletzt verwendet <==> Benutzer \? \ AppData \ Roaming \ Microsoft \ Windows \ Zuletzt verwendet
  • Benutzer \? \ SendTo <==> Benutzer \? \ AppData \ Roaming \ Microsoft \ Windows \ SendTo
  • Benutzer \? \ Startmenü <==> Benutzer \? \ AppData \ Roaming \ Microsoft \ Windows \ Startmenü
  • Benutzer \? \ Vorlagen <==> Benutzer \? \ AppData \ Roaming \ Microsoft \ Windows \ Vorlagen
  • Benutzer \? \ Dokumente \ Meine Musik <==> Benutzer \? \ Musik
  • Benutzer \? \ Dokumente \ Eigene Bilder <==> Benutzer \? \ Bilder
  • Benutzer \? \ Dokumente \ Meine Videos <==> Benutzer \? \ Videos
  • Benutzer \? \ AppData \ Local \ Anwendungsdaten <==> Benutzer \? \ AppData \ Local
  • Benutzer \? \ AppData \ Local \ History <==> Benutzer \? \ AppData \ Local \ Microsoft \ Windows \ History
  • Benutzer \? \ AppData \ Local \ Temporäre Internetdateien <==> Benutzer \? \ AppData \ Local \ Microsoft \ Windows \ Temporäre Internetdateien

Möglicherweise müssen Sie auch ein SYMLINKD mit "mklink / d" hinzufügen. Beachten Sie die Ersetzung der Option / D durch die Option / D:

  • Benutzer \ Anwendungsdaten \ <==> C: \ ProgramData (sofern Sie dieses Verzeichnis nicht ebenfalls verschoben haben)

Natürlich wurden möglicherweise zusätzliche Links von anderen Programmen erstellt, aber dies sollte die Hauptprobleme beheben, die durch die unzureichenden Anweisungen behoben wurden.

Claytond
quelle
0

Die Verwendung von sysprep ist der einfachste Weg, Benutzerprofile an einem anderen Ort zu erstellen. Alle anderen inoffiziellen Methoden, z. B. das Herumspielen mit Junctions und das Kopieren oder Verschieben von Dateien, haben dazu geführt, dass der Benutzerprofildienst die Anmeldung fehlgeschlagen ist. Das Benutzerprofil kann nicht geladen werden. Profilfehler.

XP1
quelle