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

GRUB2无法引导进入Windows10,boot-repair工具未解决问题

GRUB2无法引导进入Windows10,boot-repair工具未解决问题

看起来你这情况确实挺棘手的——os-prober明明能检测到Windows 10,可GRUB菜单就是不显示它,boot-repair还在引导分区的设置上来回“打脸”,一会儿让关独立引导分区,一会儿又让开,换谁都懵。结合你提到的GRUB可能装在MBR的猜想,咱们一步步来解决:

第一步:先确认ESP分区的真实状态

你已经给sda2加了ESP和boot标记,但系统还提示“no ESP detected”,咱们手动检查下这个分区的内容:

  • 打开终端,先建个挂载点:sudo mkdir /mnt/esp
  • 挂载sda2:sudo mount /dev/sda2 /mnt/esp
  • 看看里面有没有EFI文件夹,正常情况下这个文件夹里应该同时有Microsoft(Windows的引导文件)和ubuntu(GRUB的引导文件)子目录。如果找不到Microsoft文件夹,要么是Windows的EFI引导文件压根不在这个分区,要么就是损坏了。

第二步:强制让GRUB更新引导配置

有时候GRUB就算检测到Windows,也没把它加到菜单里,咱们手动触发更新试试:

  • 先确认os-prober能正常识别Windows:sudo os-prober,如果能输出类似/dev/sda3:Windows 10:Windows:efi的内容,说明检测没问题
  • 接着更新GRUB配置:sudo update-grub
  • 重启电脑,看看GRUB菜单里有没有出现Windows选项。

第三步:把GRUB重新安装到ESP分区(解决MBR安装的问题)

如果GRUB真的装在了MBR(而你的磁盘是GPT格式),这会导致UEFI引导混乱。咱们把GRUB重新装到ESP分区里:

  • 先挂载你的Ubuntu系统分区和ESP分区:
    sudo mount /dev/sda1 /mnt
    sudo mount /dev/sda2 /mnt/boot/efi
    
  • 然后重新安装GRUB到ESP:sudo grub-install --efi-directory=/mnt/boot/efi /dev/sda
    注意!这里的/dev/sda是整个磁盘设备,不是某个分区,别写成sda1或者sda2了!
  • 最后再更新一次GRUB:sudo update-grub

第四步:修复Windows的EFI引导项

如果上面的步骤都没效果,可能是Windows的EFI引导信息丢了,用Windows安装盘来修复:

  • 插入Windows 10安装U盘,从U盘启动,进入「修复计算机」模式
  • 打开命令提示符,执行以下命令(注意替换成你自己的磁盘/分区编号):
    diskpart
    list disk  # 找到你的GPT磁盘,记好编号
    select disk 0  # 替换成你的磁盘编号
    list partition
    select partition 2  # 替换成你的ESP分区编号
    assign letter=Z:  # 给ESP分区分配一个临时盘符Z
    exit
    bcdboot C:\Windows /s Z: /f UEFI
    
    这里的C:是你的Windows系统分区,要是你的Windows在别的盘,记得改成对应的盘符。修复完之后回到Ubuntu,再执行一次sudo update-grub,应该就能在GRUB菜单里看到Windows了。

另外,关于boot-repair的矛盾提示,不用太在意——它可能误判了Windows的引导模式,既然你确定全程是UEFI模式操作,就专注于修复ESP分区和GRUB的安装位置就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 12:28:02