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

Ubuntu 22.10 更新内核或AMD驱动后无法启动求助

Ubuntu 22.10 更新内核或AMD驱动后无法启动求助

别慌!第一次接触Linux就碰到启动故障确实让人头疼,先把重点放在保住你的课程文件上,再一步步修复启动问题——咱们慢慢来:

第一步:优先备份重要文件

因为你的系统现在无法正常启动,先确保课程资料不会丢:

  • 找个U盘制作Ubuntu 22.10的启动盘(和你当前系统版本一致最好),用它开机选择「Try Ubuntu」进入试用模式;
  • 进入试用模式后,打开文件管理器,就能看到你本地硬盘里的系统分区,找到存放课程文件的文件夹,直接复制到外接U盘里备份,这一步一定要先做!

第二步:修复启动故障(针对「too many BDL entries」错误)

这个错误基本是AMD显卡驱动和当前内核不兼容导致的,大概率是你更新的驱动出了问题,咱们先把有问题的驱动卸掉,回到系统默认的开源驱动:

方法1:通过恢复模式操作

  1. 开机时按住Shift键(UEFI启动的话可能要按Esc),调出GRUB启动菜单;
  2. 选择「Advanced options for Ubuntu」,然后选一个更新驱动之前的内核版本(列表里不是最新的那个,比如数字更小的版本),后面带「recovery mode」的选项;
  3. 进入恢复模式菜单后,选择「root」选项,进入根权限终端;
  4. 先把系统分区挂载为可写模式:
    mount -o remount,rw /
    
  5. 卸载有问题的AMD驱动:
    • 如果你装的是AMD官网的amdgpu-pro驱动,直接执行卸载命令:
      amdgpu-pro-uninstall
      
    • 不确定驱动类型的话,直接重装系统默认的开源显卡驱动:
      apt install --reinstall xserver-xorg-video-amdgpu mesa-vulkan-drivers
      
  6. 更新GRUB配置:
    update-grub
    
  7. 重启系统:
    reboot
    

方法2:如果恢复模式进不去,用试用盘终端修复

如果连恢复模式都无法进入,就用刚才的「Try Ubuntu」试用模式操作:

  1. 打开终端,先找到你的系统分区,执行lsblk命令,看输出里的大分区(比如/dev/nvme0n1p2或者/dev/sda2,根据容量判断);
  2. 挂载系统分区:
    sudo mount /dev/你的系统分区名 /mnt
    
  3. 挂载必要的系统目录,让我们能操作系统内部:
    sudo mount --bind /dev /mnt/dev
    sudo mount --bind /proc /mnt/proc
    sudo mount --bind /sys /mnt/sys
    
  4. 切换到系统根环境:
    sudo chroot /mnt
    
  5. 重复方法1里的卸载驱动、重装默认驱动、更新GRUB的命令;
  6. 退出chroot并重启:
    exit
    sudo reboot
    

后续建议

等系统恢复正常后,如果你想更新显卡驱动,尽量用Ubuntu自带的「附加驱动」工具来安装,不要手动下载AMD官网的驱动——非LTS版本的Ubuntu(比如22.10)和官网驱动的兼容性经常出问题,用系统自带的驱动源更稳妥。

备注:内容来源于stack exchange,提问作者Yokuho

火山引擎 最新活动