Artisan Numérique

/système/stockage/parted/système de fichier/ parted est bien magique...

Même à l'époque lointaine où j'utilisais windows, j'ai toujours eu le mauvais œil dés qu'il a s'agit de modifier la taille d'une partition. Même PartitionMagic réputé totalement fiable devenait un véritable désastre une fois placé dans mes mains. Et puis, jamais de backup hein. Car entre nous, qu'elle est l'intérêt s'il faut ajouter le temps d'un backup complet du disque à celui du redimensionnement ? Autant tout virer et tout recréer à partir des sauvegardes.

Bref, me revoilà donc, quelques années plus tard, cette fois avec une partition EXT4 dans une main et resize2fs dans l'autre, et en face de moi un sombre tuto qui aurait dû titrer "resize2fs, la pire des manières pour redimensionner une partition". Et donc, nouveau désastre...

resize2fs, ne redimensionne que le système de fichier...

Le super tuto que je ne vous citerais même pas m'indiquait que pour redimensionner une partition EXT4, il suffisait de taper la commande suivante :

rootresize2fs /dev/sdX ma_nouvelle_taille
La commande qui tue

Sur le coup ça semblait assez cool, j'ai donc lancé la chose et j'ai laissé faire...

Je reviens bien plus tard et enfin, après donc une bonne heure, l'outil m'annonce fièrement que le système de fichier a été réduit à la dimension désirée. Youpi ! Sauf qu'a la première tentative de montage, je me suis fait jeter comme un malpropre. En effet, ce qu'avait oublié de préciser ce tuto, c'est que seul le système de fichier avait été réduit, pas la partition qui l'héberge...

Lorsque le physique et le logique dissonent...

Qu'à cela ne tienne, je prends gparted et je diminue la taille de la partition pour obtenir l'effet désiré. Et là, kaboum, lui aussi m'envoie bouler au moment du fsck... Curieux mais encore confiant, je lance la vérification à la mano la vérification de la partition, et, en effet, ça craint plutôt du boudin...

roote2fsck -f /dev/sda1
e2fsck 1.41.14 (22-Dec-2010)
La taille du système de fichiers (selon le superbloc) est de 57147392 blocs
La taille physique du périphérique est de 55808251 blocs
Le superbloc ou la table des partitions est peut-être corrompue !
Arrêter? annulé !
Quant je vous dis que ça craint...

Et là on se dit... et me*de... Je fouille alors le net et trouve d'autres tutos qui eux m'expliquent que pas de soucis, il suffit de relancer resize2fs avec l'ancienne taille pour que tout revienne comme avant. Ça semble logique, et pourtant :

rootresize2fs -f /dev/xxx mon_ancienne_taille
resize2fs: Can't read an block bitmap while trying to resize /dev/xxx
Please run 'e2fsck -fy /dev/xxxx' to fix the filesystem after the aborted resize operation.
de pire en pire...

J'ai horreur quant ça se met à boucler comme cela. Ça commence à sentir sérieusement la nuit blanche...

parted à la rescousse...

Je me dis alors qu'au fond, une table de partitionnement, on en fait tout un plat, mais ce n'est qu'un pauvre tableau. Il me suffit donc de supprimer la partition foireuse et de la recréer à sa taille "redimensionnée" pour retrouver mes petits. Et c'est comme cela, en explorant les options de parted, que je tombe sur un truc qui sonne trop beau pour être honnête : la commande rescue qui va "restaurer une partition perdue entre DEBUT et FIN". Nuit blanche pour nuit blanche, je tente le coup :

rootparted /dev/xxxx
(parted) rm 1
(parted) rescue 0 35499
Information: Une partition ext4 primary a été localisée de 0cyl à 28458cyl. Voulez-vous l'ajouter à la table de partition ?
Oui/Yes/Non/No/Annuler/Cancel? Oui
(parted) quit
plouf?

Et là miracle, en fait la commande rescue n'a pas recréé connement une partition entre mes deux secteurs, mais a détecté le système de fichier EXT4, a détecté la taille déclarée dans son superbloc, et a créé la partition retaillée, telle qu'elle aurait du l'être à l'origine. Et j'ai pu remonter cette nouvelle partition tranquillement sans l'ombre d'une erreur...

Conclusion

Alors tout ceci n'est pas un tuto pour vous conseiller de redimensionner une partition avec resize2fs + parted/rescue, bien évidemment. Mais on ne sait jamais, si d'autres ont eu la même mésaventure que moi, cela peut eux aussi leur sauver quelques heures de sommeil.

Maintenant si vous voulez redimensionner une partition, je ne saurais que trop fortement vous conseiller d’utiliser plutôt la version "liveCD" de gParted qui fera cela avec beaucoup plus de sécurité.