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公式Webサイトからドライバーをダウンロードします。

グラフィックス カードのモデルに応じてドライバーをダウンロードし(Ctrl + マウス クリック - 「ジャンプ」)、公式 Web サイトが推奨する .run ファイルをダウンロードし、ダウンロードが完了したらメイン ディレクトリに移動します。

4.グラフィックカードドライバーをインストールする

软件和更新-附加驱动ドライバーをubuntu に直接インストールすることをお勧めします。

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