In einer Situation, in der das System keinen Kernel zum Booten hat, weil möglicherweise alle Kernel aus dem System entfernt wurden oder aufgrund einer Beschädigung, ist eine Kernel-Installation aus dem Rettungsmodus erforderlich. Sie können immer noch einen neuen Kernel aus dem Rettungsmodus installieren und das System wieder zum Laufen bringen.
Booten in den Rettungsmodus
Booten Sie das System mit der Installations-DVD oder ISO und wechseln Sie in den Rettungsmodus. Befolgen Sie die nachstehenden Schritte für eine detaillierte Anleitung zum Booten in den Rettungsmodus.
1. Hängen Sie das ISO-Image an
Sie können anstelle des ISO-Images eine tatsächliche Installations-DVD verwenden, aber ich finde die Verwendung des ISO-Images einfach und es ist nicht erforderlich, ins Rechenzentrum zu gehen, um die DVD physisch in das System einzulegen. Verschiedene Virtualisierungsplattformen verfügen über ähnliche Funktionen zum Anhängen/Mounten des ISO-Images an einen VM-Gast. Stellen Sie sicher, dass Sie die Boot-Reihenfolge ändern, um vom ISO-Image zu booten.
2. Starten Sie das System
Starten Sie das CentOS 7-System vom ISO-Image. Wählen Sie auf dem Startbildschirm die Option Fehlerbehebung aus am Ende des Bildschirms.
3. Wählen Sie im nächsten Bildschirm die Option Ein CentOS-Linux-System retten .
4. Drücken Sie auf dem nächsten Bildschirm die Eingabetaste, um fortzufahren. Wenn Sie gefragt werden, ob Rescue Ihre Installation finden soll, wählen Sie „Fortfahren“.
Wenn Sie Probleme beim Erkennen Ihrer Installation haben, versuchen Sie es erneut mit der Option „Überspringen“ und erkennen und mounten Sie Ihren Speicher manuell. Sie würden eine Meldung erhalten, die im Bild unten gezeigt wird, wenn der Rettungsmodus die korrekte Installation erkannt hat.
Jetzt überspringen wir hier den Chroot-Schritt, da wir nicht in die Root-Umgebung gelangen wollen.
Installieren des Kernels
1. Als nächstes installieren Sie den für Ihr installiertes System geeigneten Kernel. Es ist wichtig, das gleiche Installationsmedium wie das der installierten Systemversion zu haben. Installieren Sie den Kernel mit dem Befehl rpm in der Root-Umgebung /mnt/sysimage.
# cd /mnt/install/repo/Packages # rpm -ivh --root=/mnt/sysimage kernel-3.10.0-514.el7.x86_64
2. Grub2-Konfiguration generieren – Der nächste Schritt besteht darin, Ihr Stammverzeichnis mit dem Befehl chroot in /mnt/sysimage zu ändern. Dadurch wird Ihr System zur Root-Umgebung. Hier können Sie die grub2-Konfiguration für den neu installierten Kernel generieren.
# chroot /mnt/sysimage # grub2-mkconfig -o /boot/grub2/grub.cfg
3. Bestätigen – Suchen Sie nach der Datei in /boot, um den neuen Kernel zu haben. Überprüfen Sie auch den Kernel-Menüeintrag in der Datei /boot/grub2/grub.cfg .
ls -lrt /boot/vmlinuz-* -rwxr-xr-x. 1 root root 5392080 Nov 22 2016 /boot/vmlinuz-3.10.0-514.el7.x86_64 -rwxr-xr-x. 1 root root 5392080 Oct 1 12:44 /boot/vmlinuz-0-rescue-4bd23218ddab41e587bdd39ae2cfc09a
# cat /boot/grub2/grub.cfg ..... menuentry 'CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-514.el7.x86_64-advanced-7efe94a2-10ec-40e4-8d89-a52faf13535e' { load_video set gfxpayload=keep insmod gzio insmod part_msdos insmod xfs set root='hd0,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1' f88bd588-6f4d-4050-bd3f-443cf2049ee7 else search --no-floppy --fs-uuid --set=root f88bd588-6f4d-4050-bd3f-443cf2049ee7 fi linux16 /vmlinuz-3.10.0-514.el7.x86_64 root=/dev/mapper/cl-root ro crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet LANG=en_US.UTF-8 initrd16 /initramfs-3.10.0-514.el7.x86_64.img } .....
4. Umbenennung von Dateisystemen
Erstellen Sie die Datei /.autorelabel, um die Dateisysteme beim nächsten Neustart umzubenennen, falls Sie SELinux verwenden:
# touch /.autorelabel
Sie können jetzt die Chroot-Umgebung verlassen und das System neu starten.