无忧启动论坛

标题: GRUB2使用后心得分享 [打印本页]

作者: chen463    时间: 2023-4-22 15:20
标题: GRUB2使用后心得分享
本帖最后由 chen463 于 2024-6-20 09:33 编辑

GRUB2使用后心得分享
首先后学感谢W大对开发GRUB2制作的辛劳贡献和各位前辈大大提供教学示范及模板,GRUB2功能之强大无远弗届,包含BIOS及UEFI都能支持,还能客制化模板,也因为功能太复杂,以至于初学需花更多时间学习,尤其菜单加载gfxterm部分。多年以前曾经接触过GRUB2,后来一直没再操作使用,近日有了因缘际会让后学起了念头重新来学习。

第一页菜单是Grub2原味原汁菜单
第二页菜单是菜单加载gfxterm
第三页菜单是Grubfm_menu方式引导2010wadee制作的菜单模板

1. NTBOOT、RUN命令
2. RUN自动菜单搜索目录/ sources
    MAP虚拟盘map/iso
   虚拟盘内存map --mem /iso
3. 自动菜单搜索目录/ pe
   启动windows
   Grubfm_menu方式2010wadee引导菜单
1.安装前把原来UEFI_BCD启动bootx64.efi复制更名为bootx64O.efi,以后要恢复回原来UEFI_BCD启动方式,就复制更名bootx64.efi就可
2.把在\EFI\Microsoft\boot\bootmfgw.efi复制更名为bootmfgwO.efi,方便以后更名恢复。

如何把grub2_UEFI安装到优盘FAT32分区下/efi
1.    grub2_efi.7z-grub2使用时相对文件夹。
2.    elegant_theme.txt.7z-是菜单加载gfxterm
3. run_pe.7z-是菜单WinPE_bcd加载RUN/MS/BCD
4. shellx64.7z-shellx64
5. grubfm.7z.001、grubfm.7z.002-是菜单grubfm_menu
6. fonts.7z是文字本文件
7. Module gfxmenu.7z-是gfxmenu模块

如何把grub2_UEFI安装到系统硬盘上
bootx64.efi 是计算机默认引导文件
bootmgfw.efi Windows默认引导文件
bootmgfw.efi 是优先启动第一顺位,其次是bootx64.efi
1.     打开在ESP分区C(X) SYSTEM\EFI
2.     首先把\EFI\bootx64.efi复制更名为bootx64O.efi,方便以后更名恢复
3.     如安装在U盘一样的操作解压到C

如何把grub2_UEFI另类安装法:如果主板支持NTFS启动把它安装在硬盘上,除了启动相关系统盘外,后面的资料盘,分区是FAT或是NTFS都可以解压玩玩看。

总结
Grub2的使用已经有几天了,也做了最后bootx64.efi模块更新到位,容量增加不少,光一个菜单切换就需要加载4个以上模块,也不知是干什的。配上G4E切换完美,到此应该已经定案,这模板足够再耗个五~十年时间。总结一下吧:
1.使用NTBOOT_WIM_root发现只能搜索到该本启动盘里的文件,无法跨分区找到文件去启动,也许是后学不熟命令使用吧!所以做了标记_root。
2.使用RUN_WIM_all,RUN-ISO_all,发现可以去搜寻别分区指定的文件檔启动它,这是RUN命令超强的功能。
3.Map命令,在U盘上使用,文件檔前面须加上分区号(hdx,y),否则无法成功启动。跟G4E设定有差别。
4.Menu 自动菜单搜索目录跟G4E一样好用,可多加利用。
5.Grub2启动Boot Microsoft Windows 8/10功能强,只要定位系统分区号(hdx,y),就可启动Windows。即使是新机PCIe_M2卡硬盘也识别的到启动它。
6.wimboot_wim本不想试,看到可在BIOS关闭安全模式下可以成功启动,尝试果然,佩服W大功力。
7.这Grub2模板还收录了WinPE_bcd_RUN功能不需借用系统启动和收录了grubfm_Menu能成功启动wim、iso、WinPE_bcd等,这些菜单项,都经过后学实机U盘测试OK,有疑惑问题菜单一律去除淘汰掉。如果操作上有不成功是没放好文件和正确路径分区号(hdx,y),这是后学做最后调整更新后实际操作的感想。在NTFS分区支持兼容性奇佳。
8.grubfm_Menu菜单发现在U盘(hd0,msdos1)下是无法显示出来的,也许是分区限制也许是个别操作问题,但在U盘(hd0,msdos2)下是OK的。
如果主板支持NTFS启动,想把UEFI安装在NTFS分区,可以的。
GRUB2_UEFI可以NTFS分区启动它,兼容性奇佳,简直无懈可击,到现在从PCIe盘、SATA盘、USB盘、SD卡、CF卡,外挂U固态SDD盘分区是NTFS启动UEFI都玩过一遍了,却找不到它重大的缺失弱点。

后续再补充


http://bbs.wuyou.net/forum.php?mod=viewthread&tid=435206&fromuid=87737
[分享] grub4dos-for_UEFI-2023-03-29使用后心得分享

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=435653&fromuid=87737
[分享] Ventoy 【2023/04/05 1.0.91 版本发布】使用后心得分享

  采用傲梅分区助手命令行来制作U盘UD多分区

  运用diskpart脚本自动执行制作U盘分区[多语言版]

  UD+多分区建立的迷思方法心得与分享




grub2_efi.7z

806.3 KB, 下载次数: 244, 下载积分: 无忧币 -2

grub2_efi.7z更新

elegant_theme.txt.7z

72.54 KB, 下载次数: 145, 下载积分: 无忧币 -2

elegant_theme.txt.7z

run_pe.7z

594.8 KB, 下载次数: 213, 下载积分: 无忧币 -2

RUN_PE_bcd

shellx64.7z

208.84 KB, 下载次数: 162, 下载积分: 无忧币 -2

shellx64.7z

grubfm.7z.002.7z

1.55 MB, 下载次数: 209, 下载积分: 无忧币 -2

grubfm.7z.002

grubfm.7z.001.7z

3 MB, 下载次数: 206, 下载积分: 无忧币 -2

grubfm.7z.001

fonts.7z

757 KB, 下载次数: 179, 下载积分: 无忧币 -2

fonts.7z是文字本文件

Module gfxmenu.7z

415.06 KB, 下载次数: 153, 下载积分: 无忧币 -2

Module gfxmenu.7z-是gfxmenu模块


作者: chen463    时间: 2023-4-22 15:20
本帖最后由 chen463 于 2023-5-28 20:58 编辑

后续再补充…更新模板菜单-grubfmx64-refind-AutoMenu_RUN
单1模板菜单1
添加Grub2 UEFI shell
menuentry "2.G4E_Menu1" --class uefi                     --hotkey=2 {run /efi/boot/BOOTX64G4E.efi;}
chainloader 修正为RUN更为贴切
menuentry "7.虚拟盘map/iso" --class iso                  --hotkey=7 {map ($root)/cdrom.iso;}
经过多个配备启动一直在变化,最后干脆把启动变量分区号带上

  1. . $prefix/run/run.cfg

  2. set default=1
  3. set timeout=30
  4. set fallback=1


  5. #想加边框
  6. #set grub_draw_border=1

  7. set gfxmode=1024x768,auto
  8. set gfxterm_font=unicode
  9. set lang=zh_CN
  10. set locale_dir=$prefix/locale
  11. set pager=1
  12. set enable_progress_indicator=0

  13. #terminal_output gfxterm

  14. ##loadfont unicode
  15. loadfont $prefix/fonts/unicode.pf2
  16. ##theme=elegant/theme.txt
  17. #theme=$prefix/themes/elegant/theme.txt
  18. #source $prefix/themes/f56w.cfg

  19. ##function run {search -n -s -f $1; chainloader $1;}

  20. ##menuentry "0.Windows-run-W"         --hotkey=0 {run /Windows/Boot/EFI/bootmgfw.efi;}   
  21. menuentry "0.EFI_root=($root)" --class uefi              --hotkey=0 {chainloader /efi/boot/shellx64.efi}
  22. menuentry "1.Bootx64O_bcd_O" --class nt6                 --hotkey=1 {chainloader /efi/boot/Bootx64O.efi;}
  23. menuentry "2.G4E_Menu1" --class uefi                     --hotkey=2 {run /efi/boot/BOOTX64G4E.efi;}
  24. menuentry "3.NTBOOT_WIM_root" --class slax               --hotkey=3 {ntboot --efi=$prefix/run/ms/bootmgfw.efi --wim /boot/imgs/winpe.wim;}
  25. menuentry "4.RUN_WIM_all" --class slax                   --hotkey=4 {run /boot/imgs/winpe.wim;}
  26. menuentry "5.RUN-ISO_all" --class iso                    --hotkey=5 {run /cdrom.iso;}
  27. menuentry "6.Menu 自动菜单搜索目录/sources" --class slax --hotkey=6 {run /sources;}
  28. menuentry "7.虚拟盘map/iso" --class iso                  --hotkey=7 {map ($root)/cdrom.iso;}
  29. menuentry "8.虚拟盘内存map --mem /iso" --class iso       --hotkey=8 {map --mem --type=CD ($root)/cdrom.iso;}
  30. menuentry "9.Menu 自动菜单搜索目录/pe" --class slax      --hotkey=9 {run /pe;}
  31. menuentry "n.Boot Microsoft Windows 8/10_N" --class nt5  --hotkey=n {chainloader -t (hd2,gpt1)/efi/microsoft/boot/bootmgfw.efi;}
  32. menuentry "o.Boot Microsoft Windows 8/10_O" --class nt5  --hotkey=o {chainloader -t (hd1,gpt2)/efi/microsoft/boot/bootmgfw.efi;}
  33. menuentry "f.grubfm_Menu_run/siso" --class uefi          --hotkey=f {run /efi/boot/grubfmx64.efi;}
  34. menuentry "p.WinPE_bcd" --class nt5                      --hotkey=p {chainloader $prefix/run/ms/bootmgfw.efi;}
  35. menuentry "w.wimboot_wim" --class slax                   --hotkey=w {wimboot --rawwim @:bootmgfw.efi:/efi/grub/run/ms/bootmgfw.efi @:boot.wim:/boot/imgs/winpe.wim;}
  36. menuentry "s.Grub2 UEFI shell" --class uefi              --hotkey=s {shell;}
  37. menuentry "r.Reboot" --class reboot                      --hotkey=r {reboot;}
  38. menuentry "h.Halt" --class halt                          --hotkey=h {halt;}
  39. menuentry "u.AutoMenu_RUN" --class uefi                  --hotkey=u {run /efi/boot/run.efi;}
  40. menuentry "d.refind" --class uefi                        --hotkey=d {run /efi/refind/refind_x64.efi;}
  41. menuentry "a.Menu/grub82.cfg" --class recovery           --hotkey=a {configfile $prefix/grub82.cfg;}
  42. menuentry "x.Menu/grub83.cfg" --class recovery           --hotkey=x {configfile $prefix/grub83.cfg;}
复制代码

生成bootx64g2.efi (或者bootx64.efi)时使用的脚本要指定加上这模块
  1. grub-mkimage -O x86_64-efi -p /efi/grub -o bootx64g2.efi normal part_gpt part_msdos fat exfat ntfs sbpolicy progress help wimboot fb halt reboot ext2 cpio gzio loopback lzopio memdisk newc chain configfile echo map ntboot probe regexp search test gfxterm efi_gop efi_uga jpeg png gfxmenu video_colors trig bitmap_scale blocklist shell
复制代码

启动windows--(hd2,gpt1)系统分区号,自己改,不会看分区号的,打开grubfm_menu菜单,按F3,即可看到分区号啦!这是后学试过GRUB2制作U盘最直接完美启动Windows的方式。
  1. menuentry "4.Boot Microsoft Windows 8/10_N" --class nt5 --hotkey=4 {chainloader -t (hd2,gpt1)/efi/microsoft/boot/bootmgfw.efi;}
复制代码




2023-05-28_205532.png (516.12 KB, 下载次数: 208)

更新模板菜单-grubfmx64-refind-AutoMenu_RUN

更新模板菜单-grubfmx64-refind-AutoMenu_RUN

作者: chen463    时间: 2023-4-22 15:21
本帖最后由 chen463 于 2023-4-30 20:37 编辑

后续再补充…模板菜单
#terminal_output gfxterm
是Grub2原味原汁菜单

第一页菜单取消#
terminal_output gfxterm
是gfxterm菜单
#theme=$prefix/themes/elegant/theme.txt  
打开terminal_output gfxterm而无图档案文件时,theme.txt请关闭它,让中文字单独显现。

Grubfm_menu方式2010wadee引导菜单
http://bbs.wuyou.net/forum.php?m ... 30029&fromuid=87737

这是后学的BCD内容,K大PE、KO大PE、雷大PE等大大…总共收集二三十个PE. Wim放在 /sources,把BCD方式修改一下放在grubfm_menu、WinPE_bcd各处bcd替换,既省心省事,您处处可以不同方式看到您所要的PE,与大家分享。


懒人法启动PE,把下载PEISO放在任意分区的/PE,选项自动菜单目录/pe,就可以自选ISO启动PE,不用再动手编辑



2023-04-22_4.png (150.4 KB, 下载次数: 222)

2023-04-22_4.png

2023-04-22_3.png (416.11 KB, 下载次数: 246)

2023-04-22_3.png

2023-04-22_2.png (420.2 KB, 下载次数: 215)

2023-04-22_2.png

2023-04-22_1.png (27.74 KB, 下载次数: 233)

2023-04-22_1.png

作者: 万人之上    时间: 2023-4-22 16:56
坐在沙发上学习一下,感谢分享。
作者: yc2428    时间: 2023-4-22 17:41
感谢分享。
作者: mrzhonghb    时间: 2023-4-22 19:51
学习一下
作者: seeimpact153    时间: 2023-4-22 21:33
谢谢分享
作者: Anson4    时间: 2023-4-23 01:08
感谢分享!
作者: papachi    时间: 2023-4-23 08:13
我来研究看看,非常谢谢您。
作者: wintoflash    时间: 2023-4-23 08:48
本帖最后由 wintoflash 于 2023-4-23 08:49 编辑

我的grub2已经内置了uefi shell。加载shell.mod之后执行shell命令即可。

作者: chen463    时间: 2023-4-23 09:28
本帖最后由 chen463 于 2023-4-23 09:43 编辑
wintoflash 发表于 2023-4-23 08:48
我的grub2已经内置了uefi shell。加载shell.mod之后执行shell命令即可。

感谢W大的指导,先前好像没加入shell.mod模板,这是菜单列执行命令说明吗?小白我不太懂操作,学习之…感谢您
就是这模板一直搞不懂是甚么作用?应该加载哪个才适合?即使全部加了也不懂甚功能?慢慢摸索学习。

作者: wintoflash    时间: 2023-4-23 11:05
chen463 发表于 2023-4-23 09:28
感谢W大的指导,先前好像没加入shell.mod模板,这是菜单列执行命令说明吗?小白我不太懂操作,学习之…感 ...

什么是 "模板"?你是不是在说 "模块" (.mod, module)。
如果你熟悉 Linux 内核,就知道 Linux 内核有很多模块,它们有不同的功能,可以按需加载,也可以在编译的时候选择直接集成到内核中。
GRUB2 的模块也差不多。
不同平台下的模块文件夹有很多.lst文件,你看看就知道了。比如 command.lst 里面是说哪个命令在哪个模块里。(如果看不懂,那说明你对这些不了解)
作者: chen463    时间: 2023-4-23 11:39
wintoflash 发表于 2023-4-23 11:05
什么是 "模板"?你是不是在说 "模块" (.mod, module)。
如果你熟悉 Linux 内核,就知道 Linux 内核有很 ...

是模块mod没错,是真的不懂
作者: itlzm    时间: 2023-4-23 13:44
感谢分享!

作者: 反向人    时间: 2023-4-23 13:50
建议出一篇详细的教程,,
作者: langyun    时间: 2023-4-24 10:25
我有三系统:deepin,win10,和win81VHD,UEFI启动
目前是grub启动菜单,win菜单在二级菜单
怎么把wiin10和win81VHD两个启动跳到一级菜单呢?
比如直接选择第三个菜单进入win10,选择第四个进入VHD格式的win81
menuentry要怎么写
作者: chen463    时间: 2023-4-25 08:39
本帖最后由 chen463 于 2023-4-25 08:46 编辑
langyun 发表于 2023-4-24 10:25
我有三系统:deepin,win10,和win81VHD,UEFI启动
目前是grub启动菜单,win菜单在二级菜单
怎么把wiin10 ...

没搞过这样复杂系统启动,不知道您情况如何来给建议。
把第二级相关菜单项COPY到第一级菜单项不行吗?
猜测您的WIN是启动选项排第二项,而不是启动菜单的二级菜单。

建议您提供菜单及分区现况,让大家给意见吧!

作者: hilsonma    时间: 2023-4-27 16:22
langyun 发表于 2023-4-24 10:25
我有三系统:deepin,win10,和win81VHD,UEFI启动
目前是grub启动菜单,win菜单在二级菜单
怎么把wiin10 ...

你的主菜单(一级菜单)是wintoflash的grub2还是deepin自动生成的又或者是其他的?
作者: windeng    时间: 2023-5-1 17:00
感谢分享
作者: ningzhonghui    时间: 2023-5-5 17:28
hilsonma 发表于 2023-4-27 16:22
你的主菜单(一级菜单)是wintoflash的grub2还是deepin自动生成的又或者是其他的?

谢谢老师前辈,我都是从你贴子学习过来的,你说得好详细,受益易懂....
作者: mrzhonghb    时间: 2023-5-9 21:39
精品帖子
作者: alex20162016    时间: 2023-5-11 17:03
想下载须无忧币,好的教程
作者: mkinju    时间: 2023-5-15 15:35
感谢分享学习一下
作者: amita    时间: 2023-5-22 17:54
多謝多謝,看得出是花了時間研究的成果,以後用得着
作者: zhangz9    时间: 2023-5-25 14:54
多谢分享,学习了。
作者: kingtake    时间: 2023-6-23 12:18
感谢楼主分享经验
作者: leitian72853    时间: 2023-6-30 11:53
感谢分享
作者: zhang288    时间: 2023-8-3 09:06

谢谢分享
作者: 任平生    时间: 2023-8-6 08:52
学习一下
作者: dayeye    时间: 2023-8-16 10:27
感谢
作者: 任平生    时间: 2023-8-22 21:06
能给菜鸟个详细的使用方法更好
作者: 方长    时间: 2023-9-2 19:24
谢谢分享!
作者: dayeye    时间: 2023-9-5 21:51
学习是一种幸福
作者: dayeye    时间: 2023-9-5 21:51
dayeye 发表于 2023-9-5 21:51
学习是一种幸福

学习是一种幸福
作者: dayeye    时间: 2023-9-5 21:51
dayeye 发表于 2023-9-5 21:51
学习是一种幸福

学习是一种幸福
作者: 2011matrixvexx    时间: 2024-2-9 19:39
感谢楼主分享,很詳細,學習了!
作者: evilDegg    时间: 2024-3-14 23:02
牛逼
作者: guershao    时间: 2024-3-29 15:06
这个好,感谢分享!!!
作者: yiwan    时间: 2024-3-29 20:18
感谢分享
作者: dony2006    时间: 2024-9-9 10:35
感谢分享!
作者: tjlzh    时间: 2024-9-19 18:10
谢谢分享
作者: zhanglei1371    时间: 2024-10-18 20:07
请教下,mbr下,Bcd能引导grub2么?
作者: chen463    时间: 2024-10-19 14:26
zhanglei1371 发表于 2024-10-18 20:07
请教下,mbr下,Bcd能引导grub2么?

藉由添加启动项(Grub/Linux)来建立
作者: wn168cn@163.com    时间: 2024-10-19 14:37
感谢分享




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