Ubuntu 安装与 NVIDIA 显卡驱动配置 2篇

文章目录

Ubuntu 安装与 NVIDIA 显卡驱动配置

一、安装步骤

1. 准备工作

准备8GB以上U盘用于制作启动盘,提前备份所有重要数据。

2. 制作启动盘

建议使用 Rufus 或 UltraISO 等工具制作。

3. 调整BIOS设置(雷神电脑及新Windows系统必备)

  • 关闭Secure Boot:部分情况需操作,可尝试开启或关闭测试。
  • 更改磁盘模式:若预装Windows 11,需在BIOS中将磁盘模式从RST改为AHCI。
  • 注意:更改磁盘模式可能影响原有Windows系统,双系统用户务必提前备份数据。

4. 安装系统

  • 启动电脑,进入系统前按住快捷键(F11/F12等常用)进入grub。
  • 选择USB启动盘,点击 Try or Install Ubuntu。
  • 进入试用桌面后,双击 Install Ubuntu 开始安装。

二、常见问题及解决方案

1. 启动盘无法识别

尝试使用 Bootice 工具进行UEFI引导修复。

2. 安装界面黑屏/花屏(显卡驱动不兼容)

核心原因

Ubuntu自带的开源 nouveau 驱动对新款高端显卡(如RTX 4070)支持滞后、不完善,导致启动时黑屏、卡死或显示异常。Live CD(usb 启动盘->Try Ubuntu)使用通用驱动可正常运行,而真实安装后系统尝试调用专用驱动时因配置不匹配卡住。

解决步骤
  1. 禁用开源nouveau显卡驱动,系统会使用一个基本的显示驱动(如vesa或fbdev)来显示图形界面。
  2. 安装系统:若通过grub临时禁用开源驱动,安装完成后启动系统时,需再次通过grub临时禁用才能进入。
  3. 安装NVIDIA官方驱动,完成后恢复正常显示。
关键说明
  • nomodeset内核参数:告诉Linux内核启动初期不设置显卡显示模式,使用BIOS/UEFI固件的基础低分辨率模式(如1024x768)。
  • 不加nomodeset:内核会调用nouveau驱动设置显卡参数(KMS),对RTX 4070易失败导致黑屏。

三、禁用nouveau驱动的三种方法

方法1:通过grub临时配置禁用(推荐)

步骤
  1. 进入grub界面:开机后主板LOGO出现瞬间,快速连续按Shift键或Esc键(UEFI系统Esc键更有效);若无效,可长按Ctrl+Alt键,同时快速按F1/F2/F12或Ctrl+Alt+F1组合。
  2. 编辑启动参数:在GRUB启动界面按e键进入编辑模式,在 quiet splash 后添加 nomodeset 或 nouveau.modeset=0 参数,将 quiet splash --- 改为 quiet splash nomodeset(或 quiet splash nouveau.modeset=0)。
  3. 启动系统:按Ctrl+X或F10使用修改后的参数启动。
  4. 特殊情况:Ubuntu 24.04需额外添加 nvme.noacpi=1 参数,即 quiet splash nomodeset nvme.noacpi=1;仍卡住可尝试添加 acpi=off nvidia-drm.modeset=1。
  5. 示例配置:linux /boot/vmlinuz-xxxxx root=UUID=xxxxx ro quiet splash nomodeset(或 nouveau.modeset=0)。

方法2:通过recovery模式终端禁用

  1. 重启电脑,在GRUB菜单(就是选择登陆哪个系统的界面)->选择"Ubuntu 高级选项Advanced options for ubuntu"→"恢复模式"recovery mode"。
  2. 在弹出的恢复菜单中选择"root"进入root shell,执行卸载以及NVIDIA官方驱动安装,以及reboot等操作。

方法3:通过USB启动盘chroot禁用(需Try Ubuntu正常启动)

步骤
  1. 从USB启动盘启动,选择"试用Ubuntu"。

  2. 打开终端,查看分区:sudo fdisk -l。

  3. 挂载原系统分区及必要文件系统:

    bash 复制代码
    sudo mount /dev/nvme0n1p2 /mnt  # 替换为原系统根分区
    sudo mount /dev/nvme0n1p1 /mnt/boot/efi  # 若存在EFI分区需挂载
    sudo mount --bind /dev /mnt/dev
    sudo mount --bind /proc /mnt/proc
    sudo mount --bind /sys /mnt/sys
    sudo mount --bind /run /mnt/run
  4. 进入原系统环境:sudo chroot /mnt。

  5. 执行NVIDIA官方驱动安装操作,完成后退出并卸载挂载点:

    bash 复制代码
    exit  # 退出chroot
    sudo umount /mnt/run
    sudo umount /mnt/sys
    sudo umount /mnt/proc
    sudo umount /mnt/dev
    sudo umount /mnt/boot/efi
    sudo umount /mnt
  6. 重启系统。

chroot修复原理

通过chroot命令切换根目录到原系统挂载点,使终端命令直接作用于原系统,实现驱动修复或重装。

使用chroot(change root)命令来切换根目录到另一个环境(比如被损坏的系统挂载点)。

比如使用usb启动盘进行系统修复:

当从USB启动盘启动临时系统,然后将临时系统的根目录,通过挂载替换成原系统的根分区,

而后使用chroot,便可以进入原系统,

此时在chroot环境中执行的命令都会作用于原系统。

这是因为chroot会改变当前进程及其子进程的根目录,使得它们将指定的目录视为根目录/。


四、手动永久禁用nouveau驱动(可选,稳妥方案)

步骤

  1. 创建黑名单配置文件:

    bash 复制代码
    sudo nano /etc/modprobe.d/blacklist-nouveau.conf
  2. 写入以下内容:

    bash 复制代码
    blacklist nouveau
    options nouveau modeset=0
  3. 更新initramfs:

    bash 复制代码
    sudo update-initramfs -u
  4. 重启验证:执行 lsmod | grep nouveau,无输出则禁用成功。


五、NVIDIA官方驱动安装

方法1:命令行安装

bash 复制代码
# 自动安装推荐驱动
ubuntu-drivers autoinstall

# 或手动指定版本(如550版)
apt install nvidia-driver-550

方法2:图形界面安装

  1. 打开"软件和更新"应用。
  2. 切换到"附加驱动"标签页。
  3. 选择最新的专有NVIDIA驱动(标记"使用NVIDIA驱动专有显卡驱动")。
  4. 点击"应用更改",等待安装完成。

安装后验证

bash 复制代码
# 检查驱动状态
nvidia-smi

# 查看当前使用的显卡驱动
prime-select query

# 查看驱动版本
nvidia-settings --version

关键后续操作:还原Grub参数

  1. 编辑GRUB配置:

    bash 复制代码
    sudo nano /etc/default/grub
  2. 将 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset" 改为 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"(移除nomodeset)。

  3. 保存更新:

    bash 复制代码
    update-initramfs -u
    update-grub
  4. 重启系统:reboot。


六、GRUB相关配置与修复

1. 永久显示GRUB菜单

bash 复制代码
sudo nano /etc/default/grub
# 修改或添加以下行
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=10
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
# 保存后更新
sudo update-grub

2. 临时生成GRUB配置(GRUB损坏时)

bash 复制代码
sudo grub-mkconfig -o /boot/grub/grub.cfg

3. 解决UEFI固件干扰,延长启动时间

  1. 开机按Del或F2进入BIOS/UEFI设置。
  2. 找到"启动"选项,关闭"快速启动"(Fast Boot)。
  3. 将"启动延迟"设置为3-5秒。

4. GRUB完全损坏应急方案

  1. 使用Ubuntu安装U盘启动,选择"试用Ubuntu"。

  2. 挂载系统分区并重装GRUB:

    bash 复制代码
    sudo mount /dev/nvme0n1p2 /mnt  # 替换为原系统根分区
    sudo mount /dev/nvme0n1p1 /mnt/boot/efi  # 挂载EFI分区
    sudo grub-install --boot-directory=/mnt/boot /dev/nvme0n1
相关推荐
HIT_Weston2 小时前
25、【Ubuntu】【远程开发】内网穿透:密钥算法介绍(一)
linux·运维·tcp/ip·ubuntu
9ilk2 小时前
【基于one-loop-per-thread的高并发服务器】--- 自主实现HttpServer
linux·运维·服务器·c++·笔记·后端
HMS Core2 小时前
【FAQ】HarmonyOS SDK 闭源开放能力 — Push Kit
linux·python·华为·harmonyos
LFly_ice2 小时前
Docker核心概念与实战指南
运维·docker·容器
Once_day2 小时前
Linux之rsyslog(4)属性配置
linux·服务器
waving-black2 小时前
Linux中自定义服务开机自启nginx
linux·服务器·nginx
Lenyiin2 小时前
《 Linux 修炼全景指南: 六 》软件包管理器
linux·运维·服务器
NiKo_W3 小时前
Linux 重定向与Cookie
linux·运维·服务器·前端·网络·线程·协议
ytttr8733 小时前
Rocky Linux 8.9配置Kubernetes集群详解,适用于CentOS环境
linux·kubernetes·centos