无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 10393|回复: 6
打印 上一主题 下一主题

[讨论] 关于UEFI +GPT双硬盘多系统的grub2引导思路

[复制链接]
1#
发表于 2017-7-28 01:23:25 | 显示全部楼层
试试把 ESP 分区的 grub.cfg 这样写

  1. set prefix=(${root})/boot/Grub
  2. set timeout=0

  3. if search -f /boot/grub/grub.cfg --set=root ; then
  4.         menuentry "Deepin Linux"{
  5.                 set prefix=($root)'/boot/grub'
  6.                 configfile $prefix/grub.cfg
  7.         }
  8. fi

  9. if search -f /grub/grub.cfg --set=root ; then
  10.         menuentry "Deepin Linux"{
  11.                 set prefix=($root)'/grub'
  12.                 configfile $prefix/grub.cfg
  13.         }
  14. fi
复制代码
回复

使用道具 举报

2#
发表于 2017-8-1 20:01:22 | 显示全部楼层
poisons 发表于 2017-8-1 17:36
感谢你提出的解决方案,不过目前的问题似乎不是出在grub.cfg的问题上。
周末做了实验,似乎电脑只能够 ...

搞什么飞机,搞那么多ESP分区干嘛

统一使用一个 ESP 分区

使用 grub2 引导就行 或者 同时添加 bootmgr 引导 和 grub2 引导到 UEFI,启动时按 ESC/F12 选择。

====================
按你的要求,在 win 硬盘 ESP 分区 使用 grub2 引导作为默认引导,同时保留 bootmgr 引导文件。

编写 grub2 菜单
  1. set prefix=(${root})/boot/Grub
  2. set timeout=10

  3. menuentry 'Windows Boot Manager 菜单' --unrestricted {
  4.     if [ 'pc' == $grub_platform ] ; then
  5.         if search --file --set --no-floppy /bootmgr ; then
  6.             chainloader +1
  7.         elif search --file --set --no-floppy /ntldr ; then
  8.             chainloader +1
  9.         else
  10.             echo '没有找到Windows'
  11.             sleep --verbose 5
  12.         fi
  13.     fi

  14.     if [ 'efi' == $grub_platform ] ; then
  15.         if search --file --set --no-floppy /EFI/Microsoft/Boot/bootmgfw.efi ; then
  16.             chainloader /EFI/Microsoft/Boot/bootmgfw.efi
  17.         else
  18.             echo '没有找到Windows'
  19.             sleep --verbose 5
  20.         fi
  21.     fi
  22. }

  23. if search -f /boot/grub/grub.cfg --set=root ; then
  24.         menuentry "Deepin Linux"{
  25.                 set prefix=($root)'/boot/grub'
  26.                 configfile $prefix/grub.cfg
  27.         }
  28. fi

  29. if search -f /grub/grub.cfg --set=root ; then
  30.         menuentry "Deepin Linux"{
  31.                 set prefix=($root)'/grub'
  32.                 configfile $prefix/grub.cfg
  33.         }
  34. fi
复制代码

点评

虽然像我这种菜鸟完全看不懂,不知对错,但才子从心里崇拜  详情 回复 发表于 2020-8-22 13:07
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-8-23 11:18

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表