前几天我在一台塔式电脑上安装了 Ubuntu 22.04(桌面版)。然后我又安装了一个定制驱动程序对于开箱即用的 Wi-Fi 适配器和一些专有的 NVidia 驱动程序(当 Ubuntu 启动时它们已经在运行,我不需要做任何事情来安装它们)。
大约一天的时间里一切都很好。刚才,我再次启动了机器,屏幕分辨率为 1024x746。上周,我在尝试让 NVidia 驱动程序在较旧的 Ubuntu 安装上运行时看到了这种情况,因此我意识到这可能是这些驱动程序这次无法加载的症状。但是,我还注意到我的 Wi-Fi 已关闭 - Wi-Fi 部分甚至没有出现在设置中,即 Ubuntu 甚至看不到适配器。所以我得出结论,不知何故,Ubuntu 突然无法加载任何驱动程序。
我不想再次重新安装 Ubuntu(对我来说,这周我已经重新安装太多次了)。
可能还与此相关的是,在此之前发生的最后一件事是系统电源关闭不当。屏幕关闭时,我按下电源按钮,以为是打开了系统,但它却关闭了。现在每次启动时,Ubuntu 都会在启动过程中向我显示一条消息,提示“按 Ctrl+C 取消文件系统检查”或类似内容。当我关闭系统时,应该没有发生任何特别敏感的事情(据我所知,它只是在登录屏幕上闲置),但由于当时屏幕是关闭的,所以我不知道。
我怎样才能至少事后分析这个问题并希望修复它?
其他
答案1
我似乎已经解决了这个问题。据我所知,Ubuntu 在我背后更新了内核版本,从而使我安装的驱动程序失效。
我之所以这么想,是因为当我在调查这个问题时,我想尝试获取与 Nvidia 和 wi-fi 相对应的实际内核模块的名称,所以我跟着这个建议并查看了/lib/modules/[kernel_version]
。我有点惊讶地发现有两个内核版本:
jack@tower:~$ ls /lib/modules
5.15.0-43-generic 5.15.0-56-generic
查看.0-43
文件夹,我发现了一些 NVidia 的东西:
jack@tower:~$ ls /lib/modules/5.15.0-43-generic/kernel
arch fs net nvidia-470 nvidia-515 ubuntu
block kernel nvidia-390 nvidia-470srv nvidia-515srv v4l2loopback
crypto lib nvidia-418srv nvidia-510 samples zfs
drivers mm nvidia-450srv nvidia-510srv sound
但56
目录中没有 (我已经再次安装了这些驱动程序,所以我无法提供ls
输出,你只能相信我的话)。此时uname -r
返回56
版本。
这让我有点怀疑,所以我卸载了我的自定义 Wi-fi 驱动程序并重新安装。我这样做时注意到安装程序脚本正在将内容放入56
内核版本目录中。我检查了目录中的同一位置43
,果然有 wifi 文件(88x2bu.ko
)。
重启后,Wi-fi 又能用了。然后我进入“附加驱动程序”Ubuntu 程序并重新安装 NVidia 驱动程序(没有更新按钮,所以我不得不取消选择并重新选择正确的版本并点击“应用更改”)。再次重启后,图形又能正常工作了。
如果有人能向我解释这是否真的发生了,如何确认,如何发生以及如何避免再次发生,我将不胜感激。