无忧启动论坛

标题: UEFI grub2 无法引导windows系统启动 [打印本页]

作者: wengzhenquan    时间: 2020-11-5 11:14
标题: UEFI grub2 无法引导windows系统启动
使用w大的grub2
制作时 grub-mkimage.exe加载的:
  1. all_video blocklist boot cat chain configfile cpio echo efi_gop exfat ext2 extcmd fat fb file font gfxmenu gfxterm gfxterm_background gfxterm_menu gzio halt help iso9660 jpeg linux linuxefi loadenv loopback ls lzopio map minicmd newc normal ntboot ntfs part_gpt part_msdos png probe progress reboot regexp sbpolicy search tar terminal terminfo test tga udf video video_colors video_fb videoinfo wimboot xzio
复制代码




环境配置中加载的 :
  1. insmod part_msdos
  2. insmod ntfs
  3. insmod ext2
  4. insmod btrfs
  5. insmod fatfs
复制代码



  1.                 menuentry "[0]全局查找并启动硬盘上的Windows系统(EFI)"        --class windows {
  2.                 insmod chain
  3.                 insmod part_gpt
  4.                         search --no-floppy --set=root --file /efi/microsoft/boot/bootmgfw.efi
  5.                         chainloader ($root)/efi/microsoft/boot/bootmgfw.efi
  6.                         boot
  7.                         
  8.                 }
复制代码

  1. menuentry "[0]全局查找并启动硬盘上的Windows系统(EFI)" --class windows {
  2. insmod chain
  3. insmod part_gpt
  4. search --no-floppy --set= --file /efi/microsoft/boot/bootmgfw.efi
  5. chainloader /efi/microsoft/boot/bootmgfw.efi
  6. boot

  7. }
复制代码



这两种都不行,硬盘是mbr的,ESP分区是fat16的隐藏分区
作者: hilsonma    时间: 2020-11-5 15:10
本帖最后由 hilsonma 于 2020-11-5 15:27 编辑

这样试试:
  1. search --no-floppy --set --file /EFI/Microsoft/Boot/bootmgfw.efi
  2. chainloader /EFI/Microsoft/Boot/bootmgfw.efi
复制代码


如果还不行,windows是在C盘的话,在cmd窗口执行一次:
  1. bcdboot c:\windows /s c: /f UEFI
复制代码


如果你已经将ESP中的 /EFI/Microsoft/Boot/bootmgfw.efi 替换成grub2的efi文件的话,可以将C:\EFI\Microsoft\Boot\bootmgfw.efi 改名为 bootmgf.efi,上面的引导也作相应更改,如:
  1. search --no-floppy --set --file /EFI/Microsoft/Boot/bootmgf.efi
  2. chainloader /EFI/Microsoft/Boot/bootmgf.efi
复制代码


顺便提一下,制作grub2.efi时已经包含的模块,是不再需要使用insmod 重复加载的。无论是菜单前的配置还是菜单项中的引导,都不再需要insmod.
insmod是用来加载某些模块,这些模块没有包含在efi文件中,或者是跟efi文件中包含的模块不一样,这时才使用insmod加载。
作者: wengzhenquan    时间: 2020-11-5 22:13
hilsonma 发表于 2020-11-5 15:10
这样试试:

如何查看已经加载了多少mod?
作者: hilsonma    时间: 2020-11-6 02:37
wengzhenquan 发表于 2020-11-5 22:13
如何查看已经加载了多少mod?

lsmod




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