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

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的问题,分两种情况:

  1. 用Boot-Repair工具再试一次:
    这次别直接点推荐修复,先选「高级选项」,勾上「备份EFI分区」,再点修复。有时候默认修复会忽略一些路径问题,高级选项里的设置能帮工具更准确地找到EFI分区并写入GRUB。
  2. 手动安装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

火山引擎 最新活动