Ubuntu 22.04双启动安装失败:grub-install执行错误
Ubuntu 22.04双启动安装失败:grub-install执行错误
老哥,你遇到的这个GRUB安装错误在双系统配置里真的挺常见的,结合你说的这些尝试步骤,我给你梳理几个针对性的解决方向,应该能帮你搞定:
首先,先揪出最可能的核心问题——EFI分区空间不足。你说手动装GRUB时提示这个,那大概率就是它了。Windows默认的EFI分区一般只有100MB,平时Windows更新会偷偷占掉不少空间,要是剩下的不足20MB,GRUB根本写不进去。你可以先在Windows里打开「磁盘管理」,找到那个标着「EFI系统分区」的FAT32分区,看看剩余空间够不够。要是不够的话,得先扩容:
- 先从相邻的NTFS分区(比如C盘或者你的数据盘)压缩出个几十MB的未分配空间,然后用第三方分区工具(比如DiskGenius,记得要在Windows下操作,而且必须先关了快速启动)把未分配空间合并到EFI分区里。
接下来,处理GRUB的问题,分两种情况:
- 用Boot-Repair工具再试一次:
这次别直接点推荐修复,先选「高级选项」,勾上「备份EFI分区」,再点修复。有时候默认修复会忽略一些路径问题,高级选项里的设置能帮工具更准确地找到EFI分区并写入GRUB。 - 手动安装GRUB(步骤要仔细,别漏了):
- 用Ubuntu安装U盘启动,选「试用Ubuntu」进live环境
- 打开终端,先查清楚你的分区:输入
lsblk,找到Ubuntu根分区(一般是ext4格式,大小是你分配的Ubuntu空间)和EFI分区(FAT32,小容量那个),记下来它们的编号,比如根分区是/dev/nvme0n1p3,EFI是/dev/nvme0n1p2 - 挂载根分区:
sudo mount /dev/nvme0n1p3 /mnt - 挂载EFI分区:
sudo mount /dev/nvme0n1p2 /mnt/boot/efi - 挂载必要的系统目录:
sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys - 切换到根分区环境:
sudo chroot /mnt - 安装GRUB到EFI:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu - 更新GRUB配置:
update-grub - 退出并重启:
exit,然后拔掉U盘重启
最后,还有两个Windows的设置必须检查,不然装完也可能出问题:
- 关闭快速启动:打开控制面板→电源选项→选择电源按钮的功能→更改当前不可用的设置→把「启用快速启动(推荐)」的勾去掉
- 关闭Secure Boot:开机按F2/F10/Del进BIOS/UEFI设置,找到Secure Boot选项,改成Disabled。有些主板可能需要先把模式改成「自定义」才能关这个选项。
备注:内容来源于stack exchange,提问作者keymach




