GNU/Linux >> Znalost Linux >  >> Cent OS

Jak obnovit GRUB (poškozený spouštěcí oddíl) v CentOS/RHEL 5,6

Problém

Systém se zasekl při výzvě grub>, jak je znázorněno níže.

Jak se z takové situace dostat.

Řešení

Když se zobrazí výše uvedená chyba, ve většině případů máte poškozený spouštěcí oddíl.

1. Chcete-li problém vyřešit, spusťte z příkazového řádku grub:

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

Výše uvedený příkaz bude hledat stage1 (stage1 je umístěn v MBR a později je načten BIOSem) toto vypíše, kde přesně se nachází bootovací oddíl, v tomto případě jeho hd0,0.

2. Obnovte bootovací oddíl na hd0,0 (první oddíl na prvním disku) jako ve výše uvedeném příkladu z příkazu find.

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

3. Poté nastavte grub na první disk (hd0) – jako ve výše uvedeném příkladu je boot stage1 umístěn na 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. Po úspěšném provedení příkazu restartujte server.

grub> reboot

Ověřte, zda se systém nyní spouští bez problémů.

Další odstraňování problémů

Pokud problém přetrvává a systém se znovu zastaví na příkazovém řádku grub, ověřte, zda je přítomen soubor grub.conf a zda má správné hodnoty:

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]

Pokud je zjištěn problém se zaváděcími parametry jádra, můžete ručně zadat zaváděcí řetězce jádra:

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

Pokud to nepomůže nebo například chybí soubor grub.conf nebo když běží cat na grub.conf, dostane se například níže uvedený výstup:

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

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

Bude nutné nabootovat systém do Rescue Mode a ověřit, co se děje – nad výstupem s „???“ značí poškození root-fs. Pokud grub stále nefunguje ani po obnovení souboru grub.conf a stále se objevují chyby grub kolem zaváděcího obrazu, bude nutné systém přeinstalovat.

Pouze pro spouštění UEFI

Chcete-li obnovit Grub při spouštění UEFI, spusťte níže uvedený příkaz:

# efibootmgr -v

Poté spusťte:grub-install

# grub-install /dev/sda


Cent OS
  1. Jak rozdělit DM-multipath pseudozařízení v CentOS/RHEL

  2. Jak znovu sestavit GRUB na typu oddílu MSDOS v CentOS/RHEL/OEL 7

  3. Jak obnovit z poškozeného nebo prázdného souboru /etc/mtab v CentOS/RHEL 7

  1. Jak vytvořit a povolit Swap Partition na Centos / RHEL 8

  2. CentOS / RHEL 5,6 :Jak přeinstalovat zavaděč GRUB ze záchranného režimu

  3. Jak vytvořit nový /bootový oddíl v CentOS / RHEL

  1. Jak spustit službu při spuštění s RHEL 8 / CentOS 8 Linux

  2. Jak obnovit poškozený kořenový oddíl ze záchranného režimu v CentOS/RHEL 5,6

  3. Jak ladit proces spouštění systemd v CentOS/RHEL 7 a 8