chen463 发表于 2023-4-22 15:20:22

GRUB2使用后心得分享

本帖最后由 chen463 于 2023-7-9 19:42 编辑

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分区下/efi1.    grub2_efi.7z-是grub2使用时相对文件夹。2.    elegant_theme.txt.7z-是菜单加载gfxterm。3. run_pe.7z-是菜单WinPE_bcd加载RUN/MS/BCD4. shellx64.7z-shellx645. grubfm.7z.001、grubfm.7z.002-是菜单grubfm_menu6. fonts.7z是文字本文件7. Module gfxmenu.7z-是gfxmenu模块
如何把grub2_UEFI安装到系统硬盘上bootx64.efi 是计算机默认引导文件bootmgfw.efi 是 Windows默认引导文件bootmgfw.efi 是优先启动第一顺位,其次是bootx64.efi1.   打开在ESP分区C或(X): SYSTEM:\EFI2.   首先把\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 版本发布】使用后心得分享

chen463 发表于 2023-4-22 15:20:43

本帖最后由 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;}
经过多个配备启动一直在变化,最后干脆把启动变量分区号带上

. $prefix/run/run.cfg

set default=1
set timeout=30
set fallback=1


#想加边框
#set grub_draw_border=1

set gfxmode=1024x768,auto
set gfxterm_font=unicode
set lang=zh_CN
set locale_dir=$prefix/locale
set pager=1
set enable_progress_indicator=0

#terminal_output gfxterm

##loadfont unicode
loadfont $prefix/fonts/unicode.pf2
##theme=elegant/theme.txt
#theme=$prefix/themes/elegant/theme.txt
#source $prefix/themes/f56w.cfg

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

##menuentry "0.Windows-run-W"         --hotkey=0 {run /Windows/Boot/EFI/bootmgfw.efi;}   
menuentry "0.EFI_root=($root)" --class uefi            --hotkey=0 {chainloader /efi/boot/shellx64.efi}
menuentry "1.Bootx64O_bcd_O" --class nt6               --hotkey=1 {chainloader /efi/boot/Bootx64O.efi;}
menuentry "2.G4E_Menu1" --class uefi                     --hotkey=2 {run /efi/boot/BOOTX64G4E.efi;}
menuentry "3.NTBOOT_WIM_root" --class slax               --hotkey=3 {ntboot --efi=$prefix/run/ms/bootmgfw.efi --wim /boot/imgs/winpe.wim;}
menuentry "4.RUN_WIM_all" --class slax                   --hotkey=4 {run /boot/imgs/winpe.wim;}
menuentry "5.RUN-ISO_all" --class iso                  --hotkey=5 {run /cdrom.iso;}
menuentry "6.Menu 自动菜单搜索目录/sources" --class slax --hotkey=6 {run /sources;}
menuentry "7.虚拟盘map/iso" --class iso                  --hotkey=7 {map ($root)/cdrom.iso;}
menuentry "8.虚拟盘内存map --mem /iso" --class iso       --hotkey=8 {map --mem --type=CD ($root)/cdrom.iso;}
menuentry "9.Menu 自动菜单搜索目录/pe" --class slax      --hotkey=9 {run /pe;}
menuentry "n.Boot Microsoft Windows 8/10_N" --class nt5--hotkey=n {chainloader -t (hd2,gpt1)/efi/microsoft/boot/bootmgfw.efi;}
menuentry "o.Boot Microsoft Windows 8/10_O" --class nt5--hotkey=o {chainloader -t (hd1,gpt2)/efi/microsoft/boot/bootmgfw.efi;}
menuentry "f.grubfm_Menu_run/siso" --class uefi          --hotkey=f {run /efi/boot/grubfmx64.efi;}
menuentry "p.WinPE_bcd" --class nt5                      --hotkey=p {chainloader $prefix/run/ms/bootmgfw.efi;}
menuentry "w.wimboot_wim" --class slax                   --hotkey=w {wimboot --rawwim @:bootmgfw.efi:/efi/grub/run/ms/bootmgfw.efi @:boot.wim:/boot/imgs/winpe.wim;}
menuentry "s.Grub2 UEFI shell" --class uefi            --hotkey=s {shell;}
menuentry "r.Reboot" --class reboot                      --hotkey=r {reboot;}
menuentry "h.Halt" --class halt                        --hotkey=h {halt;}
menuentry "u.AutoMenu_RUN" --class uefi                  --hotkey=u {run /efi/boot/run.efi;}
menuentry "d.refind" --class uefi                        --hotkey=d {run /efi/refind/refind_x64.efi;}
menuentry "a.Menu/grub82.cfg" --class recovery         --hotkey=a {configfile $prefix/grub82.cfg;}
menuentry "x.Menu/grub83.cfg" --class recovery         --hotkey=x {configfile $prefix/grub83.cfg;}
生成bootx64g2.efi (或者bootx64.efi)时使用的脚本要指定加上这模块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的方式。menuentry "4.Boot Microsoft Windows 8/10_N" --class nt5 --hotkey=4 {chainloader -t (hd2,gpt1)/efi/microsoft/boot/bootmgfw.efi;}




chen463 发表于 2023-4-22 15:21:05

本帖最后由 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,把下载PE的ISO放在任意分区的/PE,选项自动菜单搜索目录/pe,就可以自选ISO启动PE,不用再动手编辑。



万人之上 发表于 2023-4-22 16:56:25

坐在沙发上学习一下,感谢分享。

yc2428 发表于 2023-4-22 17:41:35

感谢分享。

mrzhonghb 发表于 2023-4-22 19:51:42

学习一下

seeimpact153 发表于 2023-4-22 21:33:19

谢谢分享

Anson4 发表于 2023-4-23 01:08:57

感谢分享!

papachi 发表于 2023-4-23 08:13:50

我来研究看看,非常谢谢您。

wintoflash 发表于 2023-4-23 08:48:37

本帖最后由 wintoflash 于 2023-4-23 08:49 编辑

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

chen463 发表于 2023-4-23 09:28:14

本帖最后由 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:03

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

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

chen463 发表于 2023-4-23 11:39:52

wintoflash 发表于 2023-4-23 11:05
什么是 "模板"?你是不是在说 "模块" (.mod, module)。
如果你熟悉 Linux 内核,就知道 Linux 内核有很 ...

是模块mod没错,是真的不懂

itlzm 发表于 2023-4-23 13:44:01

感谢分享!

反向人 发表于 2023-4-23 13:50:15

建议出一篇详细的教程,,

langyun 发表于 2023-4-24 10:25:50

我有三系统:deepin,win10,和win81VHD,UEFI启动
目前是grub启动菜单,win菜单在二级菜单
怎么把wiin10和win81VHD两个启动跳到一级菜单呢?
比如直接选择第三个菜单进入win10,选择第四个进入VHD格式的win81
menuentry要怎么写

chen463 发表于 2023-4-25 08:39:26

本帖最后由 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:43

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

你的主菜单(一级菜单)是wintoflash的grub2还是deepin自动生成的又或者是其他的?

windeng 发表于 2023-5-1 17:00:42

感谢分享

ningzhonghui 发表于 2023-5-5 17:28:17

hilsonma 发表于 2023-4-27 16:22
你的主菜单(一级菜单)是wintoflash的grub2还是deepin自动生成的又或者是其他的?

谢谢老师前辈,我都是从你贴子学习过来的,你说得好详细,受益易懂....

mrzhonghb 发表于 2023-5-9 21:39:29

精品帖子

alex20162016 发表于 2023-5-11 17:03:05

想下载须无忧币,好的教程

mkinju 发表于 2023-5-15 15:35:50

感谢分享学习一下

amita 发表于 2023-5-22 17:54:40

多謝多謝,看得出是花了時間研究的成果,以後用得着{:1_195:}

zhangz9 发表于 2023-5-25 14:54:07

多谢分享,学习了。

kingtake 发表于 2023-6-23 12:18:39

感谢楼主分享经验

leitian72853 发表于 2023-6-30 11:53:38

感谢分享

zhang288 发表于 2023-8-3 09:06:44


谢谢分享

任平生 发表于 2023-8-6 08:52:00

学习一下

dayeye 发表于 2023-8-16 10:27:32

感谢
页: [1] 2
查看完整版本: GRUB2使用后心得分享