2011yaya2007777 发表于 2021-4-24 11:27:23

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












一线天 发表于 2021-4-24 11:53:13

强大!!

wuxin9712 发表于 2021-4-24 12:25:06

前排膜拜大神 !

2011slkj 发表于 2021-4-24 12:46:13

学习了

有阴也有阳 发表于 2021-4-24 12:46:17

在BIOS时代,G4D可以说是一枝独秀,进入UEFI时代后,大神yaya能够让其适应UEFI启动,G4D必能重获春天,再铸辉煌!!!{:2_126:}

jxxdf 发表于 2021-4-24 13:12:04

权限不够

liuzhaoyzz 发表于 2021-4-24 13:12:36

本帖最后由 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文件,选择之后启动,我试了,直接死机重启。
      

sanshen3 发表于 2021-4-24 13:22:49

噢,看来应该学习

韩小锐 发表于 2021-4-24 14:19:03

感谢分享

2011yaya2007777 发表于 2021-4-24 14:31:10

自己摸索用法,真的太累了。
我收藏的一篇用法,上传到一楼。
这个程序,以前很火,还有 SISO。
说实话,我也不是很会使用。共同学习!

2011slkj 发表于 2021-4-24 15:16:37

有阴也有阳 发表于 2021-4-24 12:46
在BIOS时代,G4D可以说是一枝独秀,进入UEFI时代后,大神yaya能够让其适应UEFI启动,G4D必能重获春天,再铸 ...

yaya大神消失好久了吧?

2011yaya2007777 发表于 2021-4-24 15:37:24

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:02:59

本帖最后由 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 16:55:57

本帖最后由 liuzhaoyzz 于 2021-4-24 17:05 编辑

      感觉上来说,run模块可以调用ntloader,用来实现遍历任何一个pe.wim并启动之。可以把ntloader内置进去吧,外置应该也可以,run的参数要做相应调整。目前感觉上来说chainloader ntloader方案大家反应要比kernel ntloader要稳定,远景未来看下wintoflash的改进计划。

感觉上来说,还是把ntloader外置更加合适点,以后ntloader更新的话,拷贝覆盖就行了,run模块不用更新,只要参数接口不变就行。

liuzhaoyzz 发表于 2021-4-24 17:04:41

2011slkj 发表于 2021-4-24 15:16
yaya大神消失好久了吧?

不要误导别人!yaya一直都在更新g4d,g4e!      

2011slkj 发表于 2021-4-24 17:08:46

本帖最后由 2011slkj 于 2021-4-24 17:17 编辑

liuzhaoyzz 发表于 2021-4-24 17:04
不要误导别人!yaya一直都在更新g4d,g4e!
没有那个意思,作为yaya的系统关注着,一直在关注着yaya

liuzhaoyzz 发表于 2021-4-24 17:34:37

2011slkj 发表于 2021-4-24 17:08
没有那个意思,作为yaya的系统关注着,一直在关注着yaya
你说的系统精简优化的那个yaya141319?
我们说的是现在g4d、g4e的开发者2011yaya2007777,根本就不是同一个人!

sd3166 发表于 2021-4-24 18:02:10

辛苦了大神

a123456789z 发表于 2021-4-24 18:17:39

瞻仰大神

2011slkj 发表于 2021-4-24 19:06:36

liuzhaoyzz 发表于 2021-4-24 17:34
你说的系统精简优化的那个yaya141319?
我们说的是现在g4d、g4e的开发者2011yaya2007777,根本就不是同 ...

2011slkj 发表于 2021-4-24 19:07:41

是技术,认真学

2011yaya2007777 发表于 2021-4-24 20:48:24

本帖最后由 2011yaya2007777 于 2021-4-24 20:49 编辑

RUN有很多版本。这个版本没有运行wim的语句,但是内置了wimboot,我给精简了。倒是有个1206版本,有启动wim的语句,可惜调试不成功,进入死循环。0619版本我添加了启动wim的语句,与g4e相同。所需的2个外置文件,放在/boot/imgs/即可。

2013mqqdg 发表于 2021-4-24 22:59:54

感谢分享

liuzhaoyzz 发表于 2021-4-25 08:32:42

liuzhaoyzz 发表于 2021-4-24 16:02
I'm sorry!
我忘记了一个很重要的前提,这个uefi版本的run模块,必须搭配最新版本的g4e使用。刚才在官网 ...

我又测试了下,2021-4-24版本g4e,原来有问题的那台笔记本,似乎还是不能正常运行一楼的run模块,直接死机重启,我用手机录像,然后捕捉到了出错画面。我上传上来。

上面的组合,在台式机上面测试启动pe.iso正常。
      

2011yaya2007777 发表于 2021-4-25 08:56:20

这个错误提示不是RUN的。
你是启动的wim吧,在那台笔记本是试一试g4e启动可否成功。如果也失败,则是另外的问题。
RUN对以前的bios模式启动,有许多条件判断和自适应,启动可能会比较成功,相对于初学者。比如交换盘符,比如判断ud是0x80还是0x00,等等。具有独特的作用。
而现在的uefi环境,没有chs的困扰,没有启动盘必须是0x80的限制,不需要交换磁盘,它的优势有所降低。但是具有魅力的搜索功能,作为一个GRUB4DOS批处理的典型范例,还是可以继续学习,研究,发扬的。

liuzhaoyzz 发表于 2021-4-25 09:16:11

本帖最后由 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,也没问题,亲测。

创新科技2015 发表于 2021-4-25 10:43:16

很给力!

liuzhaoyzz 发表于 2021-4-27 14:59:54

liuzhaoyzz 发表于 2021-4-25 09:16
不是启动wim出错的,启动g4e正常,选择run那个菜单项title 1 run mem automenu by sratlf之后,抛出了 ...
哦,顺便说一句,有问题的那台笔记本上,启动qemu虚拟机,qemu虚拟机里面,挂载启动盘, 可以正常地显示13楼的那种二级菜单。      就是实体机不行,有点奇怪。

lusir401 发表于 2021-4-28 21:38:57

g4e对G4D的继承越来越全面了。

mygamexxx 发表于 2021-4-30 16:41:18

不支持文件名中含空格和_的ISO文件。
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: RUN/NTBOOT for GRUB4EFI