66 votes

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

Je viens d'installer Windows 7 RC1 et je veux passer à c. : \users à 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 tant que 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.

66voto

Daniel Fone Points 1326

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

Avertissement : Cela peut causer des problèmes si/quand 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 Shift + F10 dans la boîte de dialogue d'installation. )
  2. Utilisez Robocopy pour copier C:\Users à D:\Users : robocopy c:\Users d:\Users /mir /xj /copyall
    a. /mir indique à robocopy de mettre en miroir les répertoires, ceci copiera tous les fichiers.
    b. /xj est très important, il indique à robocopy de ne pas suivre les points de jonction. Si vous l'oubliez, vous aurez beaucoup de problèmes.
    c. /copyall copiera tous les attributs, y compris les informations sur l'ACL et le propriétaire.
  3. Vérifiez que les fichiers ont été copiés avec succès
  4. Supprimer c : \Users
  5. Créer une jonction qui pointe vers d : \Users : mklink c:\Users d:\Users /j

C'est tout. J'utilise ce procédé depuis la sortie de Vista RTM sans aucun problème.

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

Mise à jour : Parce que je l'ai appris à mes dépens, j'ai pensé que je devrais également mentionner 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 que les mises à jour de Windows ne s'installent plus. Je ne suis pas sûr que cela ait été corrigé pour 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 anciennes applications, jetez-y un coup d'œil et voyez si sa méthode résout le problème.

11voto

maclema Points 5959

En le plus facile y recommandé chemin consiste à déplacer les dossiers spéciaux individuels à l'intérieur d'un répertoire utilisateur, comme Documents, Musique, Vidéos, etc. Vous pouvez le faire en suivant les étapes suivantes :

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

L'inconvénient est que le dossier principal "Users" reste en place.

En dur est beaucoup plus compliquée et risquée :

Dans ma recherche d'une solution, la seule deux moyens faciles que j'ai trouvés pour déplacer les de l'emplacement du répertoire du profil utilisateur lecteur système, c'est de

  1. Définir le dossier du profil de l'utilisateur pendant l'installation à l'aide d'un appareil non surveillé fichier d'installation.
  2. Déplacez les dossiers individuels dans votre profil d'utilisateur, qui peut être en utilisant l'explorateur (ce qui mettra à jour les clés de registre HKEY_CURRENT_USER \Software\Microsoft\Windows\CurrentVersion\Explorer\<strkeep>Shell<strkeep> Dossiers et HKEY_CURRENT_USER \Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell).

Cependant, cela n'était pas suffisant pour Je voulais que le dossier de mon profil utilisateur soit déplacé sur une partition séparée partition/volume séparé, y compris le registre de registre. J'ai découvert que ce n'est pas pas si difficile, à condition que vous soyez à l'aise avec le remplacement en masse les clés et les valeurs du registre.

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

  1. Assurez-vous d'avoir une sauvegarde complète de votre système !
  2. Copiez le répertoire original de Default Profile vers le nouvel emplacement (par exemple, de C:\Users\Default à D:\Users\Default ).
  3. Copiez le répertoire d'origine du profil public vers le nouvel emplacement (par ex. à partir de C:\Users\Public à D:\Users\Public ).
  4. Accédez à HKEY_LOCAL_MACHINE. \SOFTWARE\Microsoft\Windows NT \CurrentVersion\ProfileList.
  5. Changez la valeur de la clé Default pour le nouvel emplacement du profil utilisateur. (par exemple D:\Users\Default ).
  6. Modifiez la valeur de la clé publique en fonction du nouvel emplacement du profil de l'utilisateur. (par exemple D:\Users\Public ).
  7. Changez la valeur de ProfilesDirectory pour le nouvel utilisateur de l'utilisateur (par exemple D:\Users ).
  8. À ce stade, vous devez redémarrer et vous reconnecter sous un autre nom. utilisateur qui ne s'est jamais connecté auparavant et qui n'a donc pas de profil créé. Dans mon cas, l'utilisateur l'utilisateur Administrateur ne s'était jamais connecté avant, j'ai donc activé la fonction pour que Administrateur puisse se connecter et j'ai utilisé cela. Vous pouvez activer la connexion de l'administrateur en chargeant Gestion de l'ordinateur puis allez dans Comptes d'utilisateurs, modifiez le propriétés de l'administrateur, puis décochez la case Désactiver la connexion.
  9. Après s'être connecté pour la première fois avec le nouveau compte d'utilisateur, vous vous verrez apparaître "Creating Desktop" et d'autres choses comme ça pendant que Windows 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 fichiers ne soient verrouillés et que vous ne puissiez les copier.
  11. Copiez l'intégralité du dossier des profils d'utilisateur d'origine depuis le serveur d'origine. vers le nouvel emplacement (par ex. C:\Users * à D:\Users ). (Voir l'étape étape suivante après le démarrage de la copie).
  12. Il y a quelques éléments à noter pendant cette copie. Il y avait des milliers de fichiers .TMP qui étaient verrouillés et ne voulaient pas être copiés. J'ai juste juste sauté ces fichiers. J'ai maintenu la touche Alt-S pour que je puisse voir tous les fichiers ignorés et m'assurer qu'il n'y avait que seuls les fichiers .TMP ont été ignorés. Oui, cela a pris un peu de temps, mais au moins au moins j'étais sûr d'avoir copié tous de mes fichiers copiés. Ce processus pourrait probablement être rendu plus facile en utilisant l'invite de commande ou powershell.
  13. Si, dans votre cas, il y a des fichiers qui ne se copient pas, vous pouvez exécuter procexp.exe, qui est un fichier fourni par sysinternals. Ensuite, faites une poignée de recherche et recherchez une partie du nom du fichier. procexp vous dira quels programmes verrouillent le fichier. Tant que vous avez avez fermé autant de programmes que possible, cela ne devrait pas arriver.
  14. Trouvez et téléchargez un programme qui fera une recherche et un remplacement sur le registre. Je ne vais pas en suggérer un car je n'ai pas trouvé un seul programme qui fonctionne parfaitement. I J'ai fini par télécharger plusieurs programmes applications gratuites et à les utiliser toutes toutes.
  15. À l'aide du programme de recherche et de remplacement du registre, recherchez l'élément suivant dossier de profil utilisateur d'origine et et remplacez-le par le nouveau dossier de profil (par exemple, recherchez " C:\Users " et remplacer par " D:\Users ". Notez que certaines des applications que j'ai utilisées changeraient uniquement les valeurs et non les noms des clés. Cependant, les clés qui devaient être devaient être changées étaient toutes liées à MuiCache. Je ne sais pas si elles ont réellement besoin d'être mises à jour. Je l'ai fait juste pour être m'en assurer.
  16. Déconnexion. Connectez-vous à nouveau avec le même utilisateur. Répétez l'étape 14 jusqu'à ce qu'il jusqu'à ce qu'il n'y ait plus rien à remplacer. Le site raison de cette étape est que lors de déconnexion, certains programmes semblent mettre à jour le registre en utilisant l'ancien nom d'utilisateur de l'utilisateur.
  17. Exécutez regedit.exe et recherchez le chemin du profil utilisateur d'origine. vérifiez qu'il n'existe pas. Le site raison de cette étape est que (comme l'étape 13), je n'ai fait confiance à aucune des des programmes de recherche et de remplacement du registre que j'ai utilisé. J'ai fini par avoir besoin de de mettre à jour une douzaine de clés et valeurs manuellement, car le programme de recherche et remplacement les avaient manquées.
  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 renommer C:\Users à C:\~Users).
  19. Déconnexion. Connectez-vous à nouveau en tant qu'utilisateur habituel. Tout devrait être fonctionner correctement, sauf pour les programmes qui utilisent un emplacement de profil utilisateur emplacement.
  20. Il existe deux méthodes simples pour trouver des programmes qui utilisent un emplacement de profil "codé en dur" et qui sont recherchent toujours le chemin d'accès original d'origine. Vous pouvez utiliser la méthode l'astuce procexp.exe mentionnée ci-dessus et rechercher les poignées dans l'emplacement original l'emplacement du profil d'origine. Vous pouvez également surveiller l'emplacement du profil original pour voir si de nouveaux dossiers ou fichiers ont été créés. Par exemple, dans mon cas, FolderShare a créé des dossiers et des fichiers et des fichiers dans le répertoire C:\Users\MyUsername\AppData\Local\FolderShare. Donc, j'ai mis à jour les paramètres de FolderShare pour pointer vers le chemin différent et puis j'ai supprimé le C:\Users répertoire (notez que C:\~Users existait toujours en tant que sauvegarde).
  21. Puisque vous êtes maintenant certain que toutes vos données ont été déplacées (right ??????), vous pouvez supprimer la sauvegarde du profil utilisateur d'origine (par exemple, C:\~Users).

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

Compte tenu du fait que Microsoft a fait en sorte qu'il soit si facile de changer l'emplacement des dossiers spéciaux, et si difficile de changer l'emplacement de l'ensemble de la structure des dossiers de l'utilisateur, j'aimerais conseille vivement de prendre l'approche facile .

5voto

Ivan Peevski Points 668

Voici la procédure à suivre

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

J'ai suivi les instructions de Jimmie et j'ai presque réussi. 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 le site suivant superutilisateur :

3voto

Guy Points 16718

Quelques ressources pour le déménagement "automatique C:\Users avec un script non surveillé pendant l'installation.

Microsofts a un KB avec quelques problèmes en déplaçant des dossiers spéciaux qu'il pourrait être utile de parcourir.

Lorsqu'il s'agit du script lui-même, il y a un élément appelé FolderLocations qui a un enfant ProfilesDirectory que vous pouvez spécifier comme 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 inclut la façon de gérer unattend.xml et voici la meilleure source que j'ai trouvée de l'étendu Comment déplacer des dossiers spéciaux article par Ramesh Srinivasan qui expliquent en profondeur comment faire cela et ce à quoi il faut faire attention (y compris le fait que même après que ce script non surveillé ait été exécuté, par exemple comme argument à setup.exe, il y a toujours des points de jonction comme c : \documents et les paramètres qui pointent vers l'ancien emplacement que vous devrez corriger manuellement (si possible)).

2voto

Ian Murphy Points 1329

C'est un peu tard...

Les problèmes liés au déménagement c : \users sur un autre disque peut être évité en déplaçant des profils individuels plutôt que le répertoire entier.

Si vous laissez une jonction en c : \users En reliant le nouveau répertoire, tous les chemins continuent de fonctionner, comme avec la solution de Jimmie Houts, mais je ne déplace pas les fonctions administrateur, service réseau, public, etc. de sorte que toutes les fonctions normales du système, comme la mise à jour de Windows, continuent de fonctionner normalement.

Ian

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X