Quelques utilisateurs de Windows, en particulier ceux ayant un disque SSD de faible capacité avec le système dessus auraient souhaité pouvoir déplacer le répertoire Utilisateurs (ou Users) vers un autre disque. Cela afin d'alléger la place sur le disque mais aussi d'optimiser ses performances en évitant les lectures/écritures sur le même disque ce qui du coup rallonge sa durée de vie mais aussi de pouvoir garder ses paramètres lors d'une nouvelle installation toute fraîche.
Alors certains diront que ce n'est pas très utile mais je trouve que la plus-value réside dans le fait d'avoir ses fichiers ailleurs lors d'une nouvelle installation.
Pour ceux qui sont curieux ou souhaitent déplacer ce répertoire, c'est parti on s'lance! Étant donné que j'ai format mon système il y a quelques heures et mis en place le répertoire Utilisateurs sur un autre disque c'est encore tout frais
Dans mon exemple je vais partir d'une installation fraîche mais vous pouvez très bien le faire sur votre système déjà installé. Je vous recommande juste de créer un point de restauration avant de commencer quoique ce soit.
Commencez par mettre le DVD d'installation dans votre lecteur, redémarrez votre machine et bootez sur le lecteur DVD.
Lorsque vous arrivez sur l'écran qui vous demande le type d'installation que vous souhaitez effectuer, choisissez Personnalisée (option avancée).
Sur l'interface de gestion des disques, vous aurez deux disques ou plus. Dans cet exemple, le disque 0 sera le disque système ou sera installé Windows et le disque 1 celui où sera déplacé le répertoire Utilisateurs. Commençons par installer Windows sur le disque 0 en le sélectionnant puis en cliquant sur Suivant.
Au moment où l'installation vous demande d'entrer un nom d'utilisateur, appuyez sur SHIFT+F10 pour ouvrir l'invite de commandes.
Entrez compmgmt.msc pour ouvrir la gestion de l'ordinateur et dirigez-vous vers le gestionnaire de disques afin de connaître les lettres des lecteurs et les changer si besoin. Si vous avez oublié de formater votre deuxième disque, c'est aussi une bonne occasion de le faire.
Dans cet exemple nous avons :
- Disque 0 qui a pour lettre C: et qui contient le système d'exploitation.
- Disque 1 qui a pour lettre E: et où sera déplacé le répertoire Utilisateurs.
Fermez maintenant la fenêtre de gestion de l'ordinateur et revenons sur l'invite de commandes.
Nous allons maintenant entrer les commandes qui vont nous permettre de déplacer le répertoire Utilisateurs (Users) du disque C vers le disque E. La première fera la copie et la deuxième créera un lien symbolique de l'ancien répertoire vers le nouveau.
Commencez par entrer cette commande pour déplacer le répertoire :
robocopy /copyall /mir /xj C:\Users E:\Users
Il vous paraît sans doute bizarre de voir Users au lieu de Utilisateurs mais c'est tout à fait normal.
/mir permet de faire un miroir des répertoires, c'est-à-dire copier tous les fichiers et permissions.
/xj est très important! Il dit à robocopy de ne pas copier les points de jonction. N'oubliez pas ce paramètre sinon ça va déconner.
Ça va vous afficher un beau gratin d'informations. Vérifiez qu'il n'y a aucun échec en regardant dans la colonne des résultats. Vous pouvez effectuer la même action avec le répertoire caché ProgramData qui se trouve à la racine de votre Disque C pour le déplacer vers le Disque E :
robocopy /copyall /mir /xj C:\ProgramData E:\ProgramData
A partir d'ici, on dira que vous avez aussi déplacé le répertoire ProgramData. Si ce n'est pas le cas, n'entrez pas les commandes citées plus bas correspondant à ProgramData!
Maintenant on va supprimer les anciens répertoires en entrant cette commande :
rmdir /S /Q C:\Users rmdir /S /Q C:\ProgramData
Si vous avez des erreurs comme ici lors de la suppression du répertoire ProgramData, vous pourrez recommencer lors du redémarrage de votre ordinateur.
On va maintenant créer un lien symbolique (ou jonction NTFS) des anciens répertoires vers les nouveaux en tapant comme commandes :
mklink /J C:\Users E:\Users mklink /J C:\ProgramData E:\ProgramData
Si vous aviez eu une erreur lors de la suppression du répertoire ProgramData, normalement le link ne peut pas être créé. Vous le ferez après avoir supprimé le répertoire au prochain redémarrage.
On va maintenant modifier quelques valeurs de la base de registre. Tapez dans l'invite de commandes regedit puis allez dans le chemin :
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProfileList
Modifiez les valeurs suivantes en remplaçant %SystemDrive% par E:
- Default > E:\Users\Default
- ProfilesDirectory > E:\Users
- ProgramData > E:\ProgramData
- Public > E:\Users\Public
Une fois que c'est fait, fermez la base de registre, l'invite de commandes et terminez l'installation de Windows là ou vous l'aviez arrêté.
Comme vous pouvez le voir c'est presque tout bon, il manque le répertoire ProgramData à supprimer du Disque C. Le répertoire Users que vous voyez sur le Disque C est le lien symbolique qui pointe vers le lecteur E. Ne vous amusez pas à le supprimer hein
Maintenant vous avez juste à redémarrer votre machine, supprimer le répertoire ProgramData du disque C, puis créer un lien symbolique en tapant mklink /J C:\ProgramData E:\ProgramData et là ce sera tout bon
Si vous voulez lancez dans cette tâche, suivez scrupuleusement le tuto, en général j'explique assez bien et c'est souvent imagé
En espérant que ça vous serve un jour ou l'autre
lifehacker.com |
MISES A JOUR DE L'ARTICLE |
Bon tuto qui peut aider pas mal de petits Frenchies..
Moi j'avais suivi il y a qqs temps LifeHacker que tu nommes et surtout le lien tut4tech dans l'article.
Il faut juste rajouter des infos supplémentaires dans le cas d'un Seven 64 qui est de plus en plus fréquent.
Bonne journée
S.
Salut, pour windows 8 je suppose que c'est exactement la même chose, et j'avais pensé à ça car j'ai un SSD sur lequel je mets mon système, et je me disais qu'à force d'installer des applications et des jeux metro, à force ça pourrait prendre de la place. Je ne sais pas sur quel répertoire sont installés les applications et jeux metro, mais ça serait sympa de pouvoir aussi les déplacer…
Je précise que j'installe déjà mes logiciels sur un autre disque.
Je pense en effet que ça doit être la même chose, tu devrais essayer sur une machine virtuelle avant de le faire sur ton système
Malheureusement sur un système déjà installé c'est un peu plus sport! La commande robocopy copyall mir xj c:.. D: Donne une réponse genre impossible de déplacer ntuser.dat ce process est utilisé!! J'ai essayé en mode sans échec mais c'est pareil! Avez vous une solution???
Merci pour tout
Je vais regarder ça mais je pense qu'en utilisant la console de récupération tu peux empêcher le chargement des profils car c'est cela qui fait que ça bloque lors de la copie du ntuser.dat
Essaye aussi cette commande robocopy au cas où :
robocopy /copyall /mir /xj /v /np
Effectivement tester en utilisant un cd de récuperation, et sa passe. J'aimerais savoir si il est possible de copier le profil sur un vhd et de faire le liens depuis le vhd comme sa le profil est transportable?
Super Tuto mais comme "Lejurassienfou" chez moi ça bloque ause de "impossible de déplacer ntuser.dat ce process est utilisé" et "robocopy /copyall /mir /xj /v /np" n'y change rien. Mon install date d'hier et j'aurai bien voulu déplacer ces fichiers pour aider mon ssd tout neuf
J'ai fait l'essai via la console de récupération et ça fonctionne très bien.
Il faut redémarrer votre ordinateur et juste avant que Windows démarre vous appuyez sur F8.
A ce moment-là une fenêtre apparaîtra et vous proposera de réparer windows, démarrer windows normalement ou passer en mode sans échec.
Choisissez de réparer windows.
Vous arriverez sur l'écran de réparation qui vous demandera de rentrer le mot de passe d'un de vos comptes administrateur. Une fois que c'est fait, vous aurez le choix entre plusieurs options dont une proposant l'ouverture de l'invite de commandes. Choisissez celle-ci et suivez le reste de mon tuto
Par défaut la lettre de lecteur est X:\ qui est un lecteur temporaire pour la récupération alors faites attention aux chemins!
Moi par exemple mon lecteur E est devenu le lecteur D car un de mes périphériques (lecteur DVD) n'a pas été chargé avec la console de récupération.
Par contre le lecteur C a toujours la même lettre.
Bonjour, ton tuto est génial, clair, simple, parfait.
Je voulais savoir si je veux procéder à cette échange, depuis un système déjà fonctionnel (en utilisant l'invite: robocopy /copyall /mir /xj /v /np), je dois auparavant passer par le démarrage de mon système (tout remettre à zéro) avec mon disque d'installation ou je peux le faire avec l'invite de commande depuis mon menu [Démarrer] ? Merci
bonjour alors j'ai fait le tuto donc si j'ai tout compris si plus tard je dois formater je devrait prendre a partir de la suppression de C:Users C:ProgramData vu que j'aurais deja mes fichiers sur E:.
Une autre question aussi comment supprimer une jonction qu'on vient de créer par exemple avec ProgramData (que fait exactement ce fichier, il sauvegarde les reglages que nous avaons fait ?) car vu la place qu'il prend sinon je le remetrrais bien sur mon ssd voila merci.
Bonjour,
Merci pour ce tuto!
Quelqu'un a t'il tester avec windows 8?
Je ne sais pas si le tuto fonctionne pour Windows 8 par contre voici un tuto en anglais qui fonctionne
http://www.eightforums.com/tutorials/4275-user-pro...
Alors sur Windows 8 la manip est la même mais je recommande tout de même le tuto que tu as cité jeanjean40.
Bonjour,
Je bloque à la 1ère commande " robocopy/ copyall/ mir/ xj/ C:Users D:/Users"
ERREUR : paramètre non valide #1 : "/"
J'enlève le 1er /
ERREUR paramètre non valide #4 : C:User
....
Je reformule en : "robocopy C:Users D:Users /mir /xj
J'ai aussi ERREUR 1005 ...
Que dois-je faire ??
salut
Deja très bon Tuto
Lise, il y a une différence entre "/" et " " = =/
attention pour windows 8 ne pas deplacer ProgramData
Bonjour et merci pour ce très bon tuto.
Je me pose une question... Comme /mir efface les fichiers inexistants de la source dans la destination.
Quelle est la procédure en cas de format de C: ?
moi j'aurais mis /E à la place de /mir mais je me demandais si il était utile de récupérer les infos de la nouvelle installation.
De plus en faisant un test après exécution des commandes mlink la création du user de l'installation à créée d:\Users\Login.NomDuPC au lieu d'utiliser d:\Users\Login (qui existait déjà)
J'ai donc été obligé d'écraser le dossier par le bon.
Une idée sur ce point ?
Merci.
Bonjour,
J'ai suivi le tuto et quand j'ouvre mon profile, il ne le retrouve pas "echec de l'ouverture de session par le service de profil utilisateur"
J'ai l'impression que l'editeur de registre ne prend pas en compte la redirection car quand j'y retour il me remet %SystemDrive% à la place de E:
Pouvez vous m'aider?
bonjour,
super tuto et procèdure impec.
Mais je me retrouve dans reseau avec 2 dossiers nommés "user" et "user2"
Comment résoudre cette ambiguité?
Bonjour,
D'abord Merci pour le tuto.
Voici quelques précisions pour résoudre certains problèmes.
- "échec à l'ouverture de session par le service de profil utilisateur": j'ai résolu ceci en créant un compte nommé "Admin" avec les droits ad-hoc, mon compte était de type administrateur et je l'ai mis en "standard". En mode réparation, c'est le compte Admin qui est alors utilisé. De plus c'est en principe une règle de sécurité.
- L'unité C: n'est pas C: mais D:sous le mode réparation lorsqu'une partition de 100Mo a été créée à l'installation de Seven, et D: devient E: Il faut par conséquent créer le lien de Jonction mklink /J D:\Users E:\Users pour que le lien soit correct par la suite.
Bonne manip.
bonjour
j'ai suivi le tuto pour deplacer user mais au moment de changer ds le registre je ne trouve pas:
Default > E:\Users\Default
ProfilesDirectory > E:\Users
ProgramData > E:\ProgramData
Public > E:\Users\Public
j'ai seulement trouve profileimagepath ou j'ai remplace c:\users par d:\users
apres impossible de demarrer il me met imposssible de charger profil utilisateur.....
quelqu'un a t il une idee
merci
LA manip doit se faire en mode Invite de commande mais F8 ne fonctionne plus sous Win 8. Il faut passer par un menu spécial depuis la session de l'user :
1/ Win i pour accéder au paramétrage du PC : cliquer sur "Modifier les paramètres du PC" tout en bas
2/ Dans la fenêtre qu s'affiche choisir la rubrique Générale puis dans la zone de droite aller tout en bas dans la zone Démarrage avancé cliquer sur Redémarrer maintenant
3/ Le PC reboot et affiche un beau menu sur fond bleu clair. Choisir Dépannage puis Options avancées puis Invite de commandes
4/ cliquer sur un compte admin, choisir la bonne langue du clavier, saisir le mot de passe et valider
5/ robocopy /copyall /mir /xj C:Users F:Users
6/ supprimer ensuite le dossier C:Users
rd /S /Q C:Users
7/ Créer le point de joncture : mklink /J C:Users F:Users
8/ Regedit puis aller dans HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
et modifier les chemins (ex : F:Users comme nouveau chemin)
9/ Taper exit puis clic sur éteindre le PC et le rallumer
Bonsoir,
Pour répondre au problème que j'ai également eu avec le message d'erreur "echec de l'ouverture de session par le service de profil utilisateur". Celui ci Il est apparu parce que à la première tentative de login je n'avais pas mis les bon mklink du coup windows a créé un compte utilisateur temporaire et a désactivé le compte initial. Il faut aller dans HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList trouver dans la liste des comptes les doublons de dossier avec .bak (qui correspond en fait au profile désactivé) Il doit normalement avoir les même sans .bak ...
Après etre sûr de cette fois ci de vos mklink suivre la procédure:
1- Sauvegarder votre regedit
2- il faut faire un tour de passe passe en renommant le dossier de ceux sans la mention .bak (par exemple) :
S-1-5-21-XXXXXXXXXXXX-1000 (étant le profil temporaire)
le renommer en
S-1-5-21-XXXXXXXXXXXX-1000tempo
et celui similaire avec .bak
S-1-5-21-XXXXXXXXXXXX-1000.bak
le renommer en
S-1-5-21-XXXXXXXXXXXX-1000
et refaire sur le
S-1-5-21-3227259421-2747062599-2838262078-1000tempo
le renommer en
S-1-5-21-3227259421-2747062599-2838262078-1000.bak
Faire ça sur tous les profile normalement actif auparavant sur vos machines.
3- Redémarrer l'ordi
4- Loguez vous normalement
Ca a fonctionné pour moi
Bonne soirée
Bonjour à tous,
J'ai suivi le tuto mais je rencontre un problème au moment de faire la jonction NTFS (pas pour programData mais Users), il me renvoie : "impossible de créer un fichier déjà existant".
J'ai pourtant exécuter la commande : rmdir /S /Q C:Users sans erreur. J'ai même redémarré mais cela ne change rien...
La jonction ne passe pas et du coup, je ne peux pas ouvrir mon profil, il me renvoie "impossible de charger le profil utilisateur". La solution microsoft ne fonctionne pas pour mon problème car cela vient du faire que ma jonction NTFS n'est pas passée.
Dois-je supprimer le dossier "utilisateurs" présent dans le C: ou existe-t-il une solution à ce problème ?
Bonjour Luke,
Essai:
rmdir /S /Q C:\Users
Il manque à priori un \ dans ta commande
ensuite lance mklink /J C:\Users E:\Users
Ensuite pour ton problème de profile il se peut que vu que tu as essayé de te logger avec un mauvais mklink que ton compte soit désactivé. Il faudra peut etre suivre mon post un peu plus haut.
Bon courage
Yago013
Super Tuto !!
Super explication, efficace , ça devient la norme pour un système avec SSD pour l'OS + un HDD pour l'Users.
Merci a toi pour ton Taff
Super Tuto , imprimé avant manov mais
Echec complet et retour arrière impossible, malgré exécution attentive du Tuto. Mais
je suis un syteme W7 64b Installé en RAID 0 2 disk de 150G partitionnés en 90 et 200 soit C et D
2 autres disques Sata Soit E: et F: la Commande F8 du Boot ne me donnait que le choix du Boot sur DVD ou RAid, pas de mode sans echec. J'ai donc booté sur un Dvd dit de réparation. Ok j'ai pu exécuter les commandes , mais je me suis aperçu trop tard que le D: de la deuxième Partition du RAid devenait F:
Au redemarrage je n'ai pu avoir que Profil User non trouvé. et Regedit reconsulté en nouveau demarrage reparation avait retrouvé les valeur du Profilist %systemDrive% au lieu du E:\ de chaque instruction.
je n'ai pas su supprimer la Jonction , et j'ai dû finir par perdre PragramData
Je suis bon pour reinstaller tot w7, dommage parce que placer sur un autre disque à l'abri d'une perte Raid 0 certain repertoires comme les dossiers Thunderbird était bien séduisant .
Cr@zy confirmes moi que je suis en dehors des possibilités. merci
Bonjour,
Très bon Tuto. J'avais néanmoins essayé de faire une manip similaire (hors commandes robocopy) sur les fichiers 'Program File' et 'Program Files (x86)' (chaque répertoire est remplacé par un autre chemin, avec modification dans la base des registres des différentes clefs). Ceci a fonctionner que jusqu'à récemment (une mise à jours de IE refuse finalement de s'installer). Après prise d'information, Microsoft a durcis ses règles de contrôle (et ne se base plus sur les variables incorporées à la Base des registres.
Je propose donc à tous ceux qui désirent modifiés les chemins des répertoires programmes (i.e 'Program Files', 'Program Files (x86)' et 'ProgramData') d'utiliser l'astuce suivante :
i) Créez des partitions vides sur vos disques cibles (au moins 1 par répertoire à 'déplacer'). Attention! Ces partitions prendront la place du répertoire à remplacer (cf. ci-dessous), il n'est donc pas conseillé de mettre plusieurs répertoires (à remplacr) dans la même partition. Pour la suite, vous pouvez leur attribuer une lettre de lecteur temporaire.
ii) Faite le 'robocopy' sur le contenu de chaque répertoire vers l'une des partitions (Attention! Il ne faut pas copier le répertoire directement, mais chacun de ses sous-répertoires). Conseil: n'oubliez pas d'utiliser l'option /mir pour plus de sûreté.
iii) Vous pouvez supprimer le répertoire (e.g. répertoire 'ProgramData') comme indiqué dans le tuto.
iv) Remplacez la commande de création de la jonction par une commande de point de montage (e.g. pour le répertoire 'ProgramData' depuis la nouvelle partition: diskpart assign=c:\ProgramData)
Avantage de cette méthode: le système devrait croire que l'installation est 'conforme' à l'installation de référence. Les mise à jour (de sécurité) pourront continuer à s'installer sans se préoccuper des variables incluses dans la base des registres. Tout application ne proposant pas la possibilité de sélectionner le répertoire d'installation ne sera pas installé sur le disque Système (aka de l'OS). En cas de disque SSD, celui-ci sera 'économisé' car toute requête de mise à jour (e.g. écriture) sera réalisée sur la partition du disque cible (e.g. un sata/ide de base) et non sur le SSD lui-même.
Inconvénient: Il faut copier (initialement) chaque sous-répertoire. La partition cible doit-être dédiée (et dimensionnée) pour avoir qu'un seul type de répertoire.
Par contre, dans le répertoire "ProgramData", tout au moins pour Win7, il y a des liens (répertoires avec des cadenas) qui ne sont pas copier, même en utilisant la commande "robocopy /copyall /mir /xj C:\ProgramData D:\ProgramData" en mode "réparation".
Comment faire pour les copier quand même sachant qu'ils doivent certainement assurer la compatibilité avec les programmes qui ne sont pas conçu pour Win7?
Est ce que c'est le rôle de la commande "mklink /J C:\ProgramData D:\ProgramData"?
Bonjour à tous,
Le déplacement du répertoire users fonctionne parfaitement.
En revanche, j'ai remarqué que tous les nouveaux documents étaient copiés dans les 2 dossiers de profil sur les 2 partitions en mode miroir.
Quelqu'un à t'il aussi constaté ça ?
De fait, l’intérêt du déplacement me semble limité.
Merci d'avance pour vos conseils
Non c'est ce qu'on appelle un symlink. Pour résumé, le dossier présent auparavant dans C:\Users est un raccourci vers le répertoire que tu as donné mais sans redirection. Cela fonctionne comme une redirection silencieuse si tu veux.
Merci Cr@zy
Je pensais que cette manip permettait de déplacer complètement le dossier de profil et que le lien symbolique n'était là que pour le bon fonctionnement de win7.
Pour moi l’intérêt principal est de ne jamais saturer ma partition système et de pouvoir la réinstaller sans toucher à mes données.
Là j'ai un miroir de répertoire qui font la même taille !
Petite précision : le déplacement est configuré depuis une nouvelle installation de win7 et le dossier users a été créé ensuite. C'est à ce moment là que j'ai constaté sa présence sur mes 2 partitions avec une taille similaire.
Bonjour,
Déplacer le dossier ProgramData ne gêne-t-il pas les mises à jour Windows ?
Si l'on réinstalle Windows plus tard, il suffit de supprimer le dossier Users de la nouvelle installation et de faire un mklink entre C: et E: ?
Merci pour ce tuto, c'est bien expliqué
Bonsoir à tous,
Pour ma pomme, je suis dans le cas : Déplacement des dossiers après installation de Seven.
Ce qui ma fait suivre la méthode ci dessus, en récupération.
Niveau config, j'ai un SSD corsaire (le C:\ où j'ai installé Seven), et un DD 1To (le T:\).
Je bloque à la première ligne : robocopy \copyall \mir \xj C:\Users T:\Users
Il me sort qu'il ne trouve pas le chemin de destination, le T:\.
Apparemment, comme tu as dis Cr@zy, il y aurai des soucis de changement de lettre pour les disques à cause du X:\..
Ma question est simple, comment trouver la bonne lettre ? La commande compmgmt.msc ne fonctionne pas en récup.
J'ai tout de même essayé toutes les lettres (celles proposées lorsque l'on installe un disque), rien n'y fait.
Accessoirement, le D:\ correspond a mon lecteur de disque apparemment.
Accessoirement 2, j'ai essayé la solution en invite de cmd sans échec, échec. Idem pour la solution ''directe'', en cmd normale.
Merci d'avance !
Si on a déjà fait cette opération et qu'ensuite suite a un problème on réinstalle Windows 7. Il n'y aura pas des conflit des fichier de config ou autre ? Vu que User serai déjà quelque part autre que dans le C ?
Bonjour,
Merci pour ce tuto que j'ai suivi pour l'installation de Windows 7 Edition Intégrale x64 sur un SSD. Maintenant, je souhaiterai mettre à jour vers Windows 8 Pro x64 et donc je me pose une question.
Mes liens symboliques (dossier utilisateur et programdata) fonctionneront-ils toujours après la mise à jour ?
Cordialement.
Bonjour à tous,
me promenant sur le blog, je me permets de vous proposer ce lien :
PositionDefaultFolderModular-ML-S script écrit par Alain Quarré permettant de déplacer le répertoire utilisateur que j'ai utilisé sur win7 pro avant de lire cet article.
Cordialement