Gefangen im "initramfs" Prompt
Schon einmal einen Linux-Server neu gestartet und im "initramfs"-Prompt gefangen gewesen? Das kann mehrere Ursachen haben. Die beiden typischsten unserer Erfahrung nach sind z.B. ein HDD-Tausch im Software-RAID sowie das Kopieren vom OS auf neue HDDs. Dementsprechend gibt es zwei Lösungsansätze für diese Problematik. Ich skizziere hier einmal die beiden bei uns bereits erfolgreich angewendeten.
Das System wurde neu gestartet und nach dem GRUB-Bootloader landet man hier. Keine Panik.
Abhängig von der eigentlichen Ursache der Problematik kann es nun im einfachsten Falle sein, dass das LVM (wenn eines zu Grunde liegt) nicht geladen bzw. aktiviert wurde. Lösungsschritte: LVM aktivieren vom "initramfs-Prompt" aus # lvm vgscan # lvm vgchange -a y # mount -t ext4 /dev/primary_vg/root_lv /root Hinweis: Ihr /dev/... Gerät mag variieren, der mount-point "/root" ist aber fix! # exit Sollte das MD/Software-RAID nicht "zusammengebaut" werden können, sind diese Schritte oft hilfreich: # rm /etc/mdadm/mdadm.conf Hinweis: Das löscht die temporär angelegte, "geratene" mdadm.conf. Wichtig. # mdadm --assemble --scan RAID-Verbund einsammeln und aktivieren. # mount -t ext4 /dev/md127 /root Hinweis: Ihr /dev/... Gerät mag anders heissen (cat /proc/mdstat), /root als mount-point ist jedoch fix und nötig. # exit Permanentes Lösen bzw. das System wieder "reboot-fest" machen: Abhängig von der Ursache (eines hiervon oder alles): # update-grub Hinweis: grub.cfg automatisch neu schreiben lassen # /etc/mdadm/mdadm.conf prüfen -> Inhalt korrekt? ggf. mdadm --examine --scan >> /etc/mdadm.conf bzw. # mdadm --examine --scan >> /etc/mdadm/mdadm.conf # update-initramfs (mit dem passenden Parameter "-k") z.B. im Falle von neuen HDDs um eine korrekte mdadm.conf etc. in der Ramdisk zu haben!
Es kann unter Umständen vorkommen das es nötig ist die neue Ramdisk aus dem initramfs-Prompt heraus zu erstellen wenn sich nach obigen Massnahmen keine "reboot-Festigkeit" einstellt. Das ginge so: Initramfs-Prompt: # mkdir /target # mount /dev/md0 /target Hinweis: /dev/... sinngemäß. Der Gerätename ihres root-MD-Gerätes Hinweis: chroot-Umgebung vorbereiten # mount /dev/md1 /target/boot/ # mount -o bind /dev /target/dev # mount -o bind /dev/pts /target/dev/pts # mount -o bind /sys /target/sys # mount -o bind /proc /target/proc # chroot /target Und nun finalisieren: # update-grub # update-initramfs (ggf. mit Optionen: -k -t or -u) Fertig.