You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

UEFI模式下Win10/Ubuntu16.04双系统Grub引导Windows启动故障求助

解决UEFI模式下Win10启动无限修复的问题

兄弟,我碰到过好几个和你一模一样的情况——UEFI双系统用得好好的,突然Win10就卡启动修复循环了。别慌,咱们一步步来搞定它,你已经试过更新Grub和Boot Repair没用,那咱们从底层引导文件入手:

第一步:先在Ubuntu里确认EFI分区状态

UEFI引导全靠EFI分区,先打开Ubuntu的终端,输入这行命令看看分区情况:

sudo fdisk -l

找到标注为EFI System的分区,通常是/dev/sda1或者/dev/nvme0n1p1(如果是NVMe固态的话)。记下来这个分区路径,然后挂载它:

sudo mount /dev/sda1 /mnt  # 把sda1换成你找到的EFI分区路径

第二步:用Win10安装U盘修复EFI引导

这步是关键,因为Win10的引导文件大概率是损坏了,Ubuntu的工具修不动这种底层问题:

  • 先在Ubuntu里做个Win10安装U盘:装个woeusb工具,命令是sudo apt install woeusb,跟着提示把Win10镜像写到U盘里就行
  • 插好U盘重启,进BIOS选UEFI模式的U盘启动(别选Legacy的)
  • 进入Win10安装界面后,别点“现在安装”,点左下角的修复计算机
  • 依次选「疑难解答」→「高级选项」→「命令提示符」
  • 现在要给EFI分区分配个盘符,输入这些命令:
    diskpart
    list disk  # 找到你的系统盘,比如Disk 0
    select disk 0
    list partition  # 找到EFI分区,类型是「系统」,大小几百MB
    select partition X  # X是EFI分区的编号,比如1
    assign letter=Z:  # 给它分配Z盘,随便一个没被用的盘符都行
    exit
    
  • 最后执行修复命令,把Windows引导写到EFI分区里:
    bcdboot C:\windows /s Z: /f UEFI
    
    注意:如果你的Windows系统不在C盘,就把C换成对应的盘符,比如D盘。

第三步:重新修复Grub引导

修复完Win10后,Grub大概率会被覆盖,回到Ubuntu再把它找回来:

  • 重启进Ubuntu,打开终端,重新挂载EFI分区:
    sudo mount /dev/sda1 /mnt
    
  • 安装Grub到系统盘:
    sudo grub-install --efi-directory=/mnt /dev/sda  # /dev/sda是你的系统盘,不是分区!
    
  • 最后更新Grub列表:
    sudo update-grub
    

额外排查项(如果上面步骤没用的话)

  • 进BIOS看看Secure Boot是不是开着,有的时候开Secure Boot会干扰Win10的UEFI引导,关掉试试
  • 检查Windows分区的NTFS错误,在Ubuntu终端输入:
    sudo ntfsfix /dev/sda2  # sda2是你的Windows系统分区,换成你自己的
    

内容的提问来源于stack exchange,提问作者kekke

火山引擎 最新活动