如何修复内核已删除的系统?


10

因为我想在硬盘上获得更多的可用空间,所以我删除了旧内核(不要问我为什么如此生气)。我也意外删除了活动内核(在Ubuntu 12.04上为3.2.0-27)。

首先,我无法启动。我通过实时系统安装了3.2.0-23和3.2.0-27内核(请参阅此处)。

现在,当我现在启动系统时,只会得到以下几行:

mountall: Event failed
fsck from util-linux 2.20.1
/dev/sda1: clean, 832254/40099840 files, 21092083/160394239 blocks
 * Stopping Flush boot log to disk
 * Stopping Enabling additional executable binary formats
 * Starting bluetooth daemon

其他PC规格:

  • 英特尔i5 2500K 4x 3.3 GHz
  • 8 GB内存
  • / dev / sda1是Ubuntu,大约1400GB
  • 索泰Nvidia GTX 560
  • 华擎Z68 Pro3

先感谢您!

编辑:在这里您可以从/ var / log中找到一些日志文件:kern.log boot.log


请提供来自的日志/var/log/messages。如果您无法登录,则可以在通过实时CD引导时获得它们。
Andrejs Cainikovs 2012年

dmesg | pastebinit
ish 2012年

我最初以为这里的问题是内核没有正确重新安装。但是我不相信这是真的,我对答案的投票(提供了更详细的重新安装过程)使该问题在问题列表中得到了回答。因此,我删除了该答案,并将(进行了适当的更改)发布在了它最好属于的问题中。任何需要它的人都可以在那找到它。祝这个问题好运!
伊利亚·卡根

为什么不使用Live CD,连接到Internet并进行软件更新,而不要花费很长时间?
2012年

1
您发布的pastebin输出似乎来自实时CD启动。[ 0.000000] Command line: noprompt cdrom-detect/try-usb=true file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.lz quiet splash --
约翰·格鲁伯

Answers:


4

一个选项是手动恢复:

文件是最简单的部分。您可以按照Ramchandra的建议进行操作,但如果要保留应用程序,则应避免重新安装(如您所见,请删除应用程序。)如果要避免卸载缺少内核的启动程序,请执行以下操作:

  1. 启动到LiveCD。

  2. 使用鹦鹉螺,打开损坏的分区。

  3. 在此处导航至/ home / myusername。您所有的文件都在那里。

您可能要保存的其他一些文件:

  • /etc/apt/sources.list(如果有任何手动存储库)。

完成此操作后,将其粘贴到闪存驱动器上或通过电子邮件发送给自己。

应用程序是一个棘手的部分。我想出了一个有点round回的解决方案,将需要一些时间(大多数情况下您都没有积极参与),但这应该可以恢复您的应用程序(无设置/配置)

  1. 坚持使用LiveCD。

  2. 导航到/ usr / lib。(加载可能需要一段时间。)

  3. 哇!大量的文件夹。在liveCD中打开gedit。

  4. 在gedit中输入:

    #!/bin/sh

    sudo apt-get install folder1 folder2 folder3

...其中folder1 folder2 folder3是文件夹的名称。

这些是您在ubuntu上安装的所有程序(我认为)。其中一些(大约50%,也许更多)是系统附带的,因此需要 arent ,但安全的赌法只是放所有东西。

寻找应用程序的另一个地方是/ etc和/ etc / alternatives。(如果我错过任何景点,请向我更新,互联网!)

将文件另存为.sh并通过电子邮件或闪存驱动器将其保存。

现在,当您第一次启动计算机时(完全重新安装后),您可以运行此脚本以sudo apt-get您以前拥有的所有程序。他们会像新人一样好!


1
该答案至少在以下两个方面是错误的:(1)它没有描述如何修复系统,而是描述了如何备份,删除并重新安装系统!(2)也弄错了背面/重新安装部分!供参考:/ usr / lib / 包含软件包列表,/ etc / alternatives 也不包含。如果要在系统上安装软件包列表,可以使用以下命令轻松获得:<code> dpkg --get-selections </ code>并可以使用<code> dpkg --set-selection </ code>还原它。尽管在最新版本的Ubuntu上,要在没有dselect的情况下重新安装即可工作,可能需要一些努力。
本杰明·玛科·希尔

5

从livecd引导,安装硬盘,然后重新安装内核。例如:

sudo -s
mount /dev/sda1 /mnt
mount --bind /sys /mnt/sys
mount --bind /proc /mnt/proc
mount --bind /dev /mnt/dev
chroot /mnt
apt-get install linux-image-3.2.0-27-generic-pae

嗨,Psusi- 昨天我在一台小型笔记本电脑上运行了这些命令(askubuntu.com/questions/89710/…),意外删除了我的内核。按照本文中您的指示,我在2分钟内恢复了系统。如果我遵循任何其他指示,我仍然会一直在努力恢复。再次感谢!
root 11年

我可以确认这些说明也适用于14.04
Gianluca Della Vedova,2014年

这是正确的,但有几件事值得注意:(1)您的根文件系统可能不是/ dev / sda1。(2)如果您需要使用apt-get下载软件包,则通常无法从chroot内部访问网络。(3)如果文件系统是加密的,则不仅可能不是/ dev / sda1,而且新内核(已从LiveCD运行)将不包含LUKS cryptsetupup工具,该工具必须在引导时对磁盘进行解密。解决这个问题是可能的,但是要困难得多。
本杰明·玛科·希尔

3

您尝试过恢复选项吗?您可以在现有的Ubuntu安装上安装Ubuntu-所有文件都将保留。尽管如果您修改系统文件,这些更改将被清除。

为此,请在安装程序中选择高级分区,然后将ubuntu安装的分区用作/。

我还没有测试过。


首先,感谢您的回答。无需格式化的新安装对您有帮助!现在,我已经从主目录中获取了所有数据。但是:所有应用程序,所有设置和我的所有配置均丢失。除此之外,窗口管理器和Unity还存在许多错误和故障。我还尝试了新安装,这对我来说更好。
slashcrack
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.