Redimensionnement d’un disque NTFS / Vista en utilisant Gparted sous Ubuntu Live CD

Je suis entrain de passer sous Linux Ubuntu comme système d’exploitation de tous les jours dans mon travail, ceci à la place de Windows Vista. (dans les deux cas en x64).

J’ai un ordinateur portable Dell D820 avec deux disques durs, un de 100 Go et un deuxième dans la media bay de 80 Go. Depuis l’achat de ce portable en avril 2007, j’ai toujours eu un dual boot entre Windows et Linux Ubuntu. Ce partage a toujours été en faveur de Windows du coté des disques, Linux étant là pour des « tests » ou tentatives de basculement.

Aujourd’hui, c’est le contraire, Linux a enfin la faveur de mes disques dur. Pourtant cela n’a pas été sans mal.

En effet, sur mon disque 1 (/dev/sda), j’avais une partition de 80 Go NTFS et une partition de 11 Go Linux. Suite à deux semaines de travail avec Linux, je décide donc de donner un peu plus d’air à mon Linux pour vivre. Windows Vista étant fourni avec une fonctionnalité de redimensionnement de disque (shrink), je décide donc de faire une défragmentation de disque avec le merveilleux utilitaire gratuit Jkdefrag pour placer tous les octets utilisés au début du disque afin de pouvoir faire un redimensionnement avec le plus grand espace disponible.

Pour cela, j’ai utilisé la commande suivante : jkdefrag.exe -a5 c:

Après quelques heures, j’ai bien tous mes secteurs au début, mais il reste pas mal de bloc indéplaçables. Quelques recherches Google plus loin…

Je désactive :

  • la veille prolongée (hibernation) : en tant qu’administrateur : powercfg -h off
  • le fichier de swapping : depuis les performances Systèmes, onglet Avancée, Performances

ceci afin d’enlever ces fichiers indéplaçables.

Une nouvelle exécution de redimensionnement, toujours des secteurs indéplaçables. Une recherche Google plus poussée, j’exécute :

  • en tant qu’administrateur, un fsutil usn deletejournal /n c: pour supprimer les journaux de disque
  • un Disk Cleanup (en anglais) pour supprimer les fichiers temporaires, corbeille, etc. du disque, et dans les fonctionnalités avancés, je supprime les fichiers de restauration du système (System Restore), ce qui m’a libéré 20 Go !

Après une nouvelle exécution de jkdefrag, j’ai enfin 36 Go sur 80 Go de disponible quand je fais une recherche de taille maximale disponibles pour le redimensionnement (shrink). Après plusieurs tentatives (directement depuis Vista, depuis le dvd de Vista en mode réparation) j’ai toujours un message d’erreur (Diskpart has encountered an error: Access id denied) lors du redimensionnement avec l’utilitaire graphique de Vista ou le programme Diskpart du mode réparation. Certainement dû à une histoire de $Bitmap sur le disque…

Je me dis que la solution est un utilitaire de partitionnement digne de ce nom. Malheureusement Partition Magic ne semble pas être compatible avec Vista x64, je trouve donc Paragon Partition Manager. Ce programme permettant un lancement depuis un cdrom bootable, je grave un cd et lance un redimensionnement… Malheur, après le redémarrage de la machine, le disque Vista / NTFS est corrompu, le GRUB ne marche plus, je ne peux ni démarrage sous Windows, ni sous Linux…

Bon, d’une part j’ai un backup de Vista sur un disque (et oui, je ne suis pas fou) et d’autre, j’ai un Live CD de Ubuntu.

Une tentative depuis le Live CD, de réinstallation de Grub ne marche pas, le disque Ntfs/Vista est vraiment out. Il ne me reste plus qu’à restaurer Vista sur le disque. Là, il faut le dire, aucun problème.

Après la restauration, une suppression du MBR via le dvd vista, et la commande « bootrec.exe /fixmbr » je retrouve mon Vista.

Ensuite je relance mon Live CD Ubuntu pour réinstaller Grub, et j’en profite pour tester l’outil de redimensionnement livré avec Ubuntu : Gparted (Partion Editor).

Le bonheur, car il permet de redimensionner une partition NTFS. J’ai demandé 45 Go en plus, et environ 2h30 après, cela était fait.

Après j’ai rencontré le problème (classique) du redémarrage Vista, rapidement réglé avec une réparation automatique, et un chkdsk plus tard (voir ce lien), je pouvais booter sur Vista.

La dernière étape a été d’agrandir ma partition Linux, toujours avec Gparted. Sans problème bien sur.

Voici le résultat :

$ sudo fdisk -l /dev/sda
Disk /dev/sda: 100.0 GB, 100030242816 bytes
255 heads, 63 sectors/track, 12161 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x98000000
Device Boot      Start         End     Blocks   Id  System
/dev/sda1               1          12      96358+  de  Dell Utility
/dev/sda2              13         274    2097152   17  Hidden HPFS/NTFS
Partition 2 does not end on cylinder boundary.
/dev/sda3   *         275        4931 37407352+   7  HPFS/NTFS
/dev/sda4            4932       12161 58074975    5  Extended
/dev/sda5            4932       12161 58074943+  83  Linux

Je vais enfin pourvoir mettre un serveur Vmware sous mon Linux pour exécuter un Windows (oui je sais c’est bizarre). C’est pour utiliser certains logiciels dont je n’ai pas encore trouver de remplaçants sous Linux ou que le remplaçant trouver n’est pas encore bien assimilé par moi, en particulier Project, Money, Lightroom.