Le problème
Le système est bloqué à l'invite grub> comme indiqué ci-dessous.
Comment se remettre d'une telle situation.
La solution
Lorsque vous obtenez l'erreur ci-dessus, dans la plupart des cas, vous avez une partition de démarrage corrompue.
1. Pour résoudre le problème, exécutez à partir de la ligne de commande grub :
grub> find /grub/stage1 find /grub/stage1 (hd0,0)
La commande ci-dessus recherchera stage1 (stage1 est placé dans le MBR et plus tard lu par le BIOS), cela indiquera où réside exactement la partition de démarrage, dans ce cas son hd0,0.
2. Restaurez la partition de démarrage sur hd0,0 (première partition sur le premier disque) comme dans l'exemple ci-dessus à partir de la commande find.
grub> root (hd0,0) Filesystem type is ext4fs, partition type 0x83
3. Ensuite, configurez grub sur le premier disque (hd0) - comme dans l'exemple ci-dessus, l'étape de démarrage 1 est située sur hd0.
grub>setup (hd0) Checking if "/boot/grub/stage1" exists... yes Checking if "/boot/grub/stage2" exists... yes Checking if "/boot/grub/e2fs_stage1_5" exists... yes Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 15 sectors are embedded. succeeded Running "install /boot/grub/stage1 d (hd0) (hd0)1+15 p (hd0,1)/boot/grub/stage 2 /boot/grub/menu.lst"... succeeded Done.
4. Une fois la commande réussie, redémarrez le serveur.
grub> reboot
Vérifiez si le système démarre maintenant sans aucun problème.
Dépannage supplémentaire
Si le problème persiste et que le système s'arrête à nouveau sur la ligne de commande grub, vérifiez si grub.conf est présent et contient les valeurs appropriées :
grub> find (hd0,0)/grub/grub.conf find (hd0,0)/grub/grub.conf (hd0,0)
grub> cat (hd0,0)/grub/grub.conf cat (hd0,0)/grub/grub.conf # grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/mapper/vg_lnxovmsan2076-lv_root # initrd /initrd-[generic-]version.img #boot=/dev/sda default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title Oracle Linux Server Unbreakable Enterprise Kernel (3.8.13-16.2.1.el6uek.x86_64) root (hd0,0) kernel /vmlinuz-3.8.13-16.2.1.el6uek.x86_64 ro root=/dev/mapper/vg_root-lv_root rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=uk LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 rd_LVM_LV=vg_root/lv_root rd_LVM_LV=vg_root/lv_swap rd_NO_DM rhgb quiet crashkernel=256M@64M initrd /initramfs-3.8.13-16.2.1.el6uek.x86_64.img [Hit return to continue]
Si un problème est détecté avec les paramètres de démarrage du noyau, vous pouvez fournir manuellement les chaînes de démarrage du noyau :
grub> linux /boot/vmlinuz-3.8.13-16.2.1.el6uek.x86_64 ro root=/dev/mapper/vg_root-lv_root rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=uk grub> boot
Si cela ne vous aide pas ou si le fichier grub.conf est manquant ou lors de l'exécution de cat sur grub.conf, vous obtenez par exemple la sortie ci-dessous :
grub> cat (hd0,0)/grub/grub.conf cat (hd0,0)/grub/grub.conf ???????????????????????????????????????????????????????????????? ???????????????????????????????????????????????????????????????? ????????????????????????????????????????????????????????????????
Il sera nécessaire de démarrer le système en mode Rescue et de vérifier ce qui se passe - la sortie ci-dessus avec '???' indique une corruption de root-fs. Si grub ne fonctionne toujours pas même après la restauration du fichier grub.conf et que vous obtenez toujours des erreurs grub autour de l'image de démarrage, il sera nécessaire de réinstaller le système.
Pour le démarrage UEFI uniquement
Pour restaurer Grub dans le démarrage UEFI, exécutez la commande ci-dessous :
# efibootmgr -v
Lancez ensuite :grub-install
# grub-install /dev/sda