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

Ubuntu 22.04升级至24.04 LTS后无法开机,双系统环境下需恢复Ubuntu数据

Ubuntu 22.04升级至24.04 LTS后无法开机,双系统环境下需恢复Ubuntu数据

看起来你遇到的是升级后EFI系统分区(ESP)空间不足导致的启动故障,这类问题在双系统环境里真的挺常见——Windows和Ubuntu会共用ESP分区,升级Ubuntu时如果ESP剩余空间不够,就会出现你看到的MOK相关报错。先别慌,我们一步步来,先搞定紧急的数据恢复,再修复系统启动问题:

一、先把重要数据救出来

这是最优先级的事,用Ubuntu安装盘就能轻松搞定:

  • 找个空U盘,下载Ubuntu 24.04或22.04的ISO镜像,制作成启动盘(可以用Rufus或者Ubuntu自带的启动盘创建工具)。
  • 把启动盘插电脑上,重启后按F2/F10/Del(根据你电脑品牌调整)进入BIOS,设置从U盘启动,选择「Try Ubuntu without installing」(试用Ubuntu,不安装)。
  • 进入试用模式后,打开文件管理器,左侧栏会显示你的Ubuntu系统分区(一般是ext4格式,名字可能是一串数字或者自定义卷标),点击它就能挂载。之后就可以把文档、图片、代码这些重要数据复制到外接硬盘,甚至是Windows分区里(只要能访问到的存储介质都可以)。
    • 划重点:如果你的Ubuntu分区是加密的,试用模式里会弹出解锁提示,输入你平时登录Ubuntu的用户密码就能解锁挂载,正常输入就行。

二、修复启动故障(数据备份后再操作)

搞定数据后,我们来解决ESP空间不足的问题:

  • 还是在试用Ubuntu模式里,打开终端(按Ctrl+Alt+T即可),先找ESP分区:输入lsblk命令,看输出里的vfat格式分区,大小一般是200-500MB,这就是ESP。比如看到/dev/sda1是ESP分区。
  • 挂载ESP分区:
    sudo mount /dev/sda1 /mnt
    
  • 清理旧文件:进入cd /mnt/EFI/Ubuntu,这里面是Ubuntu的启动文件,你可以删掉旧内核对应的vmlinuz和initrd文件(比如带旧版本号的文件,像vmlinuz-5.15.0-xx-generic这类),释放空间。注意别碰Microsoft文件夹里的东西,不然Windows也会启动不了!
  • 如果ESP本身太小(比如只有100MB),可以用GParted分区工具调整:从试用模式的软件中心安装GParted,然后从Windows的NTFS分区里划一点空间给ESP(比如加200MB),但操作前一定要确认所有数据都备份好了,分区调整有风险,谨慎操作!
  • 最后修复GRUB引导:如果清理后还是启动不了,在终端里执行以下命令(替换成你的实际分区):
    sudo mount /dev/sdXn /mnt  # sdXn是你的Ubuntu系统分区,比如/dev/sda2
    sudo mount /dev/sda1 /mnt/boot/efi
    sudo chroot /mnt
    grub-install /dev/sda  # 这里是硬盘名,不是分区,比如sda,不是sda1
    update-grub
    exit
    
    执行完后重启电脑,应该就能正常进入Ubuntu了。

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

火山引擎 最新活动