Vmware ESX 3.X – Récupération d’un grub défaillant

Categories: Sysadmin, Vmware
Tags: No Tags
Comments: No Comments
Published on: 8 octobre 2011

Peut-être cela vous est-il déjà arrivé lors d’une intervention sur vos serveur ESX, vous effectuez une mise à jour logicielle ou un ajout matériel et au redémarrage vous vous retrouvez avec un serveur qui ne démarre plus.  J’ai déjà vécu cette expérience et heureusement que ma connaissance de base de linux m’a sauvé la vie (et celle de mon équipe)!

Dans le cas où le « bootloader » n’est pas fonctionnel et que vous arrivez à une fenêtre semblable à :

 grub>

 

TAB va vous afficher toutes les commandes possibles ce qui ne nous avance pas beaucoup.

Il faut tout d’abord trouver sur quelle partition se situe notre fichier grub.conf et notre fichier stage1 :

grub> find /boot/grub/grub.conf
grub> find /grub/grub.conf
grub> find /boot/grub/stage1
grub> find /grub/stage1

 

Si le fichier n’est pas trouvé il affichera quelque chose comme « File not Found », sinon il affichera la partition où se trouve le fichier sous la forme hd(X,Y) où X est le numéro du disque et où Y est le numéro de la partition sur le disque X.

Habituellement avec vmware ESX, la partition /boot est hd(0,0) et la partition / est hd(0,1).

Pour tenter de récupérer, il faut « entrer » dans la partition contenant les fichiers grub et lancer une commande setup :

grub> root (hd0,0)
grub> setup (hd0)

 

Et on redémarre avec :

grub> quit
grub> reboot

 

Au redémarrage on va voir si cela a marché.  Dans le cas contraire il faut entrer les commandes manuelles pour booter le bon kernel avec les bons paramètres.  Le fichier grub.conf d’un autre serveur esx identique (version et type de serveur) peut nous donner un bon indice des paramètres à entrer.  Sur un serveur fonctionnel, les fichiers doivent être dans /boot/grub.  Les commentaires dans le haut du fichier nous permettrons d’ajuster le tir.

 

Donc pour relancer le démarrage il faut entrer ces commandes :

grub> root (hd0,0)
grub> uppermem 277504
grub> kernel --no-mem-option /vmlinuz-2.4.21-37.0.2.ELvmnix ro root=/dev/cciss/c0d0p2 mem=272M cpci:1:;2:;
grub> initrd /initrd-2.4.21-37.0.2.ELvmnix.img
grub> boot

 

La version du kernel vmlinuz et du initrd peut varier en function des mises à jours et des versions de ESX. L’option root=……… est initialement un UUID unique généré à l’installation et son équivalent est noté dans les commentaires du fichier grub.conf.  Autrement pour le trouver, il faut chercher le fichier fstab et voir son contenu :

grub> find /etc/fstab
grub> root (hd0,X)  # où X est la partition affichée par le résultat du find
grub> cat /etc/fstab

 

On cherche alors le UUID de la partition « / »

 

Si le démarrage ne fonctionne pas, vérifiez les paramètres et essayez quelques variations.  Si rien ne fonctionne, alors prenez le cd d’installation de ESX et démarrer dessus.  Vérifiez le contenu avec Test et ensuite entrez dans l’installateur et choisissez l’option upgrade pour réinstaller les paquets sans modifier les configurations.  Avec cette option, le système va réinstaller le « bootloader » sans rien détruire de la configuration actuelle.

No TweetBacks yet. (Be the first to Tweet this post)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Welcome , today is mercredi, 11 décembre 2019