RUN/NTBOOT for GRUB4EFI
本帖最后由 2011yaya2007777 于 2023-7-28 16:30 编辑先辈们的 GRUB4DOS 批处理,博大精深,到现在我也没有全部消化。
由于 GRUB4EFI 运行在保护模式,有些变量不能使用,所以 GRUB4DOS 批处理需要做一些适应性修改。
使用 sratlf 0619 版本作为样本,对 RUN 做了一些适应性修改。抛砖引玉,发布在这里。
批处理调试:
debug 批处理文件名 参数
b设置断点(10个)。例如: b 45(当前批处理, 45行) b p2,134(2号批处理, 134行)
b l 显示断点(断点号,批处理号,批处理行号)
b c清除断点 例如: c2 (清除2号断点);c (清除全部断点)
n运行至断点
c进入命令行按'ESC'键返回批处理调试
s跳过本行
e运行批处理至结束
q退出批处理
p单步执行(跨过子程序)
其他单步执行(遇到子程序进入)
2023-07-28
改进启动wim及vhd(x)。补充帮助信息。
2023-07-22
配合支持尾续的ntboot。
配套使用2023-07-16及以上版本的G4E及ntboot。G4E下载有2个网址,其中一个失效。
2023-07-01
修正 GPT 分区启动 wim/vhd
请与今天发布的 G4E 新版本及附件中的 NTBOOT,配合使用。NTBOOT 应当放在 /efi/grub/ext/ 目录。
2023-06-23
使用 RUN 启动 wim 及 vhd参数:(默认值可以不用设置)
highest值为yes|no 强制使用最高分辨率。默认no。
winpe 值为yes|no 启动到 WinPE 模式。默认yes。
示例:
set highest=yes
run --automenu
2023-06-15
修正RUN启动vhd.
2021-12-10:
1. 可以使用 NTBOOT 启动 WIM/VHD。假设 NTBOOT 位于 /efi/grub/ext/,winpe.wim 位于 (hdx,y)/boot/imgs/
title 启动 Windows WIM/VHD
map --mem /efi/grub/ext/NTBOOT (hd)
(hd-1,0)/loaderNT (hdx,y)/boot/imgs/winpe.wim
boot
2. RUN 重新修订。一个内部包含 NTBOOT。另一个不包含,需要把 NTBOOT 放在 RUN 指定的默认位置。
title 启动 Windows WIM/VHD
command /efi/grub/ext/RUN (hdx,y)/boot/imgs/winpe.wim
强大!! 前排膜拜大神 ! 学习了 在BIOS时代,G4D可以说是一枝独秀,进入UEFI时代后,大神yaya能够让其适应UEFI启动,G4D必能重获春天,再铸辉煌!!!{:2_126:} 权限不够
本帖最后由 liuzhaoyzz 于 2021-4-24 17:03 编辑
大神能否给个具体的用法demo啊?自己摸索用法,真的太累了。用法文档也是程序的重要组成部分啊。倒底哪些参数可用,哪些不能用,BIOS/UEFI下面还是有很大的区别的啊。
title 1 run mem automenu by sratlf-20141206
find --ignore-floppies --ignore-cd --set-root /EFI/grub/RUN
command --set-path=/efi/grub
command run --loadfont --mem --top --set-showsize=0 --automenu show.iso.wim /boot/imgs/
比如我想遍历/boot/imgs/下面的所有iso wim文件,选择之后启动,我试了,直接死机重启。
噢,看来应该学习 感谢分享 自己摸索用法,真的太累了。
我收藏的一篇用法,上传到一楼。
这个程序,以前很火,还有 SISO。
说实话,我也不是很会使用。共同学习! 有阴也有阳 发表于 2021-4-24 12:46
在BIOS时代,G4D可以说是一枝独秀,进入UEFI时代后,大神yaya能够让其适应UEFI启动,G4D必能重获春天,再铸 ...
yaya大神消失好久了吧? find --ignore-floppies --ignore-cd --set-root /EFI/grub/RUN
command --set-path=/efi/grub
command run --loadfont --mem --top --set-showsize=0 --automenu show.iso.wim /boot/imgs/
我按照你的菜单测试,出来一个RUN菜单,选择其中一个,回车,正常! 本帖最后由 liuzhaoyzz 于 2021-4-24 16:04 编辑
2011yaya2007777 发表于 2021-4-24 15:37
我按照你的菜单测试,出来一个RUN菜单,选择其中一个,回车,正常!
I'm sorry!
我忘记了一个很重要的前提,这个uefi版本的run模块,必须搭配最新版本的g4e使用。刚才在官网下载2021-4-24日发布的g4e,搭配uefi-run模块遍历显示pe.iso正常,选择之后,启动正常。
我还不知道这个run模块怎么启动pe.wim,选择pe.wim之后启动失败,提示file not found?run模块里面没有内置wimboot吧?需要把wimboot外置?还有bootmgfw.efi,bcd,boot.sdi这些还要不要?
g4d搭配run模块可以直接启动pe.wim,wimboot这些好像是内置的。
感觉上来说run模块可以看作wintoflash的grub2filemanager简化版,可以用来启动pe.iso。grub2filemanager启动linux.iso比较方便。
grub2filemanager有时候键盘上下移动有点卡顿,有时候又正常,可能是我不会用,有什么参数没搞对。 本帖最后由 liuzhaoyzz 于 2021-4-24 17:05 编辑
感觉上来说,run模块可以调用ntloader,用来实现遍历任何一个pe.wim并启动之。可以把ntloader内置进去吧,外置应该也可以,run的参数要做相应调整。目前感觉上来说chainloader ntloader方案大家反应要比kernel ntloader要稳定,远景未来看下wintoflash的改进计划。
感觉上来说,还是把ntloader外置更加合适点,以后ntloader更新的话,拷贝覆盖就行了,run模块不用更新,只要参数接口不变就行。 2011slkj 发表于 2021-4-24 15:16
yaya大神消失好久了吧?
不要误导别人!yaya一直都在更新g4d,g4e! 本帖最后由 2011slkj 于 2021-4-24 17:17 编辑
liuzhaoyzz 发表于 2021-4-24 17:04
不要误导别人!yaya一直都在更新g4d,g4e!
没有那个意思,作为yaya的系统关注着,一直在关注着yaya 2011slkj 发表于 2021-4-24 17:08
没有那个意思,作为yaya的系统关注着,一直在关注着yaya
你说的系统精简优化的那个yaya141319?
我们说的是现在g4d、g4e的开发者2011yaya2007777,根本就不是同一个人! 辛苦了大神 瞻仰大神 liuzhaoyzz 发表于 2021-4-24 17:34
你说的系统精简优化的那个yaya141319?
我们说的是现在g4d、g4e的开发者2011yaya2007777,根本就不是同 ...
哦 是技术,认真学 本帖最后由 2011yaya2007777 于 2021-4-24 20:49 编辑
RUN有很多版本。这个版本没有运行wim的语句,但是内置了wimboot,我给精简了。倒是有个1206版本,有启动wim的语句,可惜调试不成功,进入死循环。0619版本我添加了启动wim的语句,与g4e相同。所需的2个外置文件,放在/boot/imgs/即可。 感谢分享 liuzhaoyzz 发表于 2021-4-24 16:02
I'm sorry!
我忘记了一个很重要的前提,这个uefi版本的run模块,必须搭配最新版本的g4e使用。刚才在官网 ...
我又测试了下,2021-4-24版本g4e,原来有问题的那台笔记本,似乎还是不能正常运行一楼的run模块,直接死机重启,我用手机录像,然后捕捉到了出错画面。我上传上来。
上面的组合,在台式机上面测试启动pe.iso正常。
这个错误提示不是RUN的。
你是启动的wim吧,在那台笔记本是试一试g4e启动可否成功。如果也失败,则是另外的问题。
RUN对以前的bios模式启动,有许多条件判断和自适应,启动可能会比较成功,相对于初学者。比如交换盘符,比如判断ud是0x80还是0x00,等等。具有独特的作用。
而现在的uefi环境,没有chs的困扰,没有启动盘必须是0x80的限制,不需要交换磁盘,它的优势有所降低。但是具有魅力的搜索功能,作为一个GRUB4DOS批处理的典型范例,还是可以继续学习,研究,发扬的。 本帖最后由 liuzhaoyzz 于 2021-4-25 09:25 编辑
2011yaya2007777 发表于 2021-4-25 08:56
这个错误提示不是RUN的。
你是启动的wim吧,在那台笔记本是试一试g4e启动可否成功。如果也失败,则是另外 ...
不是启动wim出错的,启动g4e正常,选择run那个菜单项title 1 run mem automenu by sratlf之后,抛出了一个错误,右上角显示failed aterror.135.0x0。正常情况下会出现13楼的那种菜单。
出现13楼的菜单之后,才有选择pe.iso或者pe.wim的二级菜单,现在没到这一步就挂了。
至于g4e下面搭配wimboot直接启动pe.wim,我还没有尝试过,我只尝试过用g4d搭配wimboot启动过pe.wim,没问题;bios_g4d搭配run模块直接启动pe.wim,也没问题,亲测。 很给力! liuzhaoyzz 发表于 2021-4-25 09:16
不是启动wim出错的,启动g4e正常,选择run那个菜单项title 1 run mem automenu by sratlf之后,抛出了 ...
哦,顺便说一句,有问题的那台笔记本上,启动qemu虚拟机,qemu虚拟机里面,挂载启动盘, 可以正常地显示13楼的那种二级菜单。 就是实体机不行,有点奇怪。 g4e对G4D的继承越来越全面了。 不支持文件名中含空格和_的ISO文件。