Ubuntu 22.04启动卡在/dev/nvme0n1p5: clean界面,AMD显卡驱动相关故障求助
Ubuntu 22.04启动卡在/dev/nvme0n1p5: clean界面,AMD显卡驱动相关故障求助
我是刚接触Linux的新手,正在学习软件开发。昨天刚在Windows双系统的机器上装了Ubuntu,一切正常,但今天开机时Ubuntu卡在了显示/dev/nvme0n1p5: clean, 208203/12181504 files的界面,没法继续启动。
我的系统是Ubuntu 22.04.3 LTS(GNOME 42.9),硬件是AMD 7900XTX显卡+Intel I5-13600K处理器。
目前我能进入的只有恢复模式下的root控制台,尝试过这些操作:
- 通过恢复模式root终端更新系统后,成功进入了Ubuntu,但系统好像没识别到我的GPU——没法把默认的75Hz分辨率切换到平时用的4K分辨率,查看系统信息显示用的是
llvmpipe (LLVM 15.0.7, 256 bits)软件渲染。 - 在恢复模式选择“resume normal boot”也能进系统,但同样识别不到GPU。
- 尝试安装AMD官方显卡驱动,设置了MOK密码,但重启到密钥验证环节时提示密码错误。不过现在启动时不会卡在那个文件计数界面了,能切换到Ctrl+Alt+F2的终端,但安装驱动时控制台弹出了警告:
nomodeset detected in kernel parameters, amdgpu requires KMS。
我查了一些论坛的解决方案,但大多都是针对NVIDIA显卡的,作为Linux新手实在摸不着头绪,有没有大佬能帮忙解决这个问题?
针对你的问题,给你几个逐步排查和解决的方向:
1. 先移除nomodeset内核参数,恢复KMS支持
你安装驱动时的警告说明系统启动时加了nomodeset参数,这会禁用KMS(内核模式设置),而AMD的amdgpu驱动必须依赖KMS才能正常工作,这很可能是核心问题:
- 重启机器,在GRUB启动菜单(没看到的话开机按Shift键)选中Ubuntu选项,按
e进入编辑模式。 - 找到以
linux开头的行,删掉里面的nomodeset参数,然后按Ctrl+X或F10临时启动系统。 - 如果临时启动后GPU能被识别,就需要永久移除这个参数:
- 打开终端(Ctrl+Alt+T),编辑GRUB配置文件:
sudo nano /etc/default/grub - 找到
GRUB_CMDLINE_LINUX_DEFAULT这一行,删掉其中的nomodeset - 保存退出(按Ctrl+O,回车,再Ctrl+X),然后更新GRUB:
sudo update-grub
- 打开终端(Ctrl+Alt+T),编辑GRUB配置文件:
2. 重新处理AMD驱动的MOK密钥问题
MOK(机器所有者密钥)签名第三方驱动时容易出现密码输入错误(比如BIOS层面输入时看不到字符、大小写混淆),可以重新操作一遍:
- 先卸载之前的驱动避免冲突:
sudo apt purge amdgpu-install,接着执行sudo apt autoremove && sudo apt clean - 重新安装驱动:
- 下载AMD官方源包:
wget https://repo.radeon.com/amdgpu-install/22.04/ubuntu/jammy/amdgpu-install_5.7.50700-1_all.deb - 安装源包:
sudo dpkg -i amdgpu-install_5.7.50700-1_all.deb - 安装适配你显卡的驱动套件:
sudo amdgpu-install --usecase=graphics,opencl --vulkan=amdvlk,pro
- 下载AMD官方源包:
- 安装过程中设置MOK密码时一定要记牢,输入时注意大小写和特殊字符
- 重启后进入MOK管理界面:
- 选择
Enroll MOK,再选Continue - 点击
Yes,输入之前设置的MOK密码,确认后重启系统
- 选择
3. 验证驱动是否正常加载
重启后打开终端,用以下命令检查:
lspci -k | grep -A 2 -E "(VGA|3D)":查看显卡是否被amdgpu驱动接管glxinfo | grep "OpenGL renderer":如果输出显示你的AMD 7900XTX型号,说明驱动正常工作- 此时再去系统设置里调整分辨率,应该就能找到4K选项了
如果还是有问题,可以查看系统日志定位错误:journalctl -xe | grep amdgpu,根据日志信息进一步排查。
备注:内容来源于stack exchange,提问作者F0X3




