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

Ubuntu 22.04执行apt upgrade时grub-efi-amd64-signed报错及GRUB引导配置选择困惑求助

Ubuntu 22.04执行apt upgrade时grub-efi-amd64-signed报错及GRUB引导配置选择困惑求助

别慌,这个问题是你清理了debconf里错误的/dev/sda15配置后,系统暂时找不到明确的GRUB安装目标导致的,只要正确指定当前有效的EFI分区就能解决,不会轻易搞挂服务器的。

第一步:先确认你当前系统的有效EFI分区

首先得搞清楚你的服务器上真正在用的EFI分区是哪个,毕竟/dev/sda15是不存在的,我们要找到正确的那个:

  • 可以用这条命令看当前挂载的EFI分区:
    mount | grep /boot/efi
    
    输出会类似/dev/sda1 on /boot/efi type vfat (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro),这里的/dev/sda1就是你要找的正确分区。
  • 或者查看/etc/fstab里的配置,找到对应/boot/efi的设备行,也能得到准确路径。

第二步:重新配置GRUB的安装目标

不要直接选弹窗里的“Continue without installing GRUB”——虽然当前可能能正常启动,但后续内核或GRUB更新时,引导配置会无法同步,大概率会导致启动失败。正确的做法是重新指定GRUB的安装设备:

  1. 先备份当前的GRUB相关debconf配置(稳妥起见):
    debconf-get-selections | grep grub > grub_backup.txt
    
  2. 运行重新配置命令:
    sudo dpkg-reconfigure grub-efi-amd64-signed
    
    这时候会弹出图形化选择界面,找到你刚才确认的那个EFI分区(比如/dev/sda1),选中它后确认即可。
  3. 配置完成后,再重新运行升级命令:
    sudo apt upgrade
    
    这次应该就能顺利完成升级,不会再弹出那个警告弹窗了。

补充说明

你之前遇到的mount: /var/lib/grub/esp: special device /dev/sda15 does not exist错误,根源就是debconf里残留了不存在的设备配置,系统试图挂载它来更新GRUB才报错的。清理错误配置后,系统需要明确的安装目标,所以才会弹出那个警告——只要给它指定正确的EFI分区,问题就彻底解决了。

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

火山引擎 最新活动