一、关于显卡的两个基本概念 -- 显卡驱动 / 显卡BIOS
(1)什么是BIOS
- BIOS的作用:BIOS是电脑上电开机时加载进内存的第一个程序,CPU会执行他进行系统自检,然后通过其中的指令加载操作系统;例如主板BIOS,会先对各种电脑硬件进行自检,然后加载Windows操作系统;
- 需要注意的是:你能够在主板BIOS中看到CPU信息、内存信息、南北桥信息、硬盘(SATA)信息、光驱(IDE)信息、集成显卡等几乎所有硬件信息,却看不到独立显卡的信息;这是因为独显并不受主板BIOS控制,显卡内部有自己的BIOS;显卡BIOS的作用和主板BIOS是一样的,只不过显卡BIOS只控制显卡,主板BIOS则负责控制其他硬件;
主板BIOS的作用:
(1)除了独立显卡外的各种硬件的自检;
(2)启动操作系统;
(3)使用操作系统作为平台(链接软件和硬件的平台)加载各个硬件的驱动;
(4)进而使电脑可通过操作系统上的驱动程序,来指挥各个硬件的工作;
显卡BIOS的作用:
(1)对独立显卡进行自检;
(2)启动仅针对于这个独立显卡的 “操作系统”;
(3)使用该 “操作系统” 作为平台加载显卡驱动;
(4)进而使电脑可通过 “操作系统” 上的显卡驱动,来指挥独立显卡的工作;
(2)什么是显卡BIOS
- 显卡BIOS是存储在显卡电路板上某个芯片里的程序,这个程序只提供了最基础的输入输出功能,他不依赖任何的操作系统,这个BIOS会在电脑刚上电,操作系统还没有启动的时候就被载入电脑内存,我们在进入操作系统之前就出现的桌面就是显卡BIOS在启动的时候提供的;
- 既然有了BIOS可以提供显示功能,那为什么还要搞个驱动程序出来?因为这个BIOS只提供了最基础的显示功能,甚至不支持高分辨率,只能提供最基础的VGA标准(640*480)/SVGA标准(800*600);而且不连接显卡驱动,就无法使用很多针对独显开发的一系列强大的功能;
(3)那 nouveau 是啥?
- nvidia 不仅给 windows 操作系统提供了独显驱动,也给 Linux 提供了独显驱动,但这个驱动都是闭源的;
- 本来在开机的时候是使用显卡BIOS进行图形输出(这个时候操作系统都还没有启动,显卡驱动更没有启动了);
- 但是一些 Linux 大佬觉得使用显卡BIOS(内核显示驱动)进行最开始的图形显示太垃圾了,所以想提前加载显卡驱动,即电脑上电之后不执行独显内部提供的显卡BIOS,而是直接使用第三方开发的BIOS直接启动显卡驱动,进行开机动画显示;但是 nvidia 拒绝了,所以大佬们对显卡驱动进行了逆向,做成了一个第三方驱动,命名为 nouveau;
- nouveau 的作用为:开机阶段使用 nouveau 作为显卡驱动,开机后使用 nvidia 官方提供的驱动作为显卡驱动;
- 但是毕竟是第三方开发的,和新版显卡的兼容性不是那么好,所以可能出现进入 Ubuntu 时黑屏,因此最保险的方法还是使用显卡BIOS作为开机时进行图形输出的工具最保险,毕竟显卡BIOS可是 nvidia 官方自己开发的;(禁用 nouveau)
参考视频:1_NVIDIA显卡黑屏的原因和解决思路_哔哩哔哩_bilibili
二、安装 Ubuntu 时出现黑屏
参考视频:3_UEFI引导的黑屏解决办法_哔哩哔哩_bilibili
三、安装完成后进入 Ubuntu 时出现黑屏
参考视频:4_系统安装后的黑屏解决办法_哔哩哔哩_bilibili
四、如何给 Ubuntu 安装显卡驱动
准备工作1:禁用 nouveau
打开系统的黑名单列表文件
sudo gedit /etc/modprobe.d/blacklist.conf
- 在文件末尾将 nouveau 添加进去,保存关闭
blacklist nouveau
- 令黑名单生效
sudo update-initramfs-u
准备工作2:进入 BIOS ,关闭 Secure Boot
- 防止在后面安装驱动的过程中会要求对驱动程序进行签名
方法1:官方途径安装驱动
- 官网下载对应型号的显卡驱动
- 注意:如果是从 Windows 或其他系统中拷贝来的驱动文件,需要执行下面这个指令确保用户获得这个文件的执行权限
chmod +x NVIDIA-Linux-x86_64-(版本号).run //NVIDIA-Linux-x86_64-(版本号).run 就是下载的驱动文件的文件名
- 运行驱动安装程序
sudo bash NVIDIA-Linux-x86_64-(版本号).run
参考内容:
- 5_下载NVIDIA官方驱动_哔哩哔哩_bilibili
- 6_安装NVIDIA官方驱动_哔哩哔哩_bilibili
- ubuntu | 安装nvidia驱动_ubuntu nvidia驱动 csdn-CSDN博客
方法2:将所有的驱动都更新,包括显卡驱动
- 注意:这个方法吃网卡驱动,只是记录一下这个方法,没有试过也不推荐
- 查看推荐驱动
ubuntu-drivers devices
- 自动更新所有的驱动
sudo ubuntu-drivers autoinstall
参考文章:Ubuntu 18.04 安装 NVIDIA 显卡驱动 - 知乎
方法3:使用settings里推荐的显卡驱动