You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu Server 20.04启动报GRUB 'invalid environment block'错误且GRUB更新失败求助

Ubuntu Server 20.04启动报GRUB 'invalid environment block'错误且GRUB更新失败求助

兄弟,你这问题我之前踩过坑!是GRUB环境块损坏引发的连锁故障,给你几个亲测有效的解决步骤:

先搞定核心的GRUB环境块问题

启动时的invalid environment block错误,99%是因为/boot/grub/grubenv这个配置文件损坏了,先修复它:

  1. 先进入系统:启动时按任意键应该能正常进入系统,如果实在进不去,就用Ubuntu Live镜像(VirtualBox里加载ISO到光驱)启动,挂载你的系统分区到/mnt,然后执行sudo chroot /mnt进入系统环境
  2. 先备份坏的文件,留个后手:
    sudo cp /boot/grub/grubenv /boot/grub/grubenv.bak
    
  3. 生成一个干净的GRUB环境文件:
    sudo grub-editenv create
    
  4. 调整文件权限,确保GRUB能正常读写:
    sudo chmod 600 /boot/grub/grubenv
    sudo chown root:root /boot/grub/grubenv
    
  5. 重新配置GRUB:
    sudo update-grub
    

再解决DPKG的依赖报错

搞定环境文件后,再来处理GRUB包的配置失败问题:

  1. 先把状态异常的GRUB包强制清理掉:
    sudo dpkg --purge --force-depends grub-common grub2-common grub-pc-bin grub-pc
    
  2. 重新安装完整的GRUB套件:
    sudo apt-get install --reinstall grub-common grub2-common grub-pc-bin grub-pc
    
  3. 最后修复所有依赖问题:
    sudo dpkg --configure -a
    sudo apt --fix-broken install
    

针对VirtualBox虚拟机的额外排查

因为你用的是VirtualBox的VDI镜像,还有两个细节可以检查:

  • 看看虚拟机有没有开快照,如果有快照可能导致磁盘状态异常,试试恢复到最近正常的快照,或者删除快照后再操作
  • 把GRUB重新安装到虚拟机的主引导记录(MBR):
    sudo grub-install /dev/sda
    
    注意这里是整个磁盘/dev/sda,不是具体的分区(比如/dev/sda2)

最后验证

完成所有操作后重启虚拟机,看看启动时的错误提示会不会消失,再跑一次系统更新确认GRUB能正常安装:

sudo apt update && sudo apt upgrade

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 10:54:34