Wer kennt es nicht, es gibt nen neuen Kernel aber der will ausgerechnet nicht booten. In diesem Fall gibt es genau diese 3 Möglichkeiten(Neuinstallation ist für mich keine Alternative!!!):

  • Man hat noch einen älteren, Funktionsfähigen Kernel auf /boot
  • Man sucht im ganzen Haus nach einer CD mit der man chroot machen könnte
  • Man hat wie ich eine SystemRescueCD Bootfähig im /boot liegen haben

Vorbereitung

  • SystemRescueCD Herunterladen
  • ISO Image der SystemRescueCD als Loop mounten
sudo mkdir /tmp/sysrcd
sudo mount /pfad/zum/iso/der/systemrescuecd.iso -o loop,ro -t iso9660 /tmp/sysrcd

Installatin

Man benötigt von der ganzen CD nur 4 Dateien, das wären:

  • rescuecd (der Kernel, auf 64-Bit Systemen sollte man rescue64 nehmen)
  • initram.igz (die Initial Ramdisk)
  • sysrcd.dat (Root Dateisystem der SystemRescueCD)
  • sysrcd.md5 (MD5 Prüfsummen der sysrcd.dat)

Der Kernel und die Initial Ramdisk müssen direkt nach /boot kopiert werden. Für das Rootimage (sysrcd.dat sowie sysrcd.md5) muss man etwas nachdenken:

  • Hat man eine extra /boot Partition (wie jeder der LVM oder RAID hat) so muss man die Dateien nach /boot/sysrcd kopieren (Verzeichnis sollte man natürlich anlegen).
  • Hat man kein extra /boot so sollte man es einfach direkt in /boot kopieren!

Folgende Befehl würde auf einem System mit extra /boot zum Ziel führen:

sudo -i
mkdir /boot/sysrcd
cp /tmp/sysrcd/isolinux/rescuecd /boot/
cp /tmp/sysrcd/isolinux/initram.igz /boot/
cp /tmp/sysrcd/sysrcd.* /boot/sysrcd/

Hat man ein System ohne extra /boot wäre es folgendes:

sudo -i
cp /tmp/sysrcd/isolinux/rescuecd /boot/
cp /tmp/sysrcd/isolinux/initram.igz /boot/
cp /tmp/sysrcd/sysrcd.* /boot/

GRUB Konfigurieren

Natürlich könnte man jetzt schon booten, aber sinnvoller ist es schon dafür einen Eintrag im GRUB zu machen, das würde auf einem System mit extra /boot Partition so aussehen:

title SystemRescueCD
root (hd0,0)
kernel /rescuecd setkmap=de docache subdir=sysrcd
initrd /initram.igz

Ohne eine extra /boot Partition sieht es dann so aus:

title SystemRescueCD
root (hd0,0)
kernel /boot/rescuecd setkmap=de docache subdir=boot
initrd /boot/initram.igz

Am besten schreibt man dies ans Ende der /boot/grub/menu.lst, im Idealfall sogar hinter dieser Zeile damit update-grub uns keinen Strich durch die Rechnung macht:

### END DEBIAN AUTOMAGIC KERNELS LIST

Das man die Befehle usw. an seine Eigene Konfiguration anpassen muss, davon gehe ich jetzt einfach mal aus! Wenn man meinen Schnipsel aus der menu.lst verwendet hat man automatische ein Deutsches Tastaturlayout und läd das Image in den RAM (auf Systemen mit weniger als 512MB RAM geht das natürlich nicht).