Ubuntu 12.04 から 14.04 へのアップグレード中にコンピューターがフリーズしました。
その結果、再起動時にカーネルパニックが発生しました。
/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.
[カーネルパニックに関する内容が続きます]
私はUSBから起動し、ドライブにchrootして次のコマンドを実行してアップグレードを完了しました:(sudo apt-get dist-upgrade
また、以下で説明されている他のいくつかのコマンドも実行しました:Ubuntu ディストリビューションのアップグレード中にシャットダウンから回復する)
基本的にアップグレードは完了したように見えますが、新しいブート イメージは生成されませんでした。update-initramfs is disabled since running on read-only media
古いカーネル バージョンを起動できないので、USB から新しいブート イメージ (つまり、/boot/ にあるもの) を作成する方法はありますか。
さらに詳しく説明すると、chroot するとuname -a
更新されたカーネルが生成されますが、対応するカーネル イメージはドライブの /boot に存在しません。
アドバイスを頂ければ幸いです。
答え1
持っていた同様の問題エラーupdate-initramfs is disabled since running on read-only media
メッセージ。スクリプトを見ると、それが への単なるラッパー スクリプトであることがわかりますmkinitramfs
。
whereis update-initramfs
update-initramfs: /usr/sbin/update-initramfs …
gedit /usr/sbin/update-initramfs
したがって、mkinitramfs
直接呼び出すこともできます:
mkinitramfs -o /boot/initrd.img-${kernel_ver}-generic ${kernel_ver}-generic
ライブ メディア/chroot からカーネルと initrd イメージを再インストールする方法の詳細については、上記のリンクを参照してください。
答え2
chroot
新しいUbuntuをインストールするとおっしゃっています。
sudo update-initramfs -u -k all
全て中からchrootの
答え3
Linux Mint のライブ CD には、インストールに使用される update-initramfs のコピーがあります。これは「update-initramfs.distrib」に名前が変更されています。これを実行して initrd を再作成できます。