我有一个多重引导系统,每个系统都在一个单独的硬盘上。我一直在使用 GRUB2,一切都很好。我最近决定切换到 BURG,这使我的 Windows 8 一直处于重启循环中。我已禁用自动重启,因此我实际上可以看到该消息,但它没有说任何重要的事情 - “您的 PC 需要重启”、“错误代码 0x00000050”和四个(内存?)地址。
我找不到与此错误相关的任何内容,在各种论坛和支持网站上花了几个小时。我保留了 Windows 硬盘/分区上的原始 MBR,以便可以从中启动。
因此,为了弄清楚,我不想要一个使用 Ubuntu 运行 Win8 的替代解决方案(我可以随时切换回 GRUB 或使用带有 Win8/MBR 的硬盘作为启动设备),我想找出导致这种行为的原因并修复它。
我甚至将 Windows 8 的原始 GRUB 菜单条目(来自 os-prober,有效/可运行的条目)复制到新的 BURG 配置,对其进行了更新,检查了它是否出现在 burg.cfg 中,等等,但结果仍然相同。我尝试添加一个新的 chainloader 条目,指定分区 - 结果也相同。
是不是因为 BURG 使用了一些 GUI 修改?这会给 Win 加载程序带来麻烦吗?
我的菜单条目:
menuentry "Windows 8 (loader) (on /dev/sda1)" --class windows --class os {
insmod part_msdos
insmod ntfs
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 01CA6F821330B030
else
search --no-floppy --fs-uuid --set=root 01CA6F821330B030
fi
drivemap -s (hd0) ${root}
chainloader +1
}
menuentry "Win8 Chainloader"{
set root='(hd0,1)'
search --no-floppy --fs-uuid --set 01CA6F821330B030
drivemap -s (hd0) ${root}
chainloader +1
}
附言这个问题相关且有趣
答案1
使用“chainloader /EFI/Microsoft/Boot/bootmgfw.efi”而不是“chainloader +1”部分工作,仍然有错误消息但它启动
就我而言,Ubuntu 没有为 uefi 系统做任何特定的事情
我确实更改了 /etc/grub.d/30_os-prober 中的 chainloader 选项(肮脏的方式)
或者将修改后的菜单项添加到 /etc/grub.d/40_custom (正确的方法)
但这只是一个解决方法,我猜测安装 grub-efi 包可以解决这个问题(没有测试过)
看一眼https://help.ubuntu.com/community/UEFIBooting了解更多详细信息
我希望它能帮到你