精粤x99主板搭E5 2680V4 CPU,Ubuntu 22.04.1系统插英伟达计算卡P40后黑屏

grub配置文件自己想组装个服务器,结果遇到了ubuntu系统插英伟达计算卡P40后显示器黑屏现象,主板故障灯报错如下:

解决方案:
把英伟达的计算卡先拔出来,用核显或者有HDMI的独显
开机按delete进入bios模式:
找到Advanced 菜单,点击菜单下的PCI  Subsystem Settings

修改Above 4G Decoding 和Re-Size BAR Support 为Enabled

然后重启系统,在ubuntu系统中装上英伟达的驱动,如果是单显卡,可直接使用

sudo ubuntu-drivers autoinstall

如果是多显卡,直接使用sudo ubuntu-drivers autoinstall 重启后会黑屏,仅显示光标或无法进入图形界面,如果遇到黑屏,左上方只有光标闪动:
当然,如果系统已经装了驱动,再使用sudo ubuntu-drivers autoinstall重启后也会黑屏,无论手动装驱动还是使用ubuntu-drivers autoinstall自动检测GPU装驱动,一定彻底卸载掉现有的 NVIDIA 驱动以清除冲突后再装!!!
不然会报错:
使用

nvidia-smi 

会得到报错:Failed to initialize NVML: Driver/library version mismatch
可通过以下命令来检查驱动和GPU内核版本是否一致,一般来说是肯定不一致的,因为你没有卸载驱动直接使用ubuntu-drivers autoinstall安装的驱动,会导致驱动更新,但内核版本还是保留为原来的版本:

 

dpkg -l | grep nvidia
cat /proc/driver/nvidia/version

遇到这个报错可参考这个解决:已解决【nvidia-smi】Failed to initialize NVML: Driver/library version mismatch解决方法-腾讯云开发者社区-腾讯云

 彻底卸载掉现有的 NVIDIA 驱动命令:

sudo apt-get remove --purge '^nvidia-.*'
sudo apt-get autoremove
sudo apt-get autoclean

安装适用于 NVIDIA 显卡的开源驱动nouveau。 

sudo apt-get install xserver-xorg-video-nouveau

确保图形界面环境完整并重置 Xorg 配置。 

sudo apt-get install ubuntu-desktop
sudo dpkg-reconfigure xserver-xorg
sudo reboot

 重启即可解决黑屏问题,然后可查看GPU硬件可装的驱动和版本:

ubuntu-drivers devices


但是nouveau是开源的驱动,不支持CUDA加速计算,我们还是要装英伟达自己的驱动,装驱动前要知道自己的英伟达显卡到底支不支持UEFI,P40计算卡就不支持

如果不支持,则把Video改为Legacy,其他选项最好也选择legacy,保持兼容性一致,BIOS中的CSM设置如下所示:

对于 不支持UEFI的显卡,还需要编辑Ubuntu的grub配置文件,如果黑屏无法进入,在Ubuntu GRUB 图形界面选择advanced 模式进入recovery mode,选择root进入root terminal命令行编辑,如果无法进入GRUB 图形界面,最坏的情况是把计算卡先拔出来,然后拔掉主板上的纽扣电池,等待15s后重新插入,主板会自动恢复到最初的BIOS设置,然后先成功进入Ubuntu系统,编辑好grub配置文件再reboot ,当然如果黑屏要根据情况分析,如果主板故障灯报A6,有可能是显卡没有插好,重新插拔再重启即可

sudo vi /etc/default/grub

插入计算卡后grub配置文件如下: 

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
#GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX="text"

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

更新grub配置文件 

sudo update-grub

然后下载显卡相应的驱动 ,可以下载亮机卡的推荐驱动,也可以下载计算卡的驱动,根据个人需要,但是要设置好BIOS中相应的设置,我这里直接下载的计算卡的驱动,因为要用P40做加速计算:

sudo apt install nvidia-driver-570-server

禁用开源驱动Nouveau​​(与NVIDIA驱动冲突):

先检查Nouveau开源显卡驱动在没在用:
 

lsmod | grep nouveau
  • ​如果有输出​​(如 nouveau及相关模块),说明系统正在使用Nouveau驱动。

  • ​若无输出​​,则Nouveau未加载。

 若有输出,需禁用nouveau

sudo vi /etc/modprobe.d/blacklist.conf

 增加以下内容并保存:

blacklist nouveau
options nouveau modeset=0

装好英伟达驱动并完成禁用开源驱动Nouveau​​后,关机:

sudo shutdown now

断电后再次插入英伟达计算卡P40,开机,发现黑屏不显示问题已经解决
检查英伟达驱动是否安装成功:

sudo nvidia-smi 

这里应该是成功的,但是发现一个兼容性问题,服务器重启后,网卡无法自动连接,网络连接不上的问题,一开始以为是ubuntu grub或者BIOS设置的问题,排错后发现都不是,只有拔掉英伟达P40计算卡后,重启开机网络能够配置好,且启动系统时会存在A start job is running for wait for network to be Configured长时间等待问题,长期等待网络连接的原因:
先解决A start job is running for wait for network to be Configured长时间等待问题:

sudo systemctl status systemd-networkd-wait-online.service

应该时有报错error,所以编辑一下网络连接等待的配置文件:
 

sudo vim /etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service

[Service]下添加一行,设置为等待5秒超时:

 保存后重启系统即可

sudo reboot now

解决长时间等待问题,长期等待网络连接问题后,我们继续解决Ubuntu重启后网络不会自动连接的问题,经过以上排错后,发现这个问题应该和硬件配置和系统配置关系不大,也不是英伟达显卡驱动和驱动版本的事,最后发现是下载了NetworkManager后,全局网络管理配置文件中仅允许管理 WiFi(wifi)、蜂窝网络(gsm/cdma),而排除了其他类型设备(包括以太网)因此需要修改一下全局网络管理配置文件,具体修改措施参考:

  Ubuntu连接不上网络问题(Network is unreachable)-优快云博客
当然,还要记得避免服务器默认使用的systemd-networkd和NetworkManager冲突问题,如果通过修改配置文件,网络已经可以自动连接了,那么不需要变动,如果还不能自动连接,需要考虑两个服务管理网口冲突的问题,需要禁用其中一个服务,我这里修改好NetworkManager的配置文件后就可以自动连接了,所以这里我并没有禁用任何一个服务,如果你需要禁用其中之一的服务,可以参考:​

  • ​禁用 systemd-networkd​:

    sudo systemctl stop systemd-networkd  
    sudo systemctl disable systemd-networkd  
    sudo systemctl enable --now NetworkManager  
  • ​禁用 NetworkManager​:

    sudo systemctl stop NetworkManager  
    sudo systemctl disable NetworkManager  
    sudo systemctl enable --now systemd-networkd  

查看两个不同的服务管理的接口: 

networkctl list          # 查看 systemd-networkd 管理的接口
nmcli device status      # 查看 NetworkManager 管理的接口

 然后重启系统即可

sudo reboot now

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值