Déplacement de dossiers Windows avec des liens de jonction (mklink)


23

L'espace sur mon SSD est assez faible et il semble y avoir un dossier de 19 Go dans Windows qui dépasse (% windir% \ Installer) et ne peut pas être supprimé en toute sécurité (comme expliqué ici: /server//q/15746 ).

Maintenant, le mklinkfournit une petite chose intéressante appelée liens de jonction - si je démarre dans l'invite cmd, et déplace tous les fichiers vers l'autre disque dur, puis exécutez ceci:

mklink /J C:\Windows\Installer D:\Windows\Installer

Vais-je gâcher mon Windows d'une manière ou d'une autre, ou est-ce une chose correcte à faire? Les autorisations / attributs de dossier resteront-ils les mêmes sur le lien?

J'ai déjà utilisé des liens durs, et cela a fonctionné comme un charme libérant considérablement mon SSD, mais je ne l'ai jamais essayé sur les dossiers système (je ne vois pas pourquoi cela ne fonctionnerait pas, mais je ne suis pas dans le humeur de réinstaller des fenêtres entières au cas où je me trompe)


Ce sera déconner. J'ai fait exactement cela et après l'installation d'un logiciel comme Ramdisk. Idem avec mklink / J et / D, ne déplaçant le dossier que pour me laisser terminer l'installation. Peut-être aussi que mes mises à jour Windows avaient des problèmes.
Cmazay

Réponses:


29

OK, j'ai pris le risque et ça valait le coup - tout fonctionne normalement, mais j'ai libéré les 17 Go sur mon SSD maintenant.

Fondamentalement, les étapes sont les suivantes:

  1. Redémarrez votre PC, appuyez continuellement sur F8 pour faire apparaître le menu de démarrage et choisissez «Invite de commandes avec mode sans échec» (c'est pour vous assurer que vous pouvez déplacer le dossier Windows)
  2. Une fois l'invite de commande affichée, tapez la commande pour déplacer le dossier vers un autre lecteur:
    robocopy C:\Windows\Installer D:\Windows\Installer /MOVE /e
  3. Ensuite, créez un lien "Junction" pour le dossier manquant:
    mklink /J C:\Windows\Installer D:\Windows\Installer

Bien sûr, cela suppose que votre% WINDIR% est C: \ Windows, que votre lecteur D est celui avec plus d'espace, que vous souhaitez que votre destination dans "D: \ Windows \ Installer" (ce pourrait être n'importe quel dossier, juste être cohérent) etc ...

Cela devrait faire l'affaire.


cela fonctionne-t-il dans Windows 10?
Syaiful Nizam Yahya

Cela devrait - toutes les informations s'appliquent toujours à l'AFAIK. Si vous l'essayez, faites-nous savoir comment cela s'est passé!
veljkoz

A travaillé sur Windows 8 - très génial, merci.
Dunc

1
Fonctionné sur Windows 7!
glenviewjeff

3
Veuillez noter que cela peut entraîner des problèmes lors de l'installation des mises à jour majeures de Windows (telles que la mise à jour de Windows 10 Fall Creators) car la jonction sera remplacée par un dossier vide.
0xA3

3

Tout en essayant de récupérer de l' espace sur mon disque principal, un SSD de 120 Go, j'ai trouvé ces instructions sur la façon de déplacer Users, Program Files, Program Files (x86)et ProgramData. Il comprend certaines modifications du registre "pour définir les emplacements par défaut", comme suit:

  1. Remplacez les lettres de lecteur des chemins répertoriés dans HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Windows / CurrentVersion (par exemple C:\Program Files\Common Filesdeviendrait D:\Program Files\Common Files)
  2. Remplacez les variables d'environnement %SystemDrive%par le chemin du lecteur dans HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Windows NT / CurrentVersion / ProfileList (c'est %SystemDrive%\ProgramData-à- dire deviendrait D:\ProgramData)

1
Remarque: toutes les applications déjà installées peuvent toujours rechercher dans l'ancien emplacement si leurs entrées de configuration / registre pointent vers un emplacement qui a été résolu avant cette modification. La réinstallation de ces applications peut résoudre le problème.
TWiStErRob

2

J'ai pris des mesures similaires, mais je voulais pouvoir utiliser mon ordinateur pendant que je faisais la copie du fichier (mon dossier était de 40 Go).

  1. Copiez manuellement le dossier dans F: \ Installer
  2. J'utilise Windows 8.1, donc pour accéder à un démarrage en ligne de commande, j'ai maintenu la touche Maj enfoncée tout en cliquant sur Redémarrer, puis sur Avancé
  3. Une fois dans la ligne de commande, j'ai dû déterminer la lettre de lecteur à utiliser (ce n'était pas C: même si c'est mon% SystemDrive% lorsque mon système d'exploitation est complètement démarré). J'ai dû utiliser echo list volume | diskpartpour découvrir que le lecteur C: était maintenant appelé E: et que le lecteur F: était toujours le lecteur F:
  4. J'ai supprimé les attributs cachés et système sur E: \ Windows \ Installer avec attrib -s -h E:\Windows\Installeret l' ai renommé avecrename "E:\Windows\Installer" "Installer_old"
  5. Je pourrais alors créer la jonction avec mklink /J E:\Windows\Installer F:\Installer

2

Vous pouvez utiliser la même astuce pour pagefile.sys et swapfile.sys (je ne sais pas si c'est aussi pour hiberfile.sys, non testé car je déteste hiberner sur le multi-démarrage).

Assurez-vous simplement de désactiver le ram virtuel et de redémarrer avant de créer les liens symboliques, puis après les avoir réactivés, réactivez le ram virtuel.

J'ai tendance à créer (avec le bloc-notes) un fichier vide sur le destin du lien avant de créer le lien.

Rappelez-vous: lorsque Windows10 UpGrade supprimera les liens et mettra de vrais fichiers, après UpGrades, vous pouvez répéter le processus.

Fonctionne jusqu'à Windows 10 version 1803.48, depuis WindowsXP (le plus ancien que j'ai essayé).


si vous ne voulez pas l'hibernation, désactivez-la à la powercfg -h offplace. L'utilisation de liens sur ces fichiers sonne comme une recette sûre en cas de catastrophe
NiKiZe

Pourquoi prendre la peine de bouger / échanger avec son contenu TEMPORAIRE que vous ne voulez pas conserver si vous pouvez simplement le désactiver sur un lecteur et l'activer sur un autre?
Oleg V. Volkov

0
  1. Copiez C:\Windows\Installersur un autre disque tel que D:\C\Windows\Installer.
  2. Vérifiez et comparez les tailles des deux dossiers si le répertoire source sur C:n'a pas été modifié pendant la copie.
  3. Renommer le dossier sur le disque C:, par exemple Installer=>InstallerX
  4. Exécutez la commande en tant qu'administrateur et lancez exécuter cette commande:
    • mklink /d C:\Windows\Installer D:\C\Windows\Installer
  5. Attendez un peu (quelques jours) si tout va bien.
    • Si oui, vous pouvez supprimer la sauvegarde du dossier C:\Windows\InstallerX.
    • Si non, supprimez symboliquement le dossier C:\Windows\Installeret renommez- InstallerXle Installer, ou recopiez le dossier D:\C\Windows\Installerdans C:\Windows\Installer.

Cela duplique une autre réponse et n'ajoute aucun nouveau contenu. Veuillez ne pas poster de réponse à moins que vous ayez réellement quelque chose de nouveau à apporter.
DavidPostill
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.