GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come recuperare GRUB (partizione di avvio danneggiata) in CentOS/RHEL 5,6

Il problema

Il sistema è bloccato al prompt grub> come mostrato di seguito.

Come riprendersi da tale situazione.

La soluzione

Quando ricevi un errore superiore, nella maggior parte dei casi hai una partizione di avvio danneggiata.

1. Per risolvere il problema, esegui dalla riga di comando di grub:

grub> find /grub/stage1
find /grub/stage1
(hd0,0)

Il comando precedente cercherà stage1 (lo stage1 viene inserito nell'MBR e successivamente viene letto dal BIOS) questo elencherà dove risiede esattamente la partizione di avvio, in questo caso è hd0,0.

2. Ripristina la partizione di avvio su hd0,0 (prima partizione sul primo disco) come nell'esempio sopra dal comando trova.

grub> root (hd0,0)
Filesystem type is ext4fs, partition type 0x83

3. Quindi imposta grub sul primo disco (hd0) – come nell'esempio sopra, lo stage1 si trova su 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. Dopo che il comando avrà esito positivo, riavvia il server.

grub> reboot

Verifica se il sistema si avvia ora senza alcun problema.

Ulteriore risoluzione dei problemi

Se il problema persiste e di nuovo il sistema si arresta sulla riga di comando di grub, verifica se grub.conf è presente e mantiene i valori corretti:

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]

Se viene individuato un problema con i parametri di avvio del kernel, puoi fornire manualmente le stringhe di avvio del kernel:

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

Se ciò non aiuta o, ad esempio, il file grub.conf è mancante o durante l'esecuzione di cat su grub.conf ottenendo ad esempio l'output seguente:

grub> cat (hd0,0)/grub/grub.conf

cat (hd0,0)/grub/grub.conf
????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????

Sarà necessario avviare il sistema in modalità Rescue e verificare cosa sta succedendo – sopra l'output con '???' indica la corruzione di root-fs. Se grub continua a non funzionare anche dopo aver ripristinato il file grub.conf e continuano a ricevere errori di grub sull'immagine di avvio, sarà necessario reinstallare il sistema.

Solo per l'avvio UEFI

Per ripristinare Grub nell'avvio UEFI, esegui il comando seguente:

# efibootmgr -v

Successivamente esegui:grub-install

# grub-install /dev/sda


Cent OS
  1. Come creare e abilitare la partizione di scambio su Centos / RHEL 8

  2. CentOS / RHEL 5,6:come reinstallare il caricatore GRUB dalla modalità di ripristino

  3. Come recuperare la partizione radice danneggiata dalla modalità di ripristino in CentOS/RHEL 5,6

  4. Come partizionare i dispositivi pseudo-multipath DM in CentOS/RHEL

  5. Come recuperare da un file /etc/mtab danneggiato o vuoto in CentOS/RHEL 7

Come avviare in modalità utente singolo in CentOS 8 / RHEL 8

CentOS / RHEL 7:come avviare in modalità di soccorso o in modalità di emergenza

CentOS / RHEL 7 :Come proteggere con password le voci del menu di GRUB2

Come installare CentOS / RHEL 7 su una partizione RAID

CentOS / RHEL:come aggiungere una nuova partizione di swap

CentOS / RHEL 5:come avviare in modalità di ripristino