GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment récupérer GRUB (partition de démarrage corrompue) dans CentOS/RHEL 5,6

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


Cent OS
  1. CentOS / RHEL 5,6 :Comment réinstaller le chargeur GRUB à partir du mode de secours

  2. Comment récupérer une partition racine corrompue à partir du mode de secours dans CentOS/RHEL 5,6

  3. Comment partitionner les pseudo-périphériques DM-Multipath dans CentOS/RHEL

  4. Comment reconstruire GRUB sur le type de partition MSDOS dans CentOS/RHEL/OEL 7

  5. Comment déboguer le processus de démarrage systemd dans CentOS/RHEL 7 et 8

Comment démarrer en mode mono-utilisateur dans CentOS 8 / RHEL 8

CentOS / RHEL 7 :Comment démarrer en mode de secours ou en mode d'urgence

CentOS / RHEL 7 :Comment protéger par mot de passe les entrées du menu GRUB2

Comment installer CentOS / RHEL 7 sur une partition RAID

CentOS / RHEL :Comment ajouter une nouvelle partition de swap

CentOS / RHEL 5 :Comment démarrer en mode de secours