如何修复Grub中Windows 11启动项的报错问题
如何修复Grub中Windows 11启动项的报错问题
看起来你遇到的这个报错,根源是Grub启动项里search命令的参数顺序写错啦!虽然最后能正常进Windows,但每次弹出个错误确实挺烦人的,我来帮你把它搞定。
问题原因分析
你在40_custom里写的这行命令:
search --no-floppy --set-root --fs-uuid A44E-6E73
这里的--set-root是search命令的一个选项,应该和--no-floppy放在一起,而不是跟在UUID后面。Grub把--set-root当成了要搜索的设备名称,自然就会抛出“no such device: --set-root”的错误。
修正后的完整启动项配置
把你原来的menuentry替换成下面这段,参数顺序调整正确,还能去掉一些没必要的配置:
menuentry 'Windows 11' { search --no-floppy --fs-uuid --set-root A44E-6E73 chainloader /EFI/Microsoft/Boot/bootmgfw.efi }
为什么可以简化?因为EFI模式下链式加载Windows的EFI文件,不需要手动挂载NTFS分区,所以insmod ntfs和set root=(hd1,1)这两行其实是多余的,删掉也不影响,还能让配置更简洁。
操作步骤
- 打开Grub的自定义配置文件,在Manjaro里用sudo权限编辑:
sudo nano /etc/grub.d/40_custom - 把原来的Windows 11启动项代码替换成上面修正后的版本
- 按
Ctrl+O保存,Ctrl+X退出编辑器 - 更新Grub配置文件,让修改生效:
或者用更通用的命令:sudo update-grubsudo grub-mkconfig -o /boot/grub/grub.cfg - 重启系统,再选择Windows 11启动项,应该就不会再弹出那个错误提示了!
备注:内容来源于stack exchange,提问作者qloq
相关产品推荐
相关产品推荐

