无忧启动论坛

标题: GRUB2引导UEFI和MBR的Windows [打印本页]

作者: abc22048    时间: 2020-2-5 21:45
标题: GRUB2引导UEFI和MBR的Windows
GRUB2引导UEFI和MBR的Windows的grub.cfg菜单编辑是不是一样?

UEFI的Windows引导
menuentry "启动 Windows" {
    chainloader \EFI\Microsoft\Boot\bootmgfw.efi
    boot
}
MBR的Windows引导
menuentry '启动Windows ' {
        insmod part_msdos
        insmod ntfs
        set root='hd0,msdos1'
        chainloader +1
}
作者: abc22048    时间: 2020-2-5 22:07
本帖最后由 abc22048 于 2020-2-5 22:15 编辑

这个是不是为三种启动项

menuentry '正常启动(Windows)' --unrestricted {
    if [ 'pc' == $grub_platform ] ; then
        if search --file --set /bootmgr ; then
            chainloader +1
        elif search --file --set /ntldr ; then
            chainloader +1
        fi
    elif [ 'efi' == $grub_platform ] ; then
        if search --file --set /EFI/Microsoft/Boot/bootmgfw.efi ; then
            chainloader /EFI/Microsoft/Boot/bootmgfw.efi
        fi
    fi
}


搜索bootmgr
搜索ntldr
在/EFI/Microsoft/Boot/搜索中bootmgfw.efi

作者: hilsonma    时间: 2020-2-5 23:28
本帖最后由 hilsonma 于 2020-2-5 23:32 编辑

1楼2楼的都可以,1楼的如果分区不符会引导失败,2楼的加了查找分区操作,比1楼的好

Windows的UEFI引导文件是bootmgfw.efi,Windows的BIOS引导文件是bootmgr (vista之后的版本,之前是ntldr)。
Grub2引导Windows要做的就是找到这两个文件并引导。

chainloader +1 是引导当前分区(root分区)的第一扇区,在Windows下这个扇区就是引导bootmgr或ntldr.




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3