我通过安装了 Linux 内核的 2.6.38~10 和 2.6.38~11 版本apt-get
,但不幸的是,它们都无法启动。当我在 GRUB 中选择内核时,内核崩溃,CAPS LOCK 键闪烁。我拥有的最新版本的内核可以启动,是 2.6.38~8。
我尝试通过删除quiet
和来编辑启动参数,splash
但这没有任何作用。
我有哪些选项可以调试内核并找出故障所在?
答案1
我遇到的情况和你的情况类似。请尝试以下操作:
- 使用恢复模式启动 2.6.38~11。
- 从恢复菜单中,选择“使用 i-net 访问进入 shell”(或类似选项)
- 在终端中输入:
telinit 3
切换到运行级别 3 - 输入您的用户名,输入密码
- 键入:
sudo service gdm stop
关闭 x 服务器。 - 类型:
sudo nvidia-installer -f --update
;这将下载最新的驱动程序并重新安装。 - 就这样,输入
sudo service gdm start
完后你就回到你的桌面了。
在第 6 点,您实际上不需要重新安装驱动程序。您只需要为当前内核版本构建模块,但我不知道该怎么做。
答案2
您需要重新运行 NVidia .run 文件,以便构建新的内核模块
最简单的方法是修改 grub 中的启动参数
- 当 grub 打开并显示选项列表时,按“e”编辑选项
- 选择第二行(以 kernel 开头的行)并再次按“e”进行编辑
- 转到行尾并添加一个空格和一个 3
- 现在按 ENTER 保存(我认为只需检查屏幕底部的帮助)并按“b”启动
你现在应该可以在运行级别 3 上启动到普通终端,因此不需要图形驱动程序
cd 到你下载 NVidia .run 文件的目录,然后以 root 身份再次运行它,记得让它为你重新运行 nvidia-cconfig
如果你重启之后一切都会好起来
不幸的是,每次更新内核时你都必须这样做
答案3
删除 quiet 和 splash 参数,读取启动失败时出现的错误消息。
尝试单一或恢复启动选项。我估计它在加载内核时会失败。如果是这样,则启动并使用活动磁盘安装您的根分区。搜索 [root-parition]/var/log/ 目录的内容。kern.log、lastlog、boot.log、messages、debug、faillog 和 syslog 可能会有所帮助。将它们粘贴为您的问题的一部分以获得更多帮助。
您的错误消息会添加到日志文件的末尾。因此,它通常是您需要查看的日志文件中的最后消息。但有时它会转储内存等,这并不那么有用。因此,为了安全起见,我会包含最明显的错误消息或最后 50 行。