【个人日记】修复ubuntu屏幕显示不正常

1. 问题描述

今天打开我的ubuntu系统之后,发现屏幕显示不正常(分辨率、画幅宽高比不对),这是我第二次遇到这个问题了,因此需要特意记录一下。

下次如果遇到相同的问题,可以直接看 "4. 小结" 这一节

2. 问题分析

  • 问题
    • 首先画面分辨率不对其实是显卡驱动的问题,可以通过DKMS修复。
    • 然而我尝试修复之后发现显卡驱动没问题了,但是网卡驱动有问题。而这还没办法通过修改网络配置来解决。
  • 分析
    • 问题的原因在于进入了错误的系统版本(可能是我的系统自动更新过,而重启时进入了新系统,导致驱动失效)
  • 解法
    • 综上所述,对我目前的设备而言,最好的方法就是固定我之前使用的系统,简称锁定系统版本

3. 具体修复过程

3.1 错系统上检查问题

  • 显示系统信息(终端命令行)
bash 复制代码
uname -r
  • 显示显卡相关信息(终端命令行)
bash 复制代码
nvidia-smi
  • 显示网卡相关信息(终端命令行)
bash 复制代码
ip addr show

这一步过后直接提示我

text 复制代码
1: lo:<LOOPBACK,UP,LOWER UP> mtu 65536 qdisc noqueue state UNKNOWN group defaul t qlen 1000 
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 
inet 127.0.0.1/8 scope host lo 
valid_lft forever preferred_lft forever inet6::1/128 scope host noprefixroute 
valid_ift forever preferred_lft forever 

AI 告诉我:

问题找到了!网卡完全没启动 - ip addr show 只显示了 lo(本地回环),没有显示 eth0、enp* 或 wlp* 等物理网卡。

这是内核 6.17.0 导致网卡驱动失效的典型症状。新内核可能缺少你的主板网卡驱动(X570S AORUS MASTER 通常是 Intel I225-V 或 Realtek 2.5G 网卡)。

最快解决方案:回退到旧内核

我继续问:不能通过设置一些网络设置来完成连接WiFi吗?

AI 回答:

不能 - 这不是设置问题,是硬件驱动层面完全没识别网卡

从你的输出看:

只有 lo(本地虚拟网卡)

没有任何无线网卡(wlp)或有线网卡(eth/enp*)显示

这意味着系统根本看不到你的物理网卡硬件,就像电脑没插网卡一样。无论怎么设置WiFi密码、IP地址都没用,因为底层硬件没驱动起来。

3.2 临时修改 grub 文件(目的是开机时可以选正确系统)

  • step1:打开 grub 文本文件(终端命令行)
bash 复制代码
sudo gedit /etc/default/grub

注:我这里是因为安装过 gedit 文本编辑器所以用 gedit 命令即可。没有安装的话,用 vim 或者 nano 命令

  • step2:修改 grub 文件内容
text 复制代码
# 修改这几行:
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=10
  • step3:使其生效(终端命令行)
bash 复制代码
sudo update-grub

3.3 重启时进入 GRUB

  • step1:F12 进入

    由于我的主板是 AORUS,开机时看到 AORUS logo 时立即按 F12 进入启动菜单

  • step2:一级菜单选 Advanced options for Ubuntu

    然后给我了几个选项

  • step3:二级菜单选择 老版本的系统

  • 这样进入之后就正常了

3.4 收尾

3.4.1 grub 文件修改

3.4.1.2 关键
  • 最关键的是修改 /etc/default/grub 的如下内容(注意选择正确的系统版本)
text 复制代码
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.14.0-37-generic"

并通过如下命令使其生效

bash 复制代码
sudo update-grub
3.4.1.2 具体步骤
  • step1:查看当前系统版本
bash 复制代码
uname -r
  • step2:查看并复制下面的信息(选择对应的系统版本的)
bash 复制代码
sudo grep menuentry /boot/grub/grub.cfg
  • step3:修改 grub 文件并使其生效

    • 终端命令行

      bash 复制代码
      sudo gedit /etc/default/grub
    • 修改内容

      text 复制代码
      GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.14.0-37-generic"
      GRUB_TIMEOUT_STYLE=hidden
      GRUB_TIMEOUT=0
  • step4:使其生效

bash 复制代码
sudo update-grub

3.4.2 删除问题内核

bash 复制代码
# 删除 6.17.0 内核镜像和头文件
sudo apt remove --purge linux-image-6.17.0-14-generic linux-headers-6.17.0-14-generic

# 清理残留
sudo apt autoremove
sudo apt autoclean

# 再次更新 GRUB
sudo update-grub

3.4.3 防止自动更新

bash 复制代码
# 锁定内核包,阻止自动更新
sudo apt-mark hold linux-image-generic linux-headers-generic

3.4.4 重启系统(用于验证)

bash 复制代码
sudo reboot

4. 小结

  • 问题:由系统更新导致的驱动不匹配
  • 解法:回滚系统版本。思路就是:
    • 重启时通过 F12 进入GRUB页面,选择老版本系统进行验证
    • 验证成功后修改 /etc/default/grub 文件,指定启动时用哪个系统
    • 最后补充一个阻止系统自动更新的操作,也可以补充一个 清理错误的系统 的操作
  • 操作:
    • step1:确认错误系统版本:uname -r

    • step2-1:修改 /etc/default/grub 文件,通过 sudo update-grub 使其生效

      text 复制代码
      # 修改这几行:
      GRUB_TIMEOUT_STYLE=menu
      GRUB_TIMEOUT=10
    • step2-2:重启系统,并选择某个老版本系统进行验证

      • sudo reboot
      • 看到 AORUS logo 时立即按 F12 进入启动菜单
      • 一级菜单选择:Advanced options for Ubuntu
      • 二级菜单选择一个老版本的系统
    • step2-3:进入后验证是否正常(失败则重复step2-2直至选到正确的系统)

      bash 复制代码
      ip addr show
      nvidia-smi
    • step3:验证成功后固定系统

      • 查看当前系统(uname -r)
      • 修改 /etc/default/grub 文件,通过 sudo update-grub 使其生效
      text 复制代码
      GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.14.0-37-generic"
      GRUB_TIMEOUT_STYLE=hidden
      GRUB_TIMEOUT=0
      • 删除问题内核,通过 sudo update-grub 使其生效
      • 防止自动更新
      bash 复制代码
      sudo apt-mark hold linux-image-generic linux-headers-generic
      • 重启系统(sudo reboot)并验证

附录

以后想更新内核时,手动解除锁定:

bash 复制代码
sudo apt-mark unhold linux-image-generic linux-headers-generic
sudo apt update && sudo apt upgrade
相关推荐
学到头秃的suhian1 小时前
Docker基础扫盲
运维·docker·容器
rfidunion1 小时前
ubuntu下使用qemu模拟ARM(二)
linux·arm开发·ubuntu
大袁同学2 小时前
【基础开发工具】:掌握编译利器,构筑工程基石
linux
星星乘坐的船2 小时前
基于Kubernetes Python SDK实现Job创建
linux·python·kubernetes
yohalaser2 小时前
硬核智测赋能 武汉曜华激光加速钙钛矿产线产业化进程
大数据·运维·人工智能
W_Meng_H2 小时前
XXL-JOB - 集成 Python 执行器实战指南
linux·python
袁袁袁袁满2 小时前
Docker后台日志和容器日志怎么查看?
linux·运维·服务器·docker·容器
zxdzxdzzxd2 小时前
解决Ubuntu虚拟机输入卡顿卡顿和鼠标滚轮不灵敏的问题
linux·ubuntu·计算机外设
linux修理工4 小时前
关闭67端口
运维