Das Problem
Das System bleibt an der Eingabeaufforderung grub> hängen, wie unten gezeigt.
Wie man sich von einer solchen Situation erholt.
Die Lösung
Wenn Sie den obigen Fehler erhalten, haben Sie in den meisten Fällen eine beschädigte Startpartition.
1. Um das Problem zu beheben, führen Sie von der Grub-Befehlszeile aus:
grub> find /grub/stage1 find /grub/stage1 (hd0,0)
Der obige Befehl sucht nach stage1 (stage1 wird im MBR platziert und später vom BIOS gelesen). Dies listet auf, wo genau sich die Boot-Partition befindet, in diesem Fall ihre hd0,0.
2. Stellen Sie die Boot-Partition auf hd0,0 (erste Partition auf der ersten Festplatte) wieder her, wie im obigen Beispiel vom Befehl find.
grub> root (hd0,0) Filesystem type is ext4fs, partition type 0x83
3. Richten Sie dann grub auf der ersten Festplatte (hd0) ein – wie im obigen Beispiel befindet sich Boot-Stage1 auf 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. Nachdem der Befehl erfolgreich war, starten Sie den Server neu.
grub> reboot
Überprüfen Sie, ob das System jetzt ohne Probleme bootet.
Weitere Fehlerbehebung
Wenn das Problem weiterhin besteht und das System erneut auf der Grub-Befehlszeile stoppt, überprüfen Sie, ob grub.conf vorhanden ist und die richtigen Werte enthält:
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]
Wenn ein Problem mit Kernel-Boot-Parametern festgestellt wird, können Sie Kernel-Boot-Strings manuell bereitstellen:
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
Wenn das nicht hilft oder zum Beispiel die Datei grub.conf fehlt oder wenn cat auf grub.conf ausgeführt wird, erhalten Sie zum Beispiel die folgende Ausgabe:
grub> cat (hd0,0)/grub/grub.conf cat (hd0,0)/grub/grub.conf ???????????????????????????????????????????????????????????????? ???????????????????????????????????????????????????????????????? ????????????????????????????????????????????????????????????????
Es ist notwendig, das System in den Rettungsmodus zu booten und zu überprüfen, was vor sich geht – die obige Ausgabe mit „???“ weist auf eine Beschädigung von root-fs hin. Wenn Grub auch nach dem Wiederherstellen der Datei grub.conf immer noch nicht funktioniert und immer noch Grub-Fehler um das Boot-Image herum angezeigt werden, muss das System neu installiert werden.
Nur für UEFI-Start
Um Grub im UEFI-Boot wiederherzustellen, führen Sie den folgenden Befehl aus:
# efibootmgr -v
Anschließend ausführen:grub-install
# grub-install /dev/sda