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

如何防止Windows 8.1覆盖GRUB引导加载器?双系统长效解决方案

解决Windows 8.1覆盖GRUB引导的长效方案

我之前也碰到过一模一样的糟心事——每次进Windows再重启,GRUB就没了,直接进Windows,反复用U盘修复太折腾人。试了好几种方法,终于找到能根治的办法,分两种引导模式给你说:

一、如果是UEFI引导(Win8.1大多是这种)

这是最常见的情况,解决步骤如下:

  1. 确保GRUB安装到ESP分区
    先在Trisquel里打开终端,先挂载ESP分区(通常是FAT32格式,分区号一般是/dev/sda1,你可以用lsblk确认):
    sudo mount /dev/sdX1 /boot/efi
    
    然后重新安装GRUB到ESP:
    sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub
    
    最后更新GRUB配置:
    sudo update-grub
    
  2. 把GRUB设为UEFI第一启动项
    开机时按BIOS/UEFI快捷键(一般是F2、Del、Esc,看电脑品牌),进入启动设置界面,找到启动顺序列表,把「grub」或者「Ubuntu」(Trisquel基于Ubuntu,可能显示这个)移到最顶部,比「Windows Boot Manager」优先级高。
  3. 禁止Windows篡改引导
    进Windows后,右键开始菜单→选择「Windows终端(管理员)」(或者命令提示符管理员),输入这条命令,让Windows的引导管理器指向GRUB的EFI文件:
    bcdedit /set {bootmgr} path \EFI\grub\grubx64.efi
    
    另外记得关闭Windows快速启动:控制面板→电源选项→选择电源按钮的功能→更改当前不可用的设置→取消勾选「启用快速启动(推荐)」,这个功能也会导致引导异常。

二、如果是传统BIOS引导

如果你的电脑是老旧的BIOS模式,按下面步骤来:

  1. 重新安装GRUB到磁盘MBR
    在Trisquel终端里执行这条命令(注意是磁盘名,比如/dev/sda,不要加分区号):
    sudo grub-install /dev/sdX
    
    同样更新GRUB配置:
    sudo update-grub
    
  2. 禁用Windows自动修复引导
    进Windows的管理员命令提示符,输入两条命令关闭自动修复:
    bcdedit /set {default} recoveryenabled No
    bcdedit /set {default} bootstatuspolicy ignoreallfailures
    
    这样Windows就不会因为检测到“异常”启动而自动重置MBR了。

注意事项

  • 每次Windows大版本更新后,可能会重置引导设置,建议更新后再检查一下UEFI启动顺序,或者重新执行Windows里的bcdedit命令。
  • Trisquel更新内核后,记得运行sudo update-grub更新引导菜单,避免出现内核找不到的问题。

我用这些方法之后,半年多没再碰到GRUB被覆盖的情况,亲测有效!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:22:40