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 文件并使其生效
-
终端命令行
bashsudo gedit /etc/default/grub -
修改内容
textGRUB_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文件,指定启动时用哪个系统 - 最后补充一个
阻止系统自动更新的操作,也可以补充一个 清理错误的系统 的操作
- 重启时通过 F12 进入
- 操作:
-
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直至选到正确的系统)
baship addr show nvidia-smi -
step3:验证成功后固定系统
- 查看当前系统(uname -r)
- 修改 /etc/default/grub 文件,通过 sudo update-grub 使其生效
textGRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.14.0-37-generic" GRUB_TIMEOUT_STYLE=hidden GRUB_TIMEOUT=0- 删除问题内核,通过 sudo update-grub 使其生效
- 防止自动更新
bashsudo 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