Windows 11重启后篡改UEFI启动项致双系统启动异常求助
Windows 11重启后篡改UEFI启动项致双系统启动异常求助
兄弟我太懂你这种被Windows乱改UEFI启动项搞到心态爆炸的感觉了!我之前在华硕ROG机型上也碰到过几乎一模一样的问题,给你几个亲测有效的解决方案,按顺序试试:
方案一:用Ubuntu的efibootmgr重建并锁定启动项优先级
Windows之所以能反复篡改,大概率是旧的Ubuntu启动项路径不对,且优先级低于Windows。我们直接删掉旧项,重建一个指向grubx64.efi的合法启动项,再把它设为第一顺位:
- 进入Ubuntu,打开终端,先查看当前所有UEFI启动项:
找到那个路径为sudo efibootmgr -v\EFI\UBUNTU\SHIMX64.EFI的Ubuntu项,记下它的Boot编号(比如Boot0001)。 - 删除这个有问题的旧启动项:
sudo efibootmgr -b 0001 -B # 把0001替换成你刚才记下的实际编号 - 重建正确的Ubuntu启动项(注意替换
/dev/nvme0n1为你的SSD设备名,p1为EFI分区编号,可通过lsblk或fdisk -l确认):sudo efibootmgr -c -d /dev/nvme0n1 -p 1 -L "Ubuntu" -l "\EFI\ubuntu\grubx64.efi" - 把新创建的Ubuntu启动项设为第一启动顺位(比如新项编号是
Boot0002,Windows的是Boot0000):sudo efibootmgr -o 0002,0000
方案二:在Windows里禁用自动启动修复+添加独立Ubuntu启动项
Windows的自动修复功能会偷偷“修正”它认为有问题的启动项,我们先把这个功能关掉,再给Windows的启动菜单加一个独立的Ubuntu入口:
- 以管理员身份打开命令提示符(CMD),先禁用自动修复:
bcdedit /set {current} recoveryenabled No bcdedit /set {current} bootstatuspolicy ignoreallfailures - 添加Ubuntu启动项:
- 先执行这条命令,会返回一个新的GUID(比如
{12345678-1234-1234-1234-1234567890ab}):bcdedit /create /d "Ubuntu" /application bootsector - 挂载EFI分区,先查看EFI分区对应的卷标(比如
Z:):mountvol Z: /s - 设置启动项的设备路径(把
{1234...}替换成刚才返回的GUID,\Device\HarddiskVolume1替换成你EFI分区的实际卷,可通过mountvol查看):bcdedit /set {12345678-1234-1234-1234-1234567890ab} device partition=\Device\HarddiskVolume1 - 设置启动文件路径:
bcdedit /set {12345678-1234-1234-1234-1234567890ab} path \EFI\ubuntu\grubx64.efi - 把Ubuntu项加到启动菜单最前面:
bcdedit /displayorder {12345678-1234-1234-1234-1234567890ab} /addfirst
- 先执行这条命令,会返回一个新的GUID(比如
方案三:利用华硕BIOS锁定启动顺序
华硕ROG机型的BIOS里有专门的启动项锁定功能,从根源上阻止Windows篡改:
- 开机时按
F2或Delete进入BIOS界面(不同机型可能有差异,看开机提示)。 - 找到Boot选项卡,找到你刚才重建的Ubuntu启动项,把它拖到第一顺位。
- 查找是否有
Boot Order Lock或类似的选项,启用它(部分机型在Advanced选项卡下)。 - 保存BIOS设置(按
F10)并重启,这样Windows就没法再修改启动顺序了。
方案四:重新安装GRUB到EFI分区
如果以上方法都没用,可能是GRUB引导文件本身有损坏,我们彻底重装一次:
- 进入Ubuntu,先挂载EFI分区(替换
/dev/nvme0n1p1为你的EFI分区路径):sudo mount /dev/nvme0n1p1 /boot/efi - 重新安装GRUB到EFI分区:
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu - 更新GRUB配置:
sudo update-grub
按这个顺序试下来,应该能解决Windows反复篡改启动项的问题。要是还有异常,可以补充efibootmgr -v的输出或者BIOS里的具体设置,我再帮你排查!
备注:内容来源于stack exchange,提问作者FranMe
相关产品推荐
相关产品推荐

