如何在Ubuntu 22.04 LTS下升级系统时避免NVIDIA 820M显卡驱动失效问题
如何在Ubuntu 22.04 LTS下升级系统时避免NVIDIA 820M显卡驱动失效问题
嗨,太懂你每次升级系统都要折腾显卡驱动的崩溃感了——毕竟NVIDIA 820M这种老卡的驱动适配在新内核下确实麻烦,尤其是你还用了补丁版的驱动。下面几个实用方法应该能帮你彻底摆脱这个升级噩梦:
方法1:锁定当前可用内核(快速临时方案)
既然问题根源是新内核不兼容你用的补丁版390驱动,那先把当前能正常工作的内核版本锁死,不让系统自动更新内核就行:
- 先打开终端,查看你现在正在用的内核版本:
会输出类似uname -r6.5.0-27-generic这样的版本号。 - 执行命令锁定相关内核包,防止它们被更新:
sudo apt-mark hold linux-image-$(uname -r) linux-headers-$(uname -r) linux-modules-$(uname -r) linux-modules-extra-$(uname -r) - 之后再执行系统升级时,内核就不会被替换,自然也就不会触发驱动不兼容的黑屏问题了。
提醒:如果之后遇到必须安装的内核安全补丁,记得先用sudo apt-mark unhold <对应包名>解锁,再找适配新内核的补丁驱动,或者直接换下面的长期方案。
方法2:改用DKMS版本的补丁驱动(推荐长期根治方案)
你现在用的GUI安装版驱动不会自动适配新内核,而DKMS(动态内核模块支持)可以在每次内核更新时自动重新编译驱动模块,完美解决这个痛点:
- 先彻底卸载当前的NVIDIA驱动,避免残留冲突:
sudo nvidia-uninstall sudo apt purge nvidia-* sudo reboot - 找到支持内核6.5+的390驱动DKMS补丁包(社区一般会有维护适配的版本),下载后解压到本地。
- 先安装DKMS依赖工具:
sudo apt install dkms build-essential linux-headers-generic - 进入解压后的驱动目录,执行DKMS安装命令(具体命令根据补丁包版本微调,大致格式如下):
这里的sudo dkms add ./nvidia-390-xxx sudo dkms build nvidia-390/xxx sudo dkms install nvidia-390/xxxxxx是驱动的具体版本号,比如390.157。 - 安装完成后重启系统,之后再升级内核,DKMS会自动帮你重新编译适配新内核的驱动模块,再也不用手动重装驱动了。
方法3:切换开源驱动作为应急备选
如果上面的方法暂时没法实施,你可以考虑用NVIDIA的开源驱动nouveau过渡,虽然性能不如闭源驱动,但胜在系统升级不会黑屏:
- 卸载闭源驱动后重启,系统会自动加载nouveau驱动。
- 如果需要手动启用,编辑
/etc/modprobe.d/blacklist-nvidia.conf(没有就新建),注释掉所有blacklist nouveau的行,然后执行:sudo update-initramfs -u sudo reboot
总体来说,方法2是最一劳永逸的选择,用DKMS版本的补丁驱动彻底解决内核升级的适配问题;如果暂时找不到合适的DKMS包,方法1也能让你正常升级系统软件,不用每次折腾驱动。
备注:内容来源于stack exchange,提问作者Giga Chad
相关产品推荐
相关产品推荐

