Archives mensuelles : avril 2016

Optimiser espace disponible pour réduction de partition Windows.

La problématique:

Contourner la restriction du gestionnaire de disque de Windows qui refuse de réduire une partition au-delà d’une certaine limite.

Avec Windows 7, 8 ou 10, on peut avoir besoin de réduire le volume C:\Windows afin de créer une partition de données, ou même installer un autre système en dual-boot. La démonstration va être faite avec un W10 Virtuel dont le disque C est très « encombré ».

Depuis XP, Microsoft propose un gestionnaire de disque qui permet de manipuler les partitions de manière plutôt sécurisée. On clique droit sur « Ce-PC », puis « gérer », puis « gestion de disque ». On accède ainsi à un outil graphique permettant de gérer les partitions. Ici, je vais tenter de réduire la partition de C de 19,38 Gio.

Mon image

L’idée est de réduire la partition C, même si, on va le voir, il reste fort peu d’espace disponible.

Or, Windows a la malencontreuse tendance à occuper plus d’espace qu’il ne lui en faut, en plaçant certains fichiers systèmes sur des secteurs placés en fin de partition. Le cas extrême est le suivant :

Mon image

On constate que, bien qu’il reste 2,72 Gio disponibles, le gestionnaire de disque signale qu’il est impossible de réduire la partition. Certains utilisateurs vont se tourner alors vers des logiciels tiers ou carrément des outils Linux comme gparted, mais on n’est jamais sûr des manipulations qu’ils vont effectuer. Donc, on va résoudre le problème avec Windows lui-même.

Première opération: désactiver l’hibernation

Suppression temporaire du fichier d’hibernation « hiberfil.sys ». Souvent, il est placé sur des secteurs stratégiques. On va utiliser le plus simple, l’invite de commandes, qu’on va lancer en mode administrateur avec la combinaison de touches « windows et x ». Là, on tapera la commande

powercfg -h off

La commande va désactiver l’hibernation en supprimant le fichier en question. C’est plus propre qu’une suppression directe du fichier.

Mon image

La commande dir /a:hs c:\hib* permet de vérifier que le fichier n’existe plus.

Seconde opération : le swap de Windows.

Le fichier pagefile.sys pose le même problème. Outre le fait qu’il enfle énormément, il occupe lui aussi des secteurs stratégiques. On peut soit le supprimer (très déconseillé), le déplacer, ou encore le réinitialiser. J’ai choisi de le déplacer pour cette démonstration.

Pour ce faire, on clique droit sur « Ce-PC », « propriétés », « paramètres systèmes avancés », puis dans la fenêtre que s’est ouverte, dans l’espace « performances », on choisit à nouveau « paramètres », puis l’onglet avancé. Dans la ligne « mémoire virtuelle », on choisit « modifier ».

Mon image

On va pouvoir modifier la façon dont est géré le swap dans Windows. Dans mon cas, je choisis de déplacer le Swap de C vers F.

  • En premier lieu, je sélectionne le volume C, puis « aucun fichier d’échange » et « définir ». Je n’ai provisoirement plus de Swap.
  • En second lieu, je sélectionne le volume F, puis « taille gérée par le système » ou « taille personnalisée » (mon exemple) et je valide à nouveau par définir (ici, j’ai choisi 580 Mio de taille initiale, et 1 Gio Maxi » (mon PC étant virtuel, je n’ai pas besoin de plus).

Le résultat est le suivant :

Mon image

Le système m’invite à redémarrer pour valider les modifications. Je vais pouvoir vérifier au démarrage suivant si ma partition est maintenant redimensionnable. Et en effet :

Mon image

J’ai bien un espace de 2,9 Gio qui m’est proposé. L’augmentation de la taille de 2,72 à 2,9 s’explique par le déplacement de pagefile.sys vers F. Le fichier hiberfil.sys n’existait pas initialement sur ce disque virtuel : la commande a été proposée pour la démonstration.

Il ne reste plus qu’à réduire la partition comme on le souhaite, et éventuellement, à réactiver hiberfil.sys par la même commande en remplaçant « off » par « on ». Idem pour pagefile.sys qu’on peut remettre sur C, si on le souhaite et qu’on a l’espace suffisant pour cela.

Opérations subsidiaires :

1. On peut réinitialiser le swap à chaque démarrage du PC pour gain de place en modifiant via « regedit » la clé suivante :

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

La clé « ClearPageFileAtShutdown » sera passée à la valeur 1 :

Mon image

2. Désactiver les points de restauration. Ils peuvent eux aussi être positionnés sur des secteurs placés en milieu ou en fin de partition. Sur W10, ils sont souvent désactivés par défaut (car ils sont peu utiles), mais sous W8 et W7, ce n’est pas le cas :

Mon image

 

La suppression des points de restauration reste déconseillée sur les systèmes antérieurs à W10. Si on veut le faire, il sera plus sûr de récupérer le registre au préalable d’une manière ou d’une autre. Et on n’oubliera pas de les réactiver ensuite.