Ubuntu 14.04 无法启动,出现内核崩溃

Ubuntu 14.04 无法启动,出现内核崩溃

我在我的电脑上安装了 Ubuntu 14.04,并且运行正常大约 2 个月,但现在当我尝试启动它时,只出现此信息:

wn-block(0,0)
[     0.747081] CPU: 1 PID: 1 Comm: swapper/0 Not Tainted 3.13.0-33-generic #58-Ubuntu
[     0.747132] Hardware name: Dell Inc. Inspiron N5010/0TD2K6, BIOS A08 09/13/2010
[     0.747183] 0000000000008000 ffff880131e3dd70 ffffffff8171bd04 ffffffff81a3c210
[     0.747373] ffff880131e3de68 ffffffff81714f05 ffffffff00000010 ffff880131e3de78
[     0.747566] ffff880131e3de18 ffffffff81715a26 ffff880131e3de88 00000000000000cc
[     0.747761] Call Trace:
[     0.747810] [<ffffffff8171bd04>] dump_stack+0x45/0x56
[     0.747861] [<ffffffff81714f05>] panic+0xc8/0x1d7
[     0.747908] [<ffffffff81715a26>] ? printk+0x067/0x69
[     0.747959] [<ffffffff81d3646a>] mount_block_root+0x225/0x2b0
[     0.748008] [<ffffffff81d36692>] mount_root+0x53/0x56
[     0.748056] [<ffffffff81d36801>] prepare_namespace+0x16c/0x1a4
[     0.748105] [<ffffffff81d3616e>] kernel_init_freeable+0x1f3/0x200
[     0.748155] [<ffffffff81d358e5>] ? do_early_param+0x88//0x88
[     0.748205] [<ffffffff8170a1e0>] ? rest_init+0x80/0x80
[     0.748252] [<ffffffff8170a1ee>] kernel_init+0xe/0x130
[     0.748303] [<ffffffff8172c63c>] ret_from_fork+0x7c/0xb0
[     0.748351] [<ffffffff8170a1e0>] ? rest_init+0x80/0x80

谁能告诉我该怎么办以及这是否是病毒?

答案1

您看到启动菜单了吗?

-- 启动菜单, 14.04 LTS --
Ubuntu
Ubuntu 的高级选项
系统设置

...如果没有,请尝试ESC在计算机启动时点击...在显示“Ubuntu .....”之前和/或显示时(如果显示)。

当您看到菜单时:使用光标键()选择Advanced options for Ubuntu并按enter

这样你应该得到类似这样的菜单:

-- Ubuntu 的高级选项 --
Ubuntu,Linux 3.15...-通用
Ubuntu,带有 Linux 3.15...-通用(恢复模式)
Ubuntu,使用 Linux 3.13.0-24-generic
Ubuntu,带有 Linux 3.13.0-24-generic(恢复模式)

您可能会有一组不同的条目,这些recovery mode条目用于更高级的故障查找和补救。暂时不要使用这些条目。

而是使用光标键并选择你有在上面写的地方Ubuntu, with Linux 3.13.0-24-generic。然后enter再次按...

我希望这可以让您的计算机能够使用...

请告诉我们这是否有帮助,我们也许能够根据您提供的有关结果的更多详细信息帮助您恢复正常。

编辑您的帖子并添加一行<小时>并在其后插入更多详细信息。
如果有更多详细信息,请重复此操作...


-- 添加,用于修复或删除默认启动选项的问题 --

问题似乎是最新的 (?) Linux 内核的设置不起作用 - 它可能与更新一起添加 - 但无法正确安装。

要尝试启动并运行它,请使用上述方法启动,登录,然后执行以下操作:
按住CTRL+Alt并点击T- 这将打开一个“终端”(检查menu:Help>About窗口是否处于活动状态,它显示的Gnome Terminal是默认设置)

如果您不熟悉终端: 在该窗口中,您现在应该看到最后一行显示单个$,如果您在键盘上键入任何内容,您的键入内容将显示在其右侧。第一个单词将被视为要执行的命令,该行的其余部分将作为“参数”传递给该命令,允许命令解释它们并采取相应的行动。

现在,第一次尝试修复该问题:在下面的列表中输入左侧栏中的内容;# 后面的文本(包括 #)是该操作的技术说明。这是重建启动菜单的尝试。这可能足够了,但也可能失败。

enter每行按一次。当你在第一行输入密码时,系统会要求你输入密码,如果你输入错误,系统会再要求你输入两次。如果你第三次输入错误,只需按 (光标向上)一次又一次enter

sudo update-initramfs -u # 重新制作启动 ramdisk
sudo update-grub2 #重新创建启动菜单

当您这样做时 - 假设输出中没有任何内容显示“错误”或“失败” - 您可以尝试重新启动 - 这次使用默认选项。
如果可行 - 那么一切都应该很好...无需做更多。:-)

如果不起作用,那么“简单”的解决方法是删除不起作用的选项。这也是你在终端上做的事情(可能还有其他方法,但我会忽略它们;-) - 您需要按照与之前相同的方式启动。

这将打印当前处于活动状态的内核名称 - 即您正在使用的内核名称。

uname -r          

再次:你使用的哪个内核,特别要注意数字的准确读法零和所有 - 不要以任何方式“缩写”。

现在,已知:...您将在每一行上看到类似的一系列数字,这些数字来自此命令集列出的内容 -其中一个数字集应该完全匹配

dpkg --list | head -n 5 && dpkg --list | grep linux-image

前 5 行是一些信息摘要,如果您必须将其复制到此处,以防万一。这五行解释了以下几行中的前两个/三个字符。 您可能需要扩大终端窗口的宽度才能看到“行”,因为它们很长并且往往会以标准宽度换行到一行。

现在 'linux-image-xxxx-generic'匹配上面打印uname -r的是保持
但所有其他的 - 我建议首先选择“高级选项”菜单中最上面的那个 - 可以使用

sudo apt-get purge linux-image-xxxx-generic

...您要用与dpkg --list ...第二列中(上面)完全相同的内容替换“linux-image-xxxx-generic”。

一般情况下,无需保留最新的在职的启动菜单中的选项/内核。如果太多,实际上可能会产生问题:硬盘的相关部分会变满。

重要的: 完成所有操作(或仅完成一项)后,请重复上述操作。
希望现在不会出现任何错误或失败。

sudo update-initramfs -u # 重新制作启动 ramdisk
sudo update-grub2 #重新创建启动菜单

更新 2015-05-17
如何在 14.04 LTS 上使用内核 3.16
按照以下说明操作可靠这里:
https://wiki.ubuntu.com/Kernel/LTSEnablementStack
注意:暂时避免使用高于 3.16 的内核,除非您具备这方面的知识。

相关内容