Mein Computer ist während eines Upgrades von Ubuntu 12.04 auf 14.04 eingefroren.
Dies führte beim Neustart zu einem Kernel-Panic.
/sbin/init: relocation error: /lib/i386-linux-gnu/librt.so.1: symbol__clock_nanosleep, version GLIBC_PRIVATE not defined in file libc.so.6 with link time reference.
[gefolgt von einigen Kernel-Panic-Sachen]
Ich habe vom USB-Stick gebootet und das Upgrade per Chroot auf dem Laufwerk abgeschlossen und Folgendes ausgeführt: sudo apt-get dist-upgrade
(sowie einige andere Befehle, wie hier beschrieben:Wiederherstellen nach dem Herunterfahren während des Upgrades der Ubuntu-Distribution)
Grundsätzlich scheint das Upgrade abgeschlossen zu sein, es wurde jedoch kein neues Boot-Image erstellt:update-initramfs is disabled since running on read-only media
Da ich ältere Kernelversionen nicht booten kann, gibt es eine Möglichkeit, vom USB-Stick ein neues Boot-Image zu erstellen (also etwas, das sich in /boot/ befindet).
Zur weiteren Klarstellung: Beim Chroot uname -a
wird der aktualisierte Kernel ausgegeben, es befindet sich jedoch kein entsprechendes Kernel-Image im /boot des Laufwerks.
Könnte einen Rat gebrauchen.
Antwort1
Ich hatte einähnliches Problem mitdie update-initramfs is disabled since running on read-only media
Fehlermeldung. Wenn Sie sich das Skript ansehen, können Sie erkennen, dass es sich lediglich um ein Wrapper-Skript für handelt mkinitramfs
.
whereis update-initramfs
update-initramfs: /usr/sbin/update-initramfs …
gedit /usr/sbin/update-initramfs
Sie können also mkinitramfs
direkt anrufen:
mkinitramfs -o /boot/initrd.img-${kernel_ver}-generic ${kernel_ver}-generic
Weitere Einzelheiten zur Neuinstallation von Kernel- und Initrd-Images von Live-Medien/Chroot finden Sie im obigen Link.
Antwort2
Sie erwähnen, chroot
dass Sie eine neue Ubuntu-Installation durchführen. Führen Sie
sudo update-initramfs -u -k all
alleVON INNENdas Chroot
Antwort3
Auf der Live-CD von Linux Mint befindet sich eine Kopie von update-initramfs, die für die Installation verwendet wird. Sie wurde in „update-initramfs.distrib“ umbenannt. Sie können dies ausführen, um Ihr initrd neu zu erstellen.