Le piège à con du jour : grub et ext3

March 18, 2011 by nono
Catégories geekeries - Mots-clés ext3 grub

Un bug à la con qui m'a bloqué pendant une journée, bon à savoir.

J'avais un serveur sous Linux au disque dur un peu malade (quand smartctl arrête de compter les blocs défectueux parce qu'il y en a trop, c'est «un peu» malade) et pas trop moyen de l'arrêter une heure le temps de réinstaller l'OS sur un disque vierge. Qu'à cela ne tienne : je branche le nouveau disque sur une autre machine, j'y recopie le système (les données étaient sur des disques intacts), plus qu'à changer le disque, booter sur un CD et installer grub. Durée prévisible de la manip : un quart d'heure en comptant large.

Sauf qu'au dernier moment, pas moyen d'installer grub : monsieur se plaignait de ne pas trouver le fichier /boot/grub/stage1. Pourtant il était là, ce fichier, pas de raison qu'il ait bougé, et il était bien identique à celui d'une machine en état de marche.

Finalement, la clé de l'énigme est là :

[root@carrosse ~]# dumpe2fs /dev/sda1 | grep -i inode.size
dumpe2fs 1.41.12 (17-May-2010)
Inode size:               256

Sur une Fedora récente, par défaut, mkfs.ext3 crée les systèmes de fichiers ext3 avec des i-noeuds de 256 octets. Or mon serveur tourne sous CentOS 5, qui utilise par défaut des i-noeuds de 128 octets. Et bien entendu, le grub de CentOS ne sait pas lire les systèmes de fichiers «à la Fedora».

Y'a des jours, on est content de voir arriver le week-end.