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