web-dev-qa-db-fra.com

Quelle est la meilleure façon de déplacer c: \ users vers d: \ users sous Vista / W7

Je viens d'installer Windows 7 RC1 et je souhaite déplacer c:\users vers d:\users.

Quelle est la meilleure façon de procéder?


En raison du fait que Windows 7 crée une partition réservée qui est montée en C: dans la console de récupération, j'ai dû utiliser les commandes suivantes

robocopy /mir /xj D:\Users E:\Users
mklink D:\Users D:\Users /j

Les deux D de la commande mklink sont corrects. Lorsque le système redémarre, le lecteur qui était D dans la console de récupération devient le lecteur C.

65
Scott

Vous pouvez déplacer le dossier C:\Users entier vers un autre lecteur assez facilement après l'installation de Windows:

Avertissement: cela peut entraîner des problèmes si/lorsque vous devez effectuer une restauration du système

  1. Démarrez sur le support d'installation et accédez à l'invite de commande ( appuyez sur Maj + F10 dans la boîte de dialogue d'installation )
  2. Utilisez Robocopy pour copier C:\Users vers D:\Users: robocopy c:\Users d:\Users /mir /xj /copyall
    une. /mir dit à robocopy de refléter les répertoires, cela copiera tous les fichiers
    b. /xj est très important, cela indique à robocopy de ne pas suivre les points de jonction. Si vous oubliez cela, vous aurez beaucoup de mal.
    c. /copyall copiera tous les attributs, y compris l'ACL et les informations sur le propriétaire
  3. Vérifiez que les fichiers ont bien été copiés
  4. Supprimer c:\Users
  5. Créer une jonction qui pointe vers d:\Users: mklink c:\Users d:\Users /j

C'est ça. J'utilise ce processus depuis que Vista est allé RTM sans aucun problème.

Voici un article qui l'explique également. Utilisez simplement robocopy au lieu de xcopy comme il le fait dans l'article pour éviter d'éventuels problèmes d'autorisations ntfs.

Mise à jour: Parce que j'ai découvert à la dure, j'ai pensé que je mentionnerais également que si vous prévoyez de déplacer "Program Data" ou "Program Files" avec cette méthode, vous serez déçu de découvrir que tout fonctionne comme prévu , mais les mises à jour Windows ne seront plus installées. Je ne sais pas si cela a été corrigé Win 7.

Mise à jour 2: @Benjol a un article de blog qui détaille une méthode de déplacement du dossier des profils qui recréera les jonctions que cette méthode laisse de côté. Si vous rencontrez des problèmes avec les applications héritées, jetez un œil ici et voyez si sa méthode résout le problème.

66
Jimmie R. Houts

La méthode la plus simple et recommandée consiste à déplacer les dossiers spéciaux individuels dans un répertoire utilisateur, tel que Documents, Musique, Vidéos, etc. Vous pouvez le faire avec les étapes suivantes:

  1. Clic droit> Propriétés
  2. Onglet Emplacement
  3. Remplissez l'emplacement souhaité et cliquez sur 'déplacer'

L'inconvénient est qu'il laisse toujours le dossier principal "Utilisateurs" en place.

La manière difficile est beaucoup plus compliquée et risquée:

Dans ma recherche d'une solution, les deux seuls moyens faciles que j'ai trouvés pour déplacer les emplacements de répertoire de profil utilisateur du lecteur système sont de

  1. Définissez le dossier Profil utilisateur lors de l'installation à l'aide d'un fichier d'installation sans assistance.
  2. Déplacez les dossiers individuels à l'intérieur de votre profil utilisateur, ce qui peut être fait à l'aide d'Explorer (qui mettra à jour les clés de registre HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders et HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Dossiers de coque).

Cependant, ce n'était pas assez bon pour moi, je voulais que mon dossier de profil utilisateur réel soit déplacé vers une partition/volume séparé, y compris les paramètres de registre. J'ai découvert que ce n'était pas si difficile, à condition que vous soyez à l'aise avec le remplacement massif de clés et de valeurs de registre.

Voici comment j'ai déplacé l'emplacement de mon profil utilisateur. Veuillez noter que je voulais que tous les profils soient déplacés, y compris Public et Par défaut, donc certaines de ces étapes peuvent être ignorées si vous ne le souhaitez pas:

  1. Assurez-vous d'avoir une sauvegarde complète de votre système!
  2. Copiez le répertoire d'origine du profil par défaut vers le nouvel emplacement (par exemple, de C:\Users\Default vers D:\Users\Default).
  3. Copiez le répertoire du profil public d'origine vers le nouvel emplacement (par exemple, de C:\Users\Public vers D:\Users\Public).
  4. Accédez à HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList.
  5. Remplacez la valeur de la clé par défaut par le nouvel emplacement du profil utilisateur (par exemple D:\Users\Default).
  6. Remplacez la valeur de la clé publique par le nouvel emplacement du profil utilisateur (par exemple D:\Users\Public).
  7. Remplacez la valeur de ProfilesDirectory par le nouvel emplacement de profil utilisateur (par exemple D:\Users).
  8. À ce stade, vous devez redémarrer et vous reconnecter en tant qu'utilisateur différent qui ne s'est jamais connecté auparavant et n'a donc pas de profil créé. Dans mon cas, l'utilisateur administrateur ne s'était jamais connecté auparavant, je l'ai donc activé pour que l'administrateur puisse se connecter et l'utiliser. Vous pouvez activer la connexion administrateur en chargeant Gestion de l'ordinateur, puis accédez à Comptes d'utilisateurs, modifiez les propriétés de l'administrateur, puis décochez Désactiver la connexion.
  9. Après vous être connecté pour la première fois avec le nouveau compte utilisateur, vous verrez "Création de bureau" et d'autres choses comme ça pendant que Windows crée votre profil. Notez que le nouveau profil doit être créé dans le nouvel emplacement.
  10. Après vous être connecté, essayez de fermer autant d'applications que possible. Cela empêchera la plupart des fichiers d'être verrouillés afin que vous ne puissiez pas les copier.
  11. Copiez l'intégralité du dossier des profils utilisateur d'origine de l'emplacement d'origine vers le nouvel emplacement (par exemple C:\Users * vers D:\Users). (Voir l'étape suivante après le début de la copie).
  12. Il y a quelques points à noter lors de cette copie. Des milliers de fichiers .TMP étaient verrouillés et ne pouvaient pas être copiés. Je viens de sauter ces fichiers. J'ai maintenu Alt-S enfoncé afin de pouvoir voir tous les fichiers ignorés et m'assurer qu'il n'y avait que des fichiers .TMP ignorés. Oui, cela a pris un peu de temps, mais au moins j'étais confiant d'avoir copié tous mes fichiers. Ce processus pourrait probablement être rendu plus facile à l'aide de l'invite de commande ou du PowerShell.
  13. Si, dans votre cas, certains fichiers ne seront pas copiés, vous pouvez exécuter procexp.exe, qui est un fichier fourni par sysinternals. Ensuite, effectuez une recherche et recherchez une partie du nom de fichier. procexp vous indiquera quels programmes verrouillent le fichier. Tant que vous avez fermé autant de programmes que possible, cela ne devrait pas se produire.
  14. Recherchez et téléchargez un programme qui effectuera une recherche et un remplacement dans le registre. Je n'en proposerai pas car je n'ai pas trouvé un seul programme qui fonctionnait parfaitement. J'ai fini par télécharger quelques applications gratuites et les utiliser toutes.
  15. À l'aide du programme Registry Search & Replace, recherchez le dossier de profil utilisateur d'origine et remplacez-le par le nouveau dossier de profil utilisateur (par exemple, recherchez "C:\Users" et remplacez-le par "D:\Users". Notez que certains les applications que j'utilisais ne changeaient que les valeurs et non les noms de clés. Cependant, les clés qui devaient être modifiées étaient toutes liées à MuiCache. Je ne sais pas si elles doivent réellement être mises à jour. Je l'ai juste fait pour être sûr.
  16. Se déconnecter. Reconnectez-vous avec le même utilisateur. Répétez l'étape 14 jusqu'à ce qu'il ne reste plus rien à remplacer. La raison de cette étape est qu'à la déconnexion, certains programmes semblent mettre à jour le Registre en utilisant l'ancien chemin de profil utilisateur.
  17. Exécutez regedit.exe et recherchez le chemin du profil utilisateur d'origine et assurez-vous qu'il n'existe pas. La raison de cette étape est que (comme indiqué à l'étape 13), je n'ai fait confiance à aucun des programmes de recherche et de remplacement du registre que j'ai utilisés. J'ai fini par avoir besoin de mettre à jour une douzaine de clés et de valeurs manuellement, car la recherche et le remplacement les ont manqués.
  18. Pour que vous puissiez facilement trouver des programmes qui n'utilisent pas le registre et les chemins de profil codés en dur, renommez votre dossier de profil d'origine (par exemple, renommez C:\Users en C:\~ Users).
  19. Se déconnecter. Reconnectez-vous en tant qu'utilisateur habituel. Tout devrait fonctionner correctement, sauf pour les programmes qui utilisent un emplacement de profil utilisateur "codé en dur".
  20. Il existe deux méthodes simples qui peuvent être utilisées pour rechercher des programmes qui utilisent un emplacement de profil "codé en dur" et qui recherchent toujours le chemin du profil utilisateur d'origine. Vous pouvez utiliser l'astuce procexp.exe mentionnée ci-dessus et rechercher des poignées à l'emplacement de profil d'origine. Vous pouvez également surveiller l'emplacement du profil d'origine pour voir si de nouveaux dossiers ou fichiers ont été créés. Par exemple, dans mon cas, FolderShare a créé certains dossiers et fichiers dans le répertoire C:\Users\MyUsername\AppData\Local\FolderShare. J'ai donc mis à jour les paramètres FolderShare pour pointer vers le chemin différent, puis supprimé le répertoire C:\Users (notez que C:\~ Users existait toujours en tant que sauvegarde).
  21. Puisque vous êtes maintenant convaincu que toutes vos données ont été déplacées (à droite ??????), vous pouvez supprimer la sauvegarde de l'emplacement du profil utilisateur d'origine (par exemple C:\~ Users).

Source: Changer l'emplacement du dossier du profil utilisateur dans Vista

Voyant le fait que Microsoft a rendu si facile de changer l'emplacement des dossiers spéciaux, et si difficile de changer l'emplacement de la structure complète des dossiers utilisateur, je le conseille vivement vous pour adopter l'approche facile .

11
Aron Rotteveel

Voici le bon processus

  1. Démarrez sur le support d'installation et accédez à l'invite de commande (je crois que vous devez d'abord cliquer sur réparer)
  2. Utilisez Robocopy pour copier C:\Users vers D:\Users: robocopy c:\Users d:\Users/mir/xj /copyall
    une./mir dit à robocopy de refléter les répertoires, cela copiera tous les fichiers
    b./xj est très important, cela indique à robocopy de ne pas suivre les points de jonction. Si vous oubliez cela, vous aurez beaucoup de mal.
    c./copyall copiera tous les attributs, y compris l'ACL et les informations sur le propriétaire
  3. Vérifiez que les fichiers ont bien été copiés
  4. Supprimer c:\Users
  5. Créer une jonction qui pointe vers d:\Users: mklink c:\Users d:\Users/j

J'ai fait l'instruction Jimmie et je travaillais presque. Cependant, j'ai eu un problème étrange avec IE, je n'ai pas pu télécharger un fichier. J'ai trouvé la solution pour résoudre mon problème de téléchargement et elle est documentée sur superutilisateur :

5
Hapkido

Quelques ressources pour déplacer "automatiquement" C:\Users avec un script sans assistance pendant l'installation.

Microsofts a un KB avec quelques problèmes entourant le déplacement de dossiers spéciaux qui pourraient être utiles à lire.

En ce qui concerne le script sans assistance lui-même, il existe un élément appelé FolderLocations qui a un enfant ProfilesDirectory que vous pouvez spécifier en tant que tel:

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-Microsoft-com:unattend">
<settings pass="oobeSystem">
<component name="Microsoft-Windows-Shell-Setup"
publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
processorArchitecture="x86">
<FolderLocations>
<ProfilesDirectory>d:\users</ProfilesDirectory>
</FolderLocations>
</component>
</settings>
</unattend>

Voici les articles de Microsoft sur déploiement de Vista qui comprend comment gérer unattend.xml et voici la meilleure source que j'ai trouvée de l'extension Comment déplacer l'article des dossiers spéciaux de Ramesh Srinivasan qui expliquent en profondeur comment procéder et à quoi faire attention (y compris le fait que même après l'exécution de ce script sans assistance, par exemple comme argument pour setup.exe, il existe encore des points de jonction comme c:\documents et des paramètres qui pointent à l'ancien emplacement que vous devez corriger manuellement (si possible)).

3
Oskar Duveborn

"C:\users" est un dossier système équivalent à "C:\Documents and Settings" sur Windows XP/2000/NT, et pour cette raison, il était vraiment difficile, voire impossible, de déplacer le dossier. Il y avait plusieurs façons de contourner ce problème en déplaçant les sous-dossiers via TweakUI ou des hacks similaires au lieu du dossier parent et il existe de nombreux messages à ce sujet, voir ici:

http://www.tech-recipes.com/rx/1409/move-your-documents-and-settings-username-profile-off-of-the-c-drive/

http://support.Microsoft.com/kb/236621

http://support.Microsoft.com/default.aspx?scid=kb;en-us;31484

http://support.Microsoft.com/default.aspx?scid=KB;EN-US;q310147&ID=KB;EN-US;q310147

Mais en ce qui concerne Vista/Windows 7, il semble que ce processus soit devenu plus simple. Voici quelques articles qui vous expliquent comment le faire sur Vista, qui est au cœur de ce qu'est Windows 7:

http://www.ehow.com/how_2064387_relocate-user-files-windows-Vista.html

http://www.technospot.net/blogs/how-to-move-users-folder-to-different-location-in-windows-Vista/

http://www.howtogeek.com/howto/windows-Vista/moving-your-personal-data-folders-in-windows-Vista-the-easy-way/

2
mrTomahawk

C'est un peu tard ...

Les problèmes de déplacement des utilisateurs c:\vers un autre disque peuvent être évités en déplaçant des profils individuels plutôt que le répertoire entier.

Si vous laissez une jonction dans c:\users reliant au nouveau répertoire, tous les chemins continuent de fonctionner, comme avec la solution Jimmie Houts, cependant je ne déplace pas l'administrateur, le service réseau, le public, etc. donc toutes les fonctions système normales, comme mise à jour de Windows, continue de fonctionner normalement.

Ian

2
Ian Murphy

J'ai longtemps cherché la même chose. Ça ne peut pas être fait. Vous pouvez déplacer les dossiers "spéciaux" (Documents, Ma musique, etc.), mais vous ne pouvez pas déplacer le répertoire sers.

0
user1797

Ce n'est pas exactement ce dont vous avez besoin, mais si vous êtes sous Windows 7, une très bonne alternative consiste à changer l'emplacement des bibliothèques. Par cette méthode, vous enregistrez des documents, des images, etc., mais pas tout le profil dans le lecteur D.

Hier soir, j'ai créé un outil qui peut vous être utile: Définir les bibliothèques .

0
Ricardo Polo

La plupart de ces informations sont copiées à partir d'autres, puis modifiées et développées par le présent écrivain, tu servidor.

Pour déplacer le plus facilement tous les fichiers utilisateur et les fichiers de programme utilisateur de votre lecteur de démarrage (un SSD dans mon cas), suivez ces instructions.

D'abord, créez un point de restauration, au cas où: 1. Ouvrez le système en cliquant sur le bouton Démarrer, en cliquant avec le bouton droit sur Ordinateur, puis en cliquant sur Propriétés. 2. Dans le volet gauche, cliquez sur Protection système. Si vous êtes invité à entrer un mot de passe administrateur ou une confirmation, saisissez le mot de passe ou fournissez une confirmation. 3. Cliquez sur l'onglet Protection du système et puis cliquez sur Créer. 4. Dans la boîte de dialogue Protection du système, tapez une description et puis cliquez sur Créer.

ALORS: Accédez à Récupération système/Invite de commandes: démarrez avec le DVD d'installation de Win7, choisissez la langue, la devise et le clavier, puis appuyez sur Suivant. À l'écran avec "Installer maintenant", choisissez "Réparer votre ordinateur". Il vous sera demandé si vous souhaitez "Réparer et redémarrer" par les options de récupération du système, choisissez "Non". Ensuite, assurez-vous que Windows 7 est répertorié comme l'un des systèmes d'exploitation installés disponibles pour la récupération, qu'il est sélectionné, puis appuyez sur suivant. Vous recevrez une liste d'outils de récupération. Choisissez "Invite de commandes".

Trouvez votre lecteur Windows virtuel chargé à partir du support Win7 (probablement C ou X), trouvez votre lecteur Windows/SSD réel (D ou E) et trouvez votre disque dur (disque dur normal) (D ou E).

Dans mon système normalement, C = SSD avec Windows dessus, D = lecteur de données HDD

En utilisant le support de mise à jour Win7, les lecteurs en mode de récupération ont été configurés différemment, donc: X: lecteur Windows virtuel/temporaire, E: lecteur Windows/SSD réel, D: disque dur, disque dur sur lequel je voulais mettre\Users.

Certains signalent que le mode de récupération système configurera leurs lecteurs comme ceci: C: lecteur Windows virtuel/temporaire D: lecteur Windows/SSD réel E: disque dur, ils veulent mettre/Users sur.

Dans l'invite de commande, vous utiliserez Robocopy (PAS xcopy!) Pour copier c:\Users vers d:\Users, puis supprimez l'ancien c:\Users, puis créez un lien symbolique de c:\Users vers D:\Users. Notez que vous devez effectuer ces opérations dans l'ordre et que vous ne devez pas avoir de répertoire d:\Users avant de procéder.

REMARQUE: dans la fenêtre d'invite de la commande de récupération du système, vos lecteurs ne sont pas les mêmes qu'ils le seront après avoir quitté le mode de récupération! Ajustez donc les commandes ci-dessous pour savoir comment les disques sont en mode de récupération, puis ils se révéleront corrects plus tard.

J'ai utilisé: robocopy/mir/xj E:\Users D:\Users

Pour déplacer/Utilisateurs de Windows/SSD vers HDD./mir dit à robocopy de mettre en miroir les répertoires, cela copiera tous les fichiers et autorisations./xj est très important, cela indique à robocopy de ne pas suivre les points de jonction. Si vous oubliez cela, vous aurez beaucoup de mal. Assurez-vous qu'aucun fichier n'a échoué à copier (colonne FAILED = 0).

Ensuite, vous devez supprimer l'ancien dossier Utilisateurs du lecteur Windows/SSD (c :), avant de pouvoir créer le lien symbolique: J'ai utilisé: rmdir/S/Q E:\Users

Créez une jonction/lien symbolique NTFS qui pointe vers le nouveau dossier Utilisateurs:

J'ai utilisé: mklink/J E:\Users D:\Users

Utilisez le commutateur/J pour créer une jonction qui est un lien symbolique dur. (Si vous utilisez le commutateur/D, vous devrez également modifier le registre, car ce ne sera pas un lien dur.) À l'aide de/J, lorsque Windows recherche le répertoire C:\Users, il le trouvera! Mais ce sera sur le disque dur au lieu du SSD. Rusé!

Pour voir la preuve de ce que vous avez créé, toujours dans la fenêtre d'invite de commandes, allez dans le Windows/SSD réel et exécutez la commande "dir", et vous verrez: "Users [D:\Users]"

Maintenant, redémarrez et vous verrez/Utilisateurs sur votre disque dur, et c'est parti. Aucune configuration supplémentaire ou violon requis. Les nouveaux profils utilisateur seront tous stockés sur le lecteur d:, tout comme les données spécifiques à l'utilisateur. Et cela est réalisable sans aucun problème dans le registre, la recherche et le remplacement de valeurs, ou sans avoir à jouer avec de nouveaux profils de quelque manière que ce soit. Totalement réglé et oubliez.

0
ohdannyboy