无忧启动论坛

标题: 关于新版本中 configfile (md)4+8 问题【已解决】 [打印本页]

作者: 车丁    时间: 2025-3-12 10:59
标题: 关于新版本中 configfile (md)4+8 问题【已解决】
本帖最后由 车丁 于 2025-3-14 11:49 编辑

在U盘启动中grldr,原使用的是0.4.6a-2020-02-29,加载:command /boot/boot/F6IMG /boot/SRS
及configfile (md)4+8。是返回原菜单界面。

前段时间换了0.4.6a-2024-02-26,加载:command /boot/boot/F6IMG /boot/SRS 及 configfile (md)4+8。直接进入命令行状态,这是什么问题?
后来尝试了2022年、2023年几个版本都是无法返回原菜单而直接进入命令行。只有原来2020年的版本能返回原菜单。
——————————————————————————————————————————————————————————————————————

关于新版 configfile (md)4+8 不能返回原菜单问题搞清楚了,是本人的的问题。
我习惯把menu.lst放在boot目录,但内置的菜单没有这个路径,我就用GRLDR_Edit_v5.0.3.exe进行编辑,但这个软件自动把内置菜单进行压缩了,我没注意,还是用configfile (md)4+8,导致无法识别。现我改用configfile (md)0x880+0x200 后,已经能够返回原菜单了。
只是要加载SRS目录内的驱动,只能使用grub4dos-0.4.6a-2023-03-29或之前的版本。后面的版本无法加载该目录内的驱动。


作者: hilsonma    时间: 2025-3-12 11:23
我刚试了 GRUB4DOS 0.4.6a 2024-02-26
configfile (md)4+8 是返回原菜单
作者: l191128    时间: 2025-3-12 11:23
感谢分享
作者: 车丁    时间: 2025-3-12 11:29


作者: 车丁    时间: 2025-3-12 11:31
我用的是联想电脑启天M4500
作者: 车丁    时间: 2025-3-12 11:45
hilsonma 发表于 2025-3-12 11:23
我刚试了 GRUB4DOS 0.4.6a 2024-02-26
configfile (md)4+8 是返回原菜单

是否旧版与新版的引导文件不同?
作者: 2011yaya2007777    时间: 2025-3-12 12:14
本帖最后由 2011yaya2007777 于 2025-3-12 12:16 编辑

应当是这样子吧
command /boot/boot/F6IMG
command /boot/SRS
configfile (md)4+8
如果还是不行,估计是内存0x800位置被污染了。
试一试
configfile /boot/grub/menu.lst

作者: 车丁    时间: 2025-3-12 13:32
本帖最后由 车丁 于 2025-3-12 14:36 编辑
2011yaya2007777 发表于 2025-3-12 12:14
应当是这样子吧
command /boot/boot/F6IMG
command /boot/SRS

试了不行,如果按configfile /boot/grub/menu.lst,等于没有加载SRS。
我只是很奇怪,旧版的没有问题,新版的反而不行。
分别用旧版和新版试了configfile /boot/grub/menu.lst,发现旧版能加载SRS,而新版的不能加载SRS。

作者: 2011yaya2007777    时间: 2025-3-12 17:17
如果你有时间的话,定位一下是哪个具体的版本开始出现的问题。
作者: ksafei    时间: 2025-3-12 17:53
2011yaya2007777 发表于 2025-3-12 17:17
如果你有时间的话,定位一下是哪个具体的版本开始出现的问题。

我使用的是SRSF6,记录能正常使用的最后版本是20230504(测试版),后续1-2个版本测试过不行就保留了这版,再后来手头没有传统BIOS机了,也就再没测试过
作者: 86933924    时间: 2025-3-12 20:26
感谢分享!
作者: 2011yaya2007777    时间: 2025-3-13 08:42
我使用的是SRSF6,记录能正常使用的最后版本是20230504(测试版)

我看了一下,可能是由于启用高版本gcc11编译引起的,暂时无解。
作者: wintoflash    时间: 2025-3-13 10:23
2011yaya2007777 发表于 2025-3-13 08:42
我看了一下,可能是由于启用高版本gcc11编译引起的,暂时无解。

目前github上发布的是用gcc-4.8编译的。
作者: 2011yaya2007777    时间: 2025-3-13 11:13
目前github上发布的是用gcc-4.8编译的。

grub4dos-0.4.6a-2023-06-09的补丁,引起编译时ipxegrldr消失。
可能当时是为了使用高版本gcc编译吧。
我不擅长编译。如果在官网测试的话,不停地发布无用版本,有点可笑。
请你帮忙看看如何解决。
作者: 2011yaya2007777    时间: 2025-3-13 13:54
算了,不用费事管他了。直接使用ipxe加载grldr吧。
作者: wintoflash    时间: 2025-3-13 19:08
2011yaya2007777 发表于 2025-3-13 11:13
grub4dos-0.4.6a-2023-06-09的补丁,引起编译时ipxegrldr消失。
可能当时是为了使用高版本gcc编译吧。
...

2023-03-29 到 2023-06-09 之间,除了改动github actions配置之外只有这两个commit
  1. https://github.com/chenall/grub4dos/commit/8c4bc2dacacf72ff86babd26d77e7b7d5faa6295
  2. support build with gcc newer than 4.8
复制代码

我看了下,这个改动对gcc<=4.8不会有影响
  1. https://github.com/chenall/grub4dos/commit/48b2bfb8ec6858aa1d19d9257f8fb4f5b7e00764
  2. 使用gcc-11高版本编译
复制代码

这里面对devread的函数进行了修改,没看懂是什么意思。
  1. #if 0   //太旧版本不再支持了  2023-05-24
  2.    if (rw_flag != 0x900ddeed && rw_flag != 0xedde0d90 && rw_flag != GRUB_LISTBLK)
  3.    {//for old devread with 32-bit byte_offset compatibility.
  4.      rw_flag = *(unsigned long*)(&write - 1);
  5.      if (rw_flag != 0x900ddeed && rw_flag != 0xedde0d90)
  6.        return !(errnum = ERR_FUNC_CALL);
  7.      buf = *(unsigned long long*)(&write - 3);
  8.      byte_len = *(unsigned long long*)(&write - 5);
  9.      byte_offset = (unsigned long)byte_offset;
  10.    }
  11. #endif
复制代码

其他改动似乎没什么影响。

作者: Apollo9996    时间: 2025-3-13 19:24

感谢分享
作者: 2011yaya2007777    时间: 2025-3-13 20:15
据chenall讲,是为了兼容老旧版本,不影响现在的版本,我觉得可以删除。ipxegrldr是由ipxe、grldr及配置菜单合成的。可以放一个新的ipxe,编译时合成一下,也是个办法。是否处理,请你定夺。
作者: 车丁    时间: 2025-3-14 10:30
本帖最后由 车丁 于 2025-3-14 11:09 编辑
2011yaya2007777 发表于 2025-3-12 17:17
如果你有时间的话,定位一下是哪个具体的版本开始出现的问题。

使用configfile /boot/menu.lst 情况下,只有grub4dos-0.4.6a-2023-03-29版本及之前的可以正确加载SRS目录内的驱动,grub4dos-0.4.6a-2023-06-09版本及之后的无法加载,提示错误。


作者: 2011yaya2007777    时间: 2025-3-14 10:40
由于改变了编译环境
作者: 2011yaya2007777    时间: 2025-3-15 09:05
也许是wintoflash在16#反馈的,那个修订所致。
麻烦你测试一下,看看可否解决。

grldr.rar

175.15 KB, 下载次数: 13, 下载积分: 无忧币 -2


作者: liuzhaoyzz    时间: 2025-3-15 10:30
本帖最后由 liuzhaoyzz 于 2025-3-15 10:37 编辑
2011yaya2007777 发表于 2025-3-13 20:15
据chenall讲,是为了兼容老旧版本,不影响现在的版本,我觉得可以删除。ipxegrldr是由ipxe、grldr及配置菜 ...

顺便说下,ipxe最新版有bug,BIOS+IPXE1.21.1+(gbe3a7)+undionly.kpxe+wimboot2.8.0 boot failed!
mcb30说最新版修复了这个bug,并且关闭了这个issue#1422,我在http://boot.ipxe.org/上面没看到最新的版本,网站上预编译版本还是旧的,他也没有回消息,不知道怎么回事。
Cannot Boot, Bad CPIO Magic Error · Issue #1422 · ipxe/ipxe
https://github.com/ipxe/ipxe/issues/1422



Bad CPIO magic in BIOS mode · ipxe/ipxe · Discussion #1425
https://github.com/ipxe/ipxe/discussions/1425
可以放一个新的ipxe
可能会带来BIOS下面wimboot无法启动的问题,需要测试下才行。

作者: 车丁    时间: 2025-3-15 11:29
2011yaya2007777 发表于 2025-3-15 09:05
也许是wintoflash在16#反馈的,那个修订所致。
麻烦你测试一下,看看可否解决。

刚才试了还是有错误提示。

不过似乎是F6IMG的问题,原来我用的是76.1KB大小,我另外下载了一个87.9KB的,就没有错误提示了(包括试了0.4.6a-2024-02-26版本也没有错误提示)。因家的电脑是DELL,貌似ACPI支持不好,无法进入XPPE,不知是否正确加载SRS。下周上班了再试一下是否直的加载了SRS。
作者: ksafei    时间: 2025-3-15 14:00
2011yaya2007777 发表于 2025-3-15 09:05
也许是wintoflash在16#反馈的,那个修订所致。
麻烦你测试一下,看看可否解决。

看到有测试就到朋友家的老机子上进行了验证,此版不能正常安装驱动,见下图

1.F6img提示未找到驱动


2.替换到0PE中进行测试在匹配驱动阶段就卡死了


作者: 2011yaya2007777    时间: 2025-3-15 15:31
看来不是这个补丁引起的。
作者: wintoflash    时间: 2025-3-15 15:54
2011yaya2007777 发表于 2025-3-15 15:31
看来不是这个补丁引起的。

yaya你电脑上的编译环境是什么样的?用的是GCC 4.8吗?

作者: 2011yaya2007777    时间: 2025-3-15 17:33
yaya你电脑上的编译环境是什么样的?用的是GCC 4.8吗?

gcc 11.3.0
我记不清楚当时编译g4d时,是因为什么因素,反复在 “useQemu: 1” 与 “useQemu: 0”之间改来改去。
其实g4d使用gcc 11.3.0编译可以通过,但是影响什么?
现在启用“useQemu: 1”,是在 gcc 4.8 环境吗?
不知修改为“useQemu: 0”,会怎样。
作者: 车丁    时间: 2025-3-17 10:46
2011yaya2007777 发表于 2025-3-15 09:05
也许是wintoflash在16#反馈的,那个修订所致。
麻烦你测试一下,看看可否解决。

刚才换了个F6IMG的版本,发现可以加载SRS,没有错误提示。估计是不同版本的F6IMG存在兼容问题。
作者: 2011yaya2007777    时间: 2025-3-17 10:51
知道了
作者: ksafei    时间: 2025-3-17 11:08
车丁 发表于 2025-3-17 10:46
刚才换了个F6IMG的版本,发现可以加载SRS,没有错误提示。估计是不同版本的F6IMG存在兼容问题。

测试版我这边不报错,但不能加载SRS,能否发个F6IMG测试下
作者: 车丁    时间: 2025-3-17 14:36
ksafei 发表于 2025-3-17 11:08
测试版我这边不报错,但不能加载SRS,能否发个F6IMG测试下

奇怪,我竟然无法发附件,压缩成RAR、ZIP、7Z都说不支持的格式。

链接:https://pan.baidu.com/s/1aAJJvfd36p-CUozulGt_tQ?pwd=7577
提取码:7577
作者: ksafei    时间: 2025-3-17 19:08
用了你这个88kb的F6IMG配合21#的grldr确实可以加载SRS了,用SRSF6还是不行,测试版兼容性没有2030504版之前的高




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