Ubuntu 20.04 - NVIDIA 그래픽 카드 드라이버 설치 및 제거 - 검은색 화면 문제 해결

이 단계는 매우 중요합니다.

202300704 업데이트, 검은 화면 문제는 주로 Linux 커널 업데이트로 인해 발생합니다.

# 一定要保持当前的内核,也就是安装 NVIDIA 驱动时用的内核
sudo apt-mark hold linux-image-generic linux-headers-generic

1. 원본 오픈소스 드라이버 차단

20230706 22:46 업데이트: 이 단계는 쓸모가 없는 것 같습니다! ! !

sudo gedit /etc/modprobe.d/blacklist.conf
# 在文件末尾输入
blacklist nouveau
options nouveau modeset=0
# 更新
sudo update-initramfs -u
# 重启
reboot
# 重启后验证是否完成屏蔽
lsmod | grep nouveau
# 无输出则屏蔽成功

2. 그래픽 카드 모델을 확인하세요

# 查看nvidia显卡型号
lspci | grep -i nvidia 
# 输出
01:00.0 3D controller: NVIDIA Corporation Device 25a0 (rev a1)
# 查看集成显卡型号
lspci | grep -i vga

PCI ID 저장소는 16진수 숫자 코드에 따라 해당 그래픽 카드 모델을 찾을 수 있습니다.

3. NVIDIA 공식 웹사이트에서 드라이버를 다운로드하세요.

그래픽 카드 모델에 맞는 드라이버를 다운로드 (ctrl + 마우스 클릭 - "Jump")한 후 공식 홈페이지에서 권장하는 .run 파일을 다운로드한 후, 다운로드가 완료된 후 메인 디렉터리로 이동합니다.

4. 그래픽 카드 드라이버 설치

우분투에서는 软件和更新-附加驱动드라이버를 직접 설치하는 것이 좋습니다.

4.1 수동 설치

# 添加权限
sudo chmod a+x NVIDIA-Linux-x86_64-*.run
# 安装
sudo ./NVIDIA-Linux-x86_64-*.run -no-x-check -no-nouveau-check
// -no-opengl-files 只安装驱动文件,不安装OpenGL文件(据说台式机需要,否则会循环登录)
// -no-x-check 安装驱动时不检查X服务(for:you appear to be running an x server pleaseexit x before installing)
// -no-nouveau-check 安装驱动时不检查nouveau
// 安装过程中会询问是否安装32位的,选择 NO
// 安装过程或询问是否执行 nvidia-xconfig 选择 NO

# 安装完成后挂载nvidia
modprobe nvidia
# 验证是否安装成功
nvidia-smi
// 会显示显卡温度,风扇转数等信息
# 安装选择显卡的工具
sudo apt install nvidia-prime
# 选择使用nvidia
sudo prime-select nvidia
// nvidia 使用nivdia显卡
// intel 使用intel集成显卡
// on-demand 使用混合显卡
// query 查看当前使用的显卡

5. NVIDIA 그래픽 카드 드라이버 제거 명령

# 按照上述教程安装的
sudo ./NVIDIA-Linux-x86_64-*.run --uninstall
# 使用sudo安装或者ubuntu软件更新器里面安装的
sudo apt remove --purge nvidia*
sudo apt autoremove

6. 검은색 화면 문제 해결

업데이트 20230706: 이 단계는 더 이상 필요하지 않으며 쓸모가 없습니다. 단지 커널이 업데이트되지 않도록 하세요.

문제 설명: nvidia 프라임 셀렉트를 수행한 후 컴퓨터를 다시 시작하면 왼쪽 상단에 커서가 깜박이고 로그인 페이지에 들어갈 수 없습니다. nvidia-xconfig우연히 명령을 실행하면 /etc/X11/xorg.conf시스템은 생성 후에도 여전히 로그인할 수 없지만 더 이상 루프에 로그인하지 않고 로그인 후 바로 멈추게 됩니다. **X11 구성 파일에서 문제가 발생합니다. 관련 참고 링크는 다음과 같습니다.

Ubuntu 환경에서 NVIDIA 드라이버를 설치하면 검은 화면이 나타나는 이유에 대한 약간 심층 분석

sudo nvidia-xconfig 실행 후 검은색 화면이 나타나는 이유

Ubuntu에 Nvidia 드라이버를 설치한 후 로그인/로그인 인터페이스가 루프에 갇히게 됩니다.

솔루션:

  1. nvidia-xconfig는 NVIDIA 그래픽 카드에 대한 xorg 구성 파일만 설정합니다. 코어 그래픽 + 독립 그래픽이 있는 컴퓨터에서는 이 구성 파일이 유효하지 않습니다. 그래서 로그인 후 바로 막히는 문제가 발생하게 됩니다 .
  2. xorg.conf가 없으면 X 서버는 시스템 상태를 감지하고 자동으로 구성을 생성합니다. 그러나 자동으로 생성된 구성은 독립 그래픽 드라이버를 nouveau(nvidia 드라이버 설치 중에 비활성화되는 시스템 자체 드라이버)로 감지합니다. 따라서 이 경우 프라임 셀렉트를 사용하여 기본 그래픽 카드를 독립 그래픽으로 설정하면 시스템이 드라이버를 찾을 수 없기 때문에 계속 시작하지 못하여 로그인 루프가 발생합니다 .

해결 단계:

# 终端执行
sudo nvidia-xconfig
# 此时会在/etc/X11中生成xorg.conf文件,打开进行编辑 --20230704 删除了这个文件还是可以进入图形界面
sudo gedit /etc/X11/xorg.conf

다음 콘텐츠로 바꾸고 nvidia-xconfig로 생성된 파일에 인텔 그래픽 카드에 대한 지원을 수동으로 추가하세요.

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 535.54.03

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "NVIDIA GeForce RTX3050TI"
    BusID          "PCI:1:0:0"
EndSection

Section "Device"
    Identifier     "intel"
    Driver         "modesetting"
    BusID          "PCI:0:2:0"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

BusID는 다음 명령으로 볼 수 있습니다.

xxxxxx:~$ lspci -k | grep -EA3 'VGA|3D|Display'
00:02.0 VGA compatible controller: Intel Corporation Device 46a6 (rev 0c)
	DeviceName: Onboard IGD
	Subsystem: Hewlett-Packard Company Device 89c0
	Kernel driver in use: i915
--
01:00.0 3D controller: NVIDIA Corporation Device 25a0 (rev a1)
	Subsystem: Hewlett-Packard Company Device 89c1
	Kernel driver in use: nvidia
	Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia

설치 과정에서 학습한 관련 명령을 기록합니다.

7. 그래픽 인터페이스 관리 명령

# 安装图形界面管理器
sudo apt install lightdm
# 切换
sudo dpkg-reconfigure lightdm // 登录在左边
sudo dpkg-reconfigure gdm3 // 登录在中间

8. 자동 커널 업데이트 명령 끄기

# 查看当前已安装内核
dpkg --get-selections | grep linux-image
linux-image-5.15.0-67-generic			install
linux-image-5.15.0-76-generic			install
linux-image-generic-hwe-20.04			install
# 保持当前内核
sudo apt-mark hold linux-image-generic linux-headers-generic
# 解除保持
sudo apt-mark unhold linux-image-generic linux-headers-generic

# 修改配置
sudo vim /etc/apt/apt.conf.d/10periodic
# 原来是这样的
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
APT::Periodic::Unattended-Upgrade "1";
# 改成这样的
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
APT::Periodic::Unattended-Upgrade "0";

# 修改配置
sudo vim /etc/apt/apt.conf.d/20auto-upgrades
# 原来是这样的
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
APT::Periodic::Unattended-Upgrade "1";
# 改成这样的
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
APT::Periodic::Unattended-Upgrade "0";                                

9. 커널 관리 관련 명령어

# 查看当前使用内核(绝对不能删除这个内核)
uname -r 
# 查看内核列表
sudo dpkg --get-selections |grep linux-image

linux-image-5.15.0-67-generic			deinstall
linux-image-5.15.0-76-generic			install
linux-image-generic-hwe-20.04			install
linux-image-unsigned-5.15.0-67-generic		deinstall


# or
sudo dpkg --get-selections |grep linux

binutils-x86-64-linux-gnu			install
console-setup-linux				install
libselinux1:amd64				install
libselinux1-dev:amd64				install
linux-base					install
linux-firmware					install
linux-generic-hwe-20.04				install
linux-headers-5.15.0-76-generic			install
linux-headers-generic-hwe-20.04			install
linux-hwe-5.15-headers-5.15.0-76		install
linux-image-5.15.0-67-generic			deinstall
linux-image-5.15.0-76-generic			install
linux-image-generic-hwe-20.04			install
linux-image-unsigned-5.15.0-67-generic		deinstall
linux-libc-dev:amd64				install
linux-modules-5.15.0-67-generic			deinstall
linux-modules-5.15.0-76-generic			install
linux-modules-extra-5.15.0-67-generic		deinstall
linux-modules-extra-5.15.0-76-generic		install
linux-sound-base				install
pptp-linux					install
syslinux					install
syslinux-common					install
syslinux-legacy					install
util-linux					install
# 删除内核
sudo apt remove linux-image-5.15.0-67-generic	 .. # 所有带5.15.0-67的

추천

출처blog.csdn.net/cwg213_code/article/details/131395846