使用 BURG 进行链式加载时出现 Windows 8 0x50 错误

使用 BURG 进行链式加载时出现 Windows 8 0x50 错误

我有一个多重引导系统,每个系统都在一个单独的硬盘上。我一直在使用 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了解更多详细信息

我希望它能帮到你

相关内容