GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So stellen Sie GRUB (beschädigte Startpartition) in CentOS/RHEL 5,6 wieder her

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


Cent OS
  1. CentOS / RHEL 5,6 :So installieren Sie den GRUB-Loader aus dem Rettungsmodus neu

  2. So stellen Sie eine beschädigte Root-Partition aus dem Rettungsmodus in CentOS/RHEL 5,6 wieder her

  3. So partitionieren Sie DM-Multipath-Pseudogeräte in CentOS/RHEL

  4. So erstellen Sie GRUB auf dem MSDOS-Partitionstyp in CentOS/RHEL/OEL 7 neu

  5. So debuggen Sie den systemd-Startvorgang in CentOS/RHEL 7 und 8

So booten Sie in CentOS 8 / RHEL 8 in den Einzelbenutzermodus

CentOS / RHEL 7 :So booten Sie in den Rettungsmodus oder Notfallmodus

CentOS / RHEL 7 :So schützen Sie GRUB2-Menüeinträge mit einem Kennwort

So installieren Sie CentOS / RHEL 7 auf einer RAID-Partition

CentOS / RHEL:So fügen Sie eine neue Swap-Partition hinzu

CentOS / RHEL 5:So booten Sie in den Rettungsmodus