我们最近遇到了这个问题。在我们的例子中,AWS实例上的默认内核似乎已升级(从4.4.0-1049-aws到4.4.0-1061-aws),但新内核没有安装nvidia模块:
ubuntu@ip-XXX-XXX-XXX-XXX:~$ ls -laR /lib/modules/4.4.0-1061-aws | grep -i nvidia
ubuntu@ip-XXX-XXX-XXX-XXX:~$ ls -laR /lib/modules/4.4.0-1049-aws | grep -i nvidia
-rw-r--r-- 1 root root 87368 Jun 27 10:21 nvidia-drm.ko
-rw-r--r-- 1 root root 1155304 Jun 27 10:21 nvidia-modeset.ko
-rw-r--r-- 1 root root 1163016 Jun 27 10:21 nvidia-uvm.ko
-rw-r--r-- 1 root root 18014088 Jun 27 10:21 nvidia.ko
检查您的内核版本(uname -a),看看您是否属于这种情况。 GRUB 配置允许引导旧内核映像 (1049),但默认情况下它会加载新内核映像 (1061)。 /boot/grub/cfg 的相关部分:
ubuntu@ip-XXX-XXX-XXX-XXX:~$ grep -i -e "ubuntu, with linux" /boot/grub/grub.cfg
menuentry 'Ubuntu, with Linux 4.4.0-1061-aws' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-1061-aws-advanced-XXXX' {
menuentry 'Ubuntu, with Linux 4.4.0-1061-aws (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-1061-aws-recovery-XXXX' {
menuentry 'Ubuntu, with Linux 4.4.0-1049-aws' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-1049-aws-advanced-XXXX' {
menuentry 'Ubuntu, with Linux 4.4.0-1049-aws (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-1049-aws-recovery-XXXX' {
您可以使用 grub-reboot 强制在下次重新启动时加载旧内核:
sudo /usr/sbin/grub-reboot "Advanced options for Ubuntu>Ubuntu, with Linux 4.4.0-1049-aws"
sudo reboot
这将使用旧内核启动实例,您有 nvidia 模块。