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

Ubuntu 23.04升级到23.10后GRUB配置损坏,恢复默认GRUB时导致/etc/grub.d为空求助

Ubuntu 23.04升级到23.10后GRUB配置损坏,恢复默认GRUB时导致/etc/grub.d为空求助

别慌,咱们一步步把GRUB恢复到正常工作状态,以下是针对你情况的具体操作步骤:

1. 恢复GRUB核心组件与默认脚本

你之前误删了/etc/grub.d目录,单纯重装grub-common可能没把所有必要的默认启动脚本恢复完全。咱们重新安装完整的GRUB EFI组件:

sudo apt update
sudo apt install --reinstall grub-efi-amd64 grub-common grub2-common os-prober

注:os-prober是专门用来扫描双系统中其他操作系统的组件,确保Windows启动项能被正常识别

执行完上述命令后,你可以用ls /etc/grub.d检查目录,此时应该能看到00_header、10_linux、30_os-prober等默认的GRUB脚本文件了。

2. 重新生成GRUB配置文件

现在让GRUB重新扫描所有已安装的系统,生成全新的启动配置:

sudo update-grub

执行这个命令时,你应该能看到类似Found Ubuntu 23.10和Found Windows Boot Manager的提示,这说明两个系统都被正确识别了。

3. 确保GRUB被正确安装到EFI引导分区

从你的lsblk输出能看出系统是UEFI模式启动(/boot/efi挂载在nvme0n1p1),需要把GRUB引导程序正确写入磁盘的EFI区域:

sudo grub-install /dev/nvme0n1

注意:这里要指定磁盘设备/dev/nvme0n1,而不是单个分区(比如nvme0n1p1),GRUB会自动处理EFI分区的引导项注册。

4. (可选)检查并修复EFI引导项

如果重启后还是看不到GRUB菜单,可能是EFI引导项丢失了。可以先查看当前的EFI引导列表:

sudo efibootmgr -v

如果列表里没有名为Ubuntu的引导项,手动创建一个:

sudo efibootmgr -c -d /dev/nvme0n1 -p 1 -L "Ubuntu" -l "\EFI\ubuntu\shimx64.efi"

这里-p 1对应你的EFI分区nvme0n1p1,shimx64.efi是Ubuntu在EFI分区的核心引导文件。

最后一步:重启系统

完成所有操作后,输入sudo reboot重启电脑,你应该就能看到包含Ubuntu 23.10和Windows的完整GRUB启动菜单了。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 09:27:58