如何恢复已删除的内核 initrd 文件?

如何恢复已删除的内核 initrd 文件?

我设法删除了所有 initrd 映像,以便为新更新腾出空间(我知道 - 很愚蠢)- 有没有办法将它们上传回来,还是我必须完全重新安装我的操作系统?我没有 live cd,但我想我可以将其下载到 usb 驱动器上。当我启动计算机时,我当然只能访问 grub。

我对 Linux 还很陌生,所以请记住这一点。

谢谢你的帮助,我真的很感激,没有电脑我就要发疯了。

答案1

您可以从官方存储库服务器手动下载 .deb 包http://security.ubuntu.com/ubuntu/pool/main/l/linux/。只需使用您的网络浏览器。您必须在那里找到所需的内核。在我的情况下,它被称为linux-image-3.2.0-35-generic_3.2.0-35.55_amd64.deb。所以我在我的主目录中创建了一个文件夹。

#mkdir linux-image
#cd linux-image
#wget http://security.ubuntu.com/ubuntu/pool/main/l/linux/linux-image-3.2.0-35-generic_3.2.0-35.55_amd64.deb
#dpkg -x linux-image-3.2.0-35-generic_3.2.0-35.55_amd64.deb .

现在您应该看到该包中的文件已被提取到当前目录中。

#ls -l boot/
-rw-r--r-- 1 root root  792715 Dez  5  2012 abi-3.2.0-35-generic
-rw-r--r-- 1 root root  140505 Dez  5  2012 config-3.2.0-35-generic
-rw------- 1 root root 2885822 Dez  5  2012 System.map-3.2.0-35-generic
-rw------- 1 root root 4968400 Dez  5  2012 vmlinuz-3.2.0-35-generic

这些是您搜索到的文件,现在您只需将它们从系统复制到 /boot 文件夹中。

需要生成 initrd。我建议从实时系统启动,chroot 到旧系统,然后通过 生成它update-initramfs -c -k <version>

答案2

今天我也遇到了同样的情况。我的卷已满,我不得不删除一些文件来腾出空间,但我删除了旧内核中的 initrd 文件(全部),现在我无法启动到 13.10,并且出现内核恐慌错误。

我可以只安装新内核/intrd 而不修复旧内核吗?我不想重新安装,因为那样会清空我的硬盘。如果可行,我宁愿只安装新内核以配合 13.10 的升级。

感谢您的帮助!

-弗雷德

相关内容