我已经有两周没有使用过我的 Ubuntu 分区了。回来后,我像往常一样进行了软件包升级,如果我没记错的话,其中可能还包含了一些新的 nvidia 软件包。重新启动后,系统在新启动后完全挂起。
我已经尝试过但没有成功:
- 用于
nomodeset
验证驱动程序问题。系统启动,但几秒钟后再次挂起。这似乎与图形驱动程序部分有关,因为我可以键入、登录并在终端内键入命令(即使我看到相同的登录页面,因为我是凭记忆进行的)。即使更改日志级别或使用 tty2 控制台也会立即挂起。 - 使用 Ubuntu 恢复模式。几秒钟后它也会挂起。
- 运行
fsdisk
检查文件系统是否损坏但没有列出问题。 - 从 GRUB 菜单 ( ) 更改初始化系统
init=/bin/sh
。这是我与系统交互的唯一方式,但更改初始化系统会给我带来很多限制。如果我只能连接到互联网,我可以尝试删除 nvidia 软件包,然后重新安装ubuntu-desktop
或做其他事情,但我不知道如何从那里启动新网络。
如果您需要更多信息,我很乐意提供给您。我宁愿找到一个解决方案(这看起来真的很愚蠢,但仍然......)而不是重新安装操作系统。
答案1
因此,经过深入研究,推测是视频驱动程序问题。最新的 nvidia 驱动程序安装 ( nvidia-driver-470
) 已损坏,导致系统在启动时挂起。我仍然无法弄清楚 nomodeset 是如何导致视频输出冻结的,但无论如何......
我所做的是在“安全模式”下启动,添加init=/bin/sh
并更改ro
GRUBrw
脚本,然后手动删除损坏的驱动程序:
sudo apt-get remove --purge '^nvidia-.*'
有人说该nvidia-common
软件包与 有依赖关系,ubuntu-desktop
但我的情况并非如此。否则,在继续操作之前,强烈建议重新安装ubuntu-desktop
。
重启后,nouveau 驱动程序应该会自动运行。为了确保 nouveau 会在启动时加载,我将其添加到 /etc/modules 并删除(注释掉)nvidia 模块来强制加载它:
echo 'nouveau' | sudo tee -a /etc/modules
最后,删除 Xorg 配置文件:
sudo rm /etc/X11/xorg.conf
重新启动后,我可以再次使用 GUI,并从软件和更新窗口正确地重新安装最新的 nvidia 驱动程序。