我无法启动 ubuntu。它挂在黑屏上,鼠标指针对鼠标移动没有反应。我读过很多关于这个问题的帖子,但到目前为止都不起作用。特别是,我的终端访问权限非常有限:使用 Ctrl + Alt + F<anything> 或 Alt + F<anything> 我可以登录并输入命令,但我经常看不到我正在输入的内容,而且过一会儿它就停止工作了。
如果我选择不同的启动选项(不是显示启动选项列表的选项,而是带有提示的选项),我可以得到 grub 提示符。
其他详情:
- 鼠标指针很大,分辨率低,好像显卡驱动程序没有加载
- 我已经使用这个 Ubuntu 安装好几个星期了,没有出现任何问题
- 我正在双启动 Windows。运行良好
- 我有一台 GTX 1070,已安装驱动程序
- 我记得上次使用 Ubuntu 时安装了 docker
- 我有一支 20.04 USB 笔,运行良好,我用它将大部分重要文件复制到外部驱动器上(但不是全部,因为文件有不同的权限)
更新进入正常 grub 屏幕,以前的内核版本(大部分)工作正常
答案1
您可以启动一个工作内核(您提到您有这个内核)并且
- 尝试调试,然后解决问题
- 无论问题是什么,都要努力回到干净的状态
调试问题
要开始调试问题的原因,请使用journalctl
和其他命令。例如,
$ journalctl --list-boots
列出所有可用日志。要查看上次启动的日志,
$ journalctl -b -1
默认情况下,journalctl
输出页面。如果你想避免这种情况,例如grep
输出wc
和/或日志很长,请使用
$ journalctl --no-pager -b -1
或标记-e
直接转到末尾(但您可能没有完整的日志可供回滚)。
要查看内核环形缓冲区, 使用dmesg
。重要的标志是:-e
或-T
使用人类可读的时间,-P
以避免分页,-H
以获得人类可读的输出。查看完整列表这里。
可能的直接解决方案
每当有新内核可用时,更新都会安装它并将其设置为 grub 中的默认选项。因此,无论出现什么问题,您的系统都可以再次完全正常运行。
发布输出
$ uname -a
$ lsb_release -a
检查一下。
来源
- https://www.loggly.com/ultimate-guide/using-journalctl/
- Ubuntu 16.04+ 重启后如何查找以前的启动日志?
- https://unix.stackexchange.com/questions/159221/how-do-i-display-log-messages-from-previous-boots-under-centos-7
- https://unix.stackexchange.com/questions/181067/how-to-read-dmesg-from-previous-session-dmesg-0
- https://superuser.com/questions/565927/differences-in-var-log-syslog-dmesg-messages-log-files
答案2
从 TTY 终端(您说可以访问的终端)尝试运行
sudo apt update && sudo apt upgrade
我知道这听起来像是一个过于简单的解决方案,但它很可能会升级你的内核。如果它不起作用,请每隔几天尝试一次,直到你获得新的内核版本。它会在输出中说明这一点。
答案3
我不会给出如何修复它的说明,而是解释一下可能发生的情况。
很有可能,您安装了更新,或者通过无人值守升级安装了更新,而更新中包含的新内核由于某种原因无法安装。最可能的原因是磁盘已满(或者可能只是 /boot 已满),或者安装以某种方式中断而未完成。
此时正确的解决方案是选择一个较旧的内核,直到找到一个可以正确启动的内核,然后检查日志并更正错误,然后重新运行更新。这样应该可以解决这个问题。如果较旧的内核成功启动,则无需重新格式化 - 您甚至可以继续使用较旧的内核正常使用系统。
由于您已经重新安装,可能没有剩余的日志可供检查,因此很难确切地说出失败的原因。
答案4
我在启动时反复按 esc 以进入 grub 屏幕*(包含要启动的选项列表),并使用以前的内核版本。从那里,我收集了文件并重新格式化了我的驱动器。
有点像核选项。有兴趣听听更简单的选项。
*正如其他一些帖子所建议的那样