You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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+XF10临时启动系统。
  • 如果临时启动后GPU能被识别,就需要永久移除这个参数:
    1. 打开终端(Ctrl+Alt+T),编辑GRUB配置文件:sudo nano /etc/default/grub
    2. 找到GRUB_CMDLINE_LINUX_DEFAULT这一行,删掉其中的nomodeset
    3. 保存退出(按Ctrl+O,回车,再Ctrl+X),然后更新GRUB:sudo update-grub

2. 重新处理AMD驱动的MOK密钥问题

MOK(机器所有者密钥)签名第三方驱动时容易出现密码输入错误(比如BIOS层面输入时看不到字符、大小写混淆),可以重新操作一遍:

  • 先卸载之前的驱动避免冲突:sudo apt purge amdgpu-install,接着执行sudo apt autoremove && sudo apt clean
  • 重新安装驱动:
    1. 下载AMD官方源包:wget https://repo.radeon.com/amdgpu-install/22.04/ubuntu/jammy/amdgpu-install_5.7.50700-1_all.deb
    2. 安装源包:sudo dpkg -i amdgpu-install_5.7.50700-1_all.deb
    3. 安装适配你显卡的驱动套件:sudo amdgpu-install --usecase=graphics,opencl --vulkan=amdvlk,pro
  • 安装过程中设置MOK密码时一定要记牢,输入时注意大小写和特殊字符
  • 重启后进入MOK管理界面:
    1. 选择Enroll MOK,再选Continue
    2. 点击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

火山引擎 最新活动