无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: 2011yaya2007777
打印 上一主题 下一主题

[原创] GRUB4DOS for UEFI

    [复制链接]
121#
发表于 2021-10-26 16:38:26 | 显示全部楼层
本帖最后由 hhh333 于 2021-10-26 16:42 编辑
2011yaya2007777 发表于 2021-10-26 16:12
1. 我这里测试,grub4dos-for_UEFI-2021-07-28 和 grub4dos-for_UEFI-2021-09-08 版本,都正常。
2. 不 ...

我一直也没管,直接升级,ISO文件在虚拟机中测试确实是正常的,但是,
1、如果安装到硬盘或U盘启动(不是MAP ISO的形式,即直接用G4E的bootx64.efi启动,就出现hotkey失效的问题。
2、还是硬盘启动,从xorboot等转G4E,hotkey也失效。菜单在上面已经贴出来了,已经command的目录设定到hotkey所在的地方。也进命令行测试了,直接运行hotkey728以后的版本没有任何提示,应该是执行了,不然会有找不到的提示。728版本运行时就出帮助。

我目前测试了硬盘和移动硬盘启动都是这个情况。
回复

使用道具 举报

122#
发表于 2021-10-26 17:47:47 | 显示全部楼层
wintoflash 发表于 2021-10-26 16:34
-m xxx.mod。要用打包工具把外部命令打包成 *.mod
https://github.com/chenall/grubutils/releases/tag/ ...

变成MOD可以了
回复

使用道具 举报

123#
发表于 2021-10-26 18:25:44 | 显示全部楼层
本帖最后由 hhh333 于 2021-10-26 19:24 编辑

测试结果:内核最新版1021,hotkey1021,hotkey728。EFI硬盘NTFS分区直接用BOOTX64.EFI启动
1、内核+hotkey1021.mod:菜单显示,hotkey没作用,进c运行hotkey提示找不到
2、内核+hotkey728.mod:
第一次出现这个

第2次~n次都是这个

结果都是死机
3、1021的BOOTX64+外置1021的hotkey:菜单显示,hotkey没作用,进c运行hotkey或者hotkey -a 没有任何提示



4、但可以再运行hotkey728,回到菜单已经能够正常显示





5、转其他启动器后再转到G4E,hotkey728也无效了





6、把hotkey728替换hotkey,进菜单可以直接有效,但转其他启动器后再进G4E,则失效。进c手动运行hotkey有提示,但最后一行没有hotkey installed。又运行hotkey -u 没提示,再运行hotkey与前面一样,最后一行还是没有提示,热键仍然无效。

7、用ISO在虚拟机中测试,各版本hotkey无论内置还是外置,一切正常。



回复

使用道具 举报

124#
发表于 2021-10-26 21:56:56 | 显示全部楼层
2011yaya2007777 发表于 2021-10-26 19:49
我在U盘实机启动测试,热键正常。注意,参数 -A 是大写。


原来如此,看上图,后面是我的台式机,前面是笔记本,前面的正常,后面的不正常。同一个U盘EFI启动。
我这个台式机就是f大那个ntloader用chainloader正常,用kernel不正常的那台机器,但728显示正常,是机器的问题还是代码的问题?
回复

使用道具 举报

125#
发表于 2021-10-27 07:41:16 | 显示全部楼层
2011yaya2007777 发表于 2021-10-27 06:48
我比较奇怪,你的热键不带参数(-a无效),你是如何判断热键起不起作用?kernel启动不正常的案例比较多,我 ...

我主要看是不是能够正常显示,因为设定了不同颜色的,能够正常显示的就起作用,如下图:


否则无效,如下图:

回复

使用道具 举报

126#
发表于 2021-10-28 09:32:13 | 显示全部楼层
2011yaya2007777 发表于 2021-10-27 06:48
我比较奇怪,你的热键不带参数(-a无效),你是如何判断热键起不起作用?kernel启动不正常的案例比较多,我 ...

能否参考728把新版hotkey改一下,让两台电脑都能用( 虽然728也可用,但内置版死机)
回复

使用道具 举报

127#
发表于 2021-10-29 10:01:36 | 显示全部楼层
本帖最后由 hhh333 于 2021-10-29 10:03 编辑
2011yaya2007777 发表于 2021-10-29 08:34
首先更正一下,我前面说的 hotkey 不加参数无效,是错误的。

关于热键,你反馈了不少,我有点找不着要 ...

我一直是不加参数用的。回头晚上测试
回复

使用道具 举报

128#
发表于 2021-10-29 17:45:05 | 显示全部楼层
2011yaya2007777 发表于 2021-10-29 08:34
首先更正一下,我前面说的 hotkey 不加参数无效,是错误的。

关于热键,你反馈了不少,我有点找不着要 ...

还是无效:

回复

使用道具 举报

129#
发表于 2021-10-29 17:54:53 | 显示全部楼层
你的菜单不变,hotkey换成728版,菜单正确呈现,按键也有效

回复

使用道具 举报

130#
发表于 2021-10-29 17:58:13 | 显示全部楼层
你的菜单不变,hotkey换成728版,菜单正确呈现,按键也有效

回复

使用道具 举报

131#
发表于 2021-10-29 19:52:09 | 显示全部楼层
2011yaya2007777 发表于 2021-10-29 19:21
hotkey是在 /efi/grub/吗?不是在 /efi/grub/ext/ 吗?    如果是这样,那我就不清楚是什么原因了。我这里 ...

是的,按你的要求放/efi/grub/下。
728版本怎么可以正常显示?新版本小了好几kb,是不是省略了一些功能
回复

使用道具 举报

132#
发表于 2021-11-4 08:26:52 | 显示全部楼层
本帖最后由 hhh333 于 2021-11-4 09:04 编辑

g4d(不是g4e) 1015,加载hotkey后异常,热键可以呈现但按之不能工作,e/c/b也不能工作,按自动编号也无效。热键最新版不变,grldr回退到813,一切正常。
刚才测了1013,与1015一样,看来只有回退到813了
回复

使用道具 举报

133#
发表于 2021-11-4 10:29:33 | 显示全部楼层
这个与机器无关,虚拟机中也一样
回复

使用道具 举报

134#
发表于 2021-11-5 07:36:37 | 显示全部楼层
本帖最后由 hhh333 于 2021-11-5 08:45 编辑
2011yaya2007777 发表于 2021-11-4 15:43
我使用2021-10-15版本的grldr,最新的hotkey,在qemu虚拟机测试,很正常呀。

H3CD.7z (485.1 KB, 下载次数: 21)
看一下这个就清楚了

其他不变,换813的grldr就好了

回复

使用道具 举报

135#
发表于 2021-11-5 08:57:56 | 显示全部楼层
2011yaya2007777 发表于 2021-11-4 11:24
你说的是 0813 及 1015 版本的 grldr 吧。不是指 hotkey 吧。
g4d 不带外部命令。
我一直理解你反馈的 ...

看来还不够简洁,总结一下:
1、G4D的:813版grldr配新的G4D的hotkey没问题,但813以上版本有问题:热键可以呈现但失效,自编号热键也失效;这个虚拟机上可重复;即主要表现为grldr的问题,hotkey一直是最新版不变
2、G4E的:这个主要表现为G4E的hotkey的问题,728版本的hotkey(12kb的)与其他的bootx64.efi在虚拟机和其他机器上一切正常,但超过这个版本号降到9kb的那个与其他的bootx64.efi配合表现为挑机器,虚拟机中正常,我的本本上正常,我的台式机不正常,表现为热键不能呈现也不能操作。
回复

使用道具 举报

136#
发表于 2021-11-5 21:19:57 | 显示全部楼层
2011yaya2007777 发表于 2021-11-5 14:54
基本搞清楚了。是这句惹的祸:
setmenu  --auto-num-on  --string=32=3=0xffff00="Grub4DOS CD启动菜单" ...

我的意思是G4E的hotkey,版本升了后减了3kb,然后就在我的台式机上出问题了
回复

使用道具 举报

137#
发表于 2021-11-5 21:33:53 | 显示全部楼层
2011yaya2007777 发表于 2021-11-5 14:54
基本搞清楚了。是这句惹的祸:
setmenu  --auto-num-on  --string=32=3=0xffff00="Grub4DOS CD启动菜单" ...

hotkey功能能不能和setmenu整合到一起做到主程序里面,我把它作为基本功能的,再由外置来支持总觉得有点本末倒置,而且也增加了程序的不稳定性
回复

使用道具 举报

138#
发表于 2021-11-5 23:05:41 | 显示全部楼层
2011yaya2007777 发表于 2021-11-5 21:44
12k与9k的hoykey是分别服务于不同的环境。再说一遍,g4d、g4e有各自的hotkey,不要搞混。2030#出现的问题, ...

这个一直分得很清的。
前面一直反馈的是G4E。最近才发现G4D有问题
回复

使用道具 举报

139#
发表于 2021-11-5 23:06:50 | 显示全部楼层
2011yaya2007777 发表于 2021-11-5 21:53
另外,你把 /boot/grub/ext/设置为外部命令的默认目录,也放置了hotkey,但是在根目录也放置了hotkey,这不 ...

老大,这个测试用的,实际用的时候只有ext中才有的
回复

使用道具 举报

140#
发表于 2021-11-5 23:17:41 | 显示全部楼层
本帖最后由 hhh333 于 2021-11-5 23:21 编辑
2011yaya2007777 发表于 2021-11-5 21:44
12k与9k的hoykey是分别服务于不同的环境。再说一遍,g4d、g4e有各自的hotkey,不要搞混。2030#出现的问题, ...

太累了,我都怀疑我语言表达有问题了。我拿G4D的hotkey与G4E的比较大小有意义吗?我是说G4E的hotkey,1021版明显比728版本要小,自从体积变小以后就异常了,为你排查提供一些思路而已。太累了,感觉不在一个频道。
明显变小是从0809开始的。如果是个别代码调整,应该不会有这么大的差别吧
回复

使用道具 举报

141#
发表于 2021-11-5 23:53:37 | 显示全部楼层
2011yaya2007777 发表于 2021-11-5 14:54
基本搞清楚了。是这句惹的祸:
setmenu  --auto-num-on  --string=32=3=0xffff00="Grub4DOS CD启动菜单" ...

试了,菜单不变,在虚拟机与实机上都可以正常显示并使用,以为可以了
但是:进一下子菜单DOS工具,就又回到解放前。
感觉还是没有从根本上改好。
回复

使用道具 举报

142#
发表于 2021-11-6 07:56:41 | 显示全部楼层
爬起来又试了,把菜单单行写好像也不行
回复

使用道具 举报

143#
发表于 2021-11-6 12:05:42 | 显示全部楼层
本帖最后由 hhh333 于 2021-11-6 12:06 编辑
2011yaya2007777 发表于 2021-11-6 09:10
如果测试不正常,你最好把菜单,过程,环境等等有关事宜记录一下,集中反馈,以便我可以重现问题,才能找到 ...

就是上面我发你的文件,你进一下DOS工具菜单看一下就清楚了 H3CD.7z (485.03 KB, 下载次数: 11)
回复

使用道具 举报

144#
发表于 2021-11-6 17:00:18 | 显示全部楼层
本帖最后由 hhh333 于 2021-11-6 17:03 编辑
2011yaya2007777 发表于 2021-11-6 13:20
你是说,加载了热键以后,进入DOS工具菜单,然后又返回原来的菜单?是这样的话,必须卸载热键以后再加载。 ...

不返回,直接就失效了,是二次加载引起的吗?但813的grldr没问题
回复

使用道具 举报

145#
发表于 2021-11-8 20:00:18 | 显示全部楼层
本帖最后由 hhh333 于 2021-11-8 20:01 编辑
2011yaya2007777 发表于 2021-11-6 17:46
我后天测试看看,现在是瞎猜测。

G4E的hotkey从这里开始挑机器
一下子小了5kb

回复

使用道具 举报

146#
发表于 2021-11-9 12:19:01 | 显示全部楼层
本帖最后由 hhh333 于 2021-11-9 12:20 编辑
2011yaya2007777 发表于 2021-11-8 20:30
问题基本找到了。是一个变量被污染了。是怎么污染的还不清楚,也不好定位。不过找到解决途径了。再做一下优 ...

干脆直接整合到主程序中算了,省得我发命令,还要找外置,一堆在大的麻烦。默认就直接支持不香吗?菜单不就是这些个功能吗?

点评

这跟是否整合没有关系。 不放在主程序里面,主要是考虑保证与bios下功能的一致性。  详情 回复 发表于 2021-11-9 12:48
可 拓展性 生态,外部命令好多的,随然不太用。 (有阴影,记得 去年,热键,影响 整个 g4e的 稳定性 ,分而治之的 好)  详情 回复 发表于 2021-11-9 12:34
回复

使用道具 举报

147#
发表于 2021-11-9 16:18:38 | 显示全部楼层
本帖最后由 hhh333 于 2021-11-9 16:36 编辑

热键总结一下:
1、系统热键:C、E、B,系统直接定义管理
2、隐藏式热键:界面不出现,由内部命令setmenu定义并管理
3、半隐藏式热键:由内部命令setmenu定义的自动编号热键,界面出现但不以后续定义的热键颜色呈现
4、显式热键:由外部命令hotkey加载实现,以[]和^引入,并且可以自定义颜色(这个是辨识度最高的,一眼就可看出来,算最友好的)

是不是这样的,比较合理的方式热键应该统一管理吧,不然真的很乱。这种内外交织管理,确实很复杂,我真不知道作者是如何实现而不出错的

譬如:
我想用第4种热键,我就要修改菜单,但万一hotkey出问题(如没找到,加载异常等),不只是热键失效,而且是菜单显示也出现了热键的定义符,可能影响排版和观感。

回复

使用道具 举报

148#
发表于 2021-11-10 10:06:17 | 显示全部楼层
liuzhaoyzz 发表于 2021-11-10 07:34
我觉得把必要的模块外置不是个太好的设计。

对于BIOS下面的g4d或者grub2来说,因为受制于MBR扇区数,放 ...

我觉得hotkey应该是内核的基本功能,起码这一块应该是核心模块来统一处理,不容易出错一些。

点评

这个帖子里面,我以前曾经反馈过,笔记本按大写c键才能从菜单进入命令行的问题,不知道是否与这个hotkey有关,有点奇怪,不过这不是个大问题。  详情 回复 发表于 2021-11-10 10:35
回复

使用道具 举报

149#
发表于 2021-11-12 12:21:25 | 显示全部楼层
本帖最后由 hhh333 于 2021-11-12 12:22 编辑
2011yaya2007777 发表于 2021-11-12 10:22
g4d热键修正完毕,请测试。

经测试已经完全正常

G4E的会重修吗?
回复

使用道具 举报

150#
发表于 2021-11-12 16:05:20 | 显示全部楼层
刚才又仔细测了(G4D1015配修正的hotkey),G4D-->MS、ISOLINUX、Grub2、EZBOOT-->G4D均表现正常
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-14 16:12

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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