无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 7532|回复: 55
打印 上一主题 下一主题

grub4dos-0.4.6a-2023-06-09,grub4dos-0.4.6a-2023-06-10无法出现菜单menu.lst 问题

[复制链接]
跳转到指定楼层
1#
发表于 2023-4-7 08:24:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 liuzhaoyzz 于 2023-6-11 14:44 编辑

--\grldr,menu.lst
   |--boot<dir>
     |--grub
     |--grub4
         |--grub_menu<mainmenu.lst>  (1024x768)
         |--grub_menu<windows7.lst>  (1024x768)
         |--grub_menu<windows10.lst> (1024x768)
         |--grub_menu<windows11.lst> (1024x768)

***note
1.使用下列版本menu.lst 无法读取到mainmenu.lst,无显示画面
grub4dos-0.4.6a-2023-02-23, grub4dos-0.4.6a-2023-02-28, grub4dos-0.4.6a-2023-03-01, grub4dos-0.4.6a-2023-03-06, grub4dos-0.4.6a-2023-03-29

2.使用下列版本menu.lst(無字) 不讀取mainmenu.lst的顯示
grub4dos-0.4.6a-2023-02-23, grub4dos-0.4.6a-2023-02-28, grub4dos-0.4.6a-2023-03-01, grub4dos-0.4.6a-2023-03-06, grub4dos-0.4.6a-2023-03-29


3.使用下列版本menu.lst(有字) 不讀取mainmenu.lst的顯示
grub4dos-0.4.6a-2022-11-28, grub4dos-0.4.6a-2022-12-22


4使用下列版本menu.lst 读取到mainmenu.lst, windows7.lst,windows10.lst,windows11,lst解析会变成800x600,回到mainmenu.lst解析会变成800x600
grub4dos-0.4.6a-2022-11-28, grub4dos-0.4.6a-2022-12-22



5.使用下列版本menu.lst 读取到mainmenu.lst ,無上述狀況
grub4dos-0.4.6a-2022-10-26




grub4dos-0.4.6a-2022-12-22_00.jpg (524.82 KB, 下载次数: 115)

grub4dos-0.4.6a-2022-12-22_00.jpg

grub4dos-0.4.6a-2023-02-23_00.jpg (393.7 KB, 下载次数: 107)

grub4dos-0.4.6a-2023-02-23_00.jpg
2#
发表于 2023-4-7 12:27:36 | 只看该作者
感谢分享
回复

使用道具 举报

3#
发表于 2023-4-9 13:17:14 | 只看该作者
超级给力,
回复

使用道具 举报

4#
 楼主| 发表于 2023-6-10 21:00:29 | 只看该作者
--\grldr,menu.lst
   |--boot<dir>
     |--grub
     |--grub4
         |--grub_menu<mainmenu.lst>  (1024x768)
         |--grub_menu<windows7.lst>  (1024x768)
         |--grub_menu<windows10.lst> (1024x768)
         |--grub_menu<windows11.lst> (1024x768)

***note
1.使用下列版本menu.lst 无法读取到mainmenu.lst,无显示画面
grub4dos-0.4.6a-2023-06-09,grub4dos-0.4.6a-2023-06-10无法读取到mainmenu.lst
回复

使用道具 举报

5#
发表于 2023-6-10 21:24:02 来自手机 | 只看该作者
说了这么多,没有说到点子上。主菜单是怎么调用子菜单的?贴上来。

点评

|--\grldr , menu.lst |--boot |--grub |--grub4 |--grub_menu (1024x768) |--grub_menu (1024x768) |--grub_menu (1024x768)  详情 回复 发表于 2023-6-11 09:36
回复

使用道具 举报

6#
发表于 2023-6-10 23:21:36 | 只看该作者
我觉得有必要发个贴子,置顶,告诉反馈问题的朋友,开发者需要了解哪些方面的问题,比如g4d/g4e版本,主菜单,硬盘MBR/GPT情况(若有必要)。这方面,我感觉英国人steve6375,还有那个JP95Git,那个墨西哥的alacran(Taviruni),反馈问题都超级棒,感觉给开发者节省了大量的时间和精力。
为啥中国人开发的引导器,国外网友反馈问题到位,国内的一些网友指向性精准反馈并能帮助开发者定位问题的人,太少了。

点评

精辟,起码将原理说清楚,易于入门!! 很多人是云里雾里,不知其所以然  发表于 2023-10-27 08:01

评分

参与人数 2无忧币 +6 收起 理由
rbwrbw + 1 说得到位
dfw9 + 5 很给力!

查看全部评分

回复

使用道具 举报

7#
 楼主| 发表于 2023-6-11 09:36:39 | 只看该作者
本帖最后由 alex20092009 于 2023-6-11 09:43 编辑
2011yaya2007777 发表于 2023-6-10 21:24
说了这么多,没有说到点子上。主菜单是怎么调用子菜单的?贴上来。

    |--\grldr , menu.lst
     |--boot
        |--grub
        |--grub4
            |--grub_menu<mainmenu.lst>  (1024x768)
            |--grub_menu<windows7.lst>  (1024x768)
            |--grub_menu<windows10.lst> (1024x768)
            |--grub_menu<windows11.lst> (1024x768)

1. 使用下列版本menu.lst 读取到mainmenu.lst ,無上述狀況
grub4dos-0.4.6a-2022-10-26

2. 从grub4dos-0.4.6a-2022-10-26版本开始以后都会在根目录menu.lst无法去读取\boot\grub4\grub_menu\mainmenu.lst

menu.lst
find --set-root --ignore-floppies --ignore-cd --devices=hf /boot/grub4/grub_menu/mainmenu.lst && configfile /boot/grub4/grub_menu/mainmenu.lst


#title \n
#root
title \n
root
#title   Command-Line
#commandline

title   Reboot Computer
savedefault --wait=2
reboot

title   Turn Off Computer
savedefault --wait=2
halt

mainmenu.lst
title \n
root
title [ Microsoft Windows Operating System Installation Manager ]\n
root
title   Microsoft Windows XP with Service Pack 3 (multi-language) [multi-function mode]
#iftitle [find --ignore-floppies --ignore-cd /boot/grub4/grub_menu/winxp_all.lst]   Microsoft Windows XP   with Service Pack 3   (multi-edition)
find --set-root /boot/grub4/grub_tag/usbdrive.tag > nul
configfile /boot/grub4/grub_menu/winxp_all.lst


title \n
root
title   Microsoft Windows 7  with Service Pack 1 (multi-language)
#iftitle [find --ignore-floppies --ignore-cd /boot/grub4/grub_menu/win7_multi.lst]   Microsoft Windows 7    with Service Pack 1   (multi-edition)
find --set-root /boot/grub4/grub_tag/usbdrive.tag > nul
configfile /boot/grub4/grub_menu/win7_multi.lst

title   Microsoft Windows 7  with Service Pack 1 (multi-language) Tu
#iftitle [find --ignore-floppies --ignore-cd /boot/grub4/grub_menu/win7_multi.lst]   Microsoft Windows 7    with Service Pack 1   (multi-edition)
find --set-root /boot/grub4/grub_tag/usbdrive.tag > nul
configfile /boot/grub4/grub_menu/win7_multi_Tu.lst

title   Microsoft Windows 7  with Service Pack 1 (multi-language) Tut
#iftitle [find --ignore-floppies --ignore-cd /boot/grub4/grub_menu/win7_multi.lst]   Microsoft Windows 7    with Service Pack 1   (multi-edition)
find --set-root /boot/grub4/grub_tag/usbdrive.tag > nul
configfile /boot/grub4/grub_menu/win7_multi_Tut.lst


title \n
root
title   Microsoft Windows 10 version 22h2 updated march 2023 (multi-language)
#iftitle [find --ignore-floppies --ignore-cd /boot/grub4/grub_menu/win10_mainmenu.lst]   Microsoft Windows 10 version 22h2 updated march 2023   (multi-edition)
find --set-root /boot/grub4/grub_tag/usbdrive.tag > nul
configfile /boot/grub4/grub_menu/win10_multi_menu.lst


title \n
root
title   Microsoft Windows 11 version 22h2 updated march 2023 (multi-language)
#iftitle [find --ignore-floppies --ignore-cd /boot/grub4/grub_menu/win11_mainmenu.lst]   Microsoft Windows 11 version 22h2 updated march 2023   (multi-edition)
find --set-root /boot/grub4/grub_tag/usbdrive.tag > nul
configfile /boot/grub4/grub_menu/win11_multi_menu.lst


#title \n
#root
#title   Microsoft Windows Server 2016 editions version   (multi-language)
##iftitle [find --ignore-floppies --ignore-cd /boot/grub4/grub_menu/winsvr.lst]   Microsoft Windows Server 2016 editions version   (multi-edition)
#find --set-root /boot/grub4/grub_tag/usbdrive.tag > nul
#configfile /boot/grub4/grub_menu/winsvr.lst


title \n
root
title [ Hardware with Diskette Manager ]\n
root
title   Hardware Test Function
#iftitle [find --ignore-floppies --ignore-cd /boot/grub4/grub_dsk/hwtest]   Hardware Test Function
find --set-root --devices=hf /boot/grub4/grub_tag/usbdrive.tag > nul
configfile /boot/grub4/grub_menu/hwtest.lst


title   Hardware Tool Function
#iftitle [find --ignore-floppies --ignore-cd /boot/grub4/grub_dsk/hwtool]   Hardware Tool Function
find --set-root --devices=hf /boot/grub4/grub_tag/usbdrive.tag > nul
configfile /boot/grub4/grub_menu/hwtool.lst


title   DiskGenius
#iftitle [find --ignore-floppies --ignore-cd /boot/grub4/grub_dsk/DiskGenius]   DiskGenius
find--set-root /boot/program/DGDOS_ISO.iso
map /boot/program/DGDOS_ISO.iso (0xff) || map --mem /boot/program/DGDOS_ISO.iso
map --hook
chainloader (0xff)
savedefault --wait=2


title \n
root
title [ Repair Diskette with Diskette Bootable Manager ]\n
root
title   Diskette Bootable System
#iftitle [find --ignore-floppies --ignore-cd /boot/grub4/grub_dsk/bootdisk]   Diskette Bootable System
find --set-root /boot/grub4/grub_tag/usbdrive.tag > nul
configfile /boot/grub4/grub_menu/bootdisk.lst
#if %?_BOOT%==(cd) configfile /boot/grub4/grub_menu/bootdisk.lst || configfile /boot/grub4/grub_menu/bootdisk.lst


title   Parted Magic with PC CMOS Cleaner
#iftitle [find --ignore-floppies --ignore-cd /boot/grub4/grub_dsk/pmagic]   PC CMOS Cleaner with Parted Magic
find --set-root /boot/grub4/grub_tag/usbdrive.tag > nul
configfile /boot/grub4/grub_menu/pmagic.lst


title \n
root
title [ Diskette Backup with Recovery Manager ]\n
root
#title   Acronis Diskette Backup with Recovery
#iftitle [find --ignore-floppies --ignore-cd /boot/grub4/grub_dsk/acronis]   Acronis Diskette Backup with Recovery
#find --set-root /boot/grub4/grub_tag/usbdrive.tag > nul
#configfile /boot/grub4/grub_menu/acronis.lst
#if %?_BOOT%==(cd) configfile /boot/grub4/grub_menu/acronis.lst || configfile/boot/grub4/grub_menu/acronis.lst


title   Acronis Cyber Protect Home Office for PC
#iftitle [find --ignore-floppies --ignore-cd /boot/grub4/grub_dsk/acronis]   Acronis Cyber Protect Home Office for PC
find --set-root /boot/grub4/grub_tag/usbdrive.tag > nul
configfile /boot/grub4/grub_menu/acronis_cyber.lst
#if %?_BOOT%==(cd) configfile /boot/grub4/grub_menu/acronis_cyber.lst || configfile/boot/grub4/grub_menu/acronis_cyber.lst.lst


title \n
root
title [ Microsoft Windows PE ]\n
root
title   Microsoft Windows PE
#iftitle [find --ignore-floppies --ignore-cd /boot/grub4/grub_dsk/winpe]   Microsoft Windows PE
find --set-root /boot/grub4/grub_tag/usbdrive.tag > nul
configfile /boot/grub4/grub_menu/windows_pe.lst
## configfile prefix_dir1/windows_pe.lst
#if %?_BOOT%==(cd) configfile /boot/grub4/grub_menu/windows_pe.lst || configfile /boot/grub4/grub_menu/windows_pe.lst


title \n
root
title [ Linux-Live CD/DVD ]\n
root
title   Linux-Live CD/DVD boot
#iftitle [find --ignore-floppies --ignore-cd /boot/grub4/grub_lnx/lnxlive]   Linix Live CD / DVD
find --set-root --ignore-floppies --ignore-cd --devices=hf /boot/grub4/grub_tag/usbdrive.tag > nul
configfile /boot/grub4/grub_lnx/lnxlive.lst
#if %?_BOOT%==(cd) configfile /boot/grub4/grub_lnx/lnuxlive.lst || configfile /boot/grub4/grub_lnx/lnuxlive.lst


title \n
root
title [ GNU GRUB Manager ]\n
root
title   GNU GRUB Setting
find --set-root --ignore-floppies --ignore-cd --devices=hf /boot/grub4/grub_tag/usbdrive.tag > nul
configfile /boot/grub4/grub_menu/grub_setting.lst
##title   GNU GRUB Display RGB colours
##find --set-root --ignore-floppies --ignore-cd --devices=hf /boot/grub4/grub_tag/usbdrive.tag > nul
##configfile /boot/grub4/grub_menu/RGB_colours.mnu
##title   GNU GRUB Display RGB colours



20230611_093830_00.jpg (329.05 KB, 下载次数: 91)

20230611_093830_00.jpg
回复

使用道具 举报

8#
发表于 2023-6-11 11:05:20 | 只看该作者
我测试没有问题。
你确认‘grub_menu’是目录吗?mainmenu.lst等等子菜单是在这个目录下吗?
在命令行执行以下操作,截图看看:
ls /boot/grub4/grub_menu/

点评

所有测试方法未用windows 虚拟机器测试  详情 回复 发表于 2023-6-11 12:59
1. mainmenu.lst子菜单是在这个\boot\grub4\grub_menu\目录下 2. 原以为是usb中毒,重新diskpart clean, usb重制问题相同 3. 尝试 usb fat32, usb ntfs 格式问题相同 4. usb ntfs 用 bootice 重制0.4.5c, 0.4.6a  详情 回复 发表于 2023-6-11 12:54
回复

使用道具 举报

9#
发表于 2023-6-11 11:08:13 | 只看该作者
感觉楼主的报告,属于比较详细的了。至少楼主是很辛苦的,能够拍照,能够测试不同版本,并且确定了出问题的版本。

我觉得,开发者是开发者,用户是用户。不可以要求用户都有开发经验,都能够猜到开发者想要的是啥。

报告问题时,开发者很不容易了解用户那边究竟哪里有错,电脑不是开发者的,所以,困难就在于,开发者没法亲自进行调试。

所以,用户端,还真的存在一个“报告技巧”的问题。

可以先用一个简化的菜单,来反复测试,看看究竟是哪一句命令没有得到正确执行。

如果自己不懂命令行,也没关系,
可以在菜单项中插入 pause 之类的命令,
这样,用户自己也就能够确定,
到底是什么命令没有得到正确的执行了。

如此一来,就可以给开发者提供更有价值的信息,
节省了开发者的排错时间。
回复

使用道具 举报

10#
发表于 2023-6-11 11:20:49 | 只看该作者
楼主最后一张图片,很能说明问题。

在准备处理 mainmenu.lst时,死机了。

有可能是 mainmenu.lst 中有某个命令导致新版本死机了。

楼主可以把 mainmenu.lst 简化,比如说,把 mainmenu.lst 文件清空,看看还死机吗?

这是一个调试思路,目的是帮助楼主,走捷径,进行快速调试和定位,而不需要费太多的脑筋。
回复

使用道具 举报

11#
发表于 2023-6-11 11:35:23 来自手机 | 只看该作者
不点大师,我是原样照抄的mainmenu.lst,可以出现子菜单界面。

点评

在 legacy bios 的情况,grub4dos 里面的许多处理,我是比较了解的。 相关的问题,我觉得,有必要给您解释一下。 iftitle 命令是 chenall 添加的。它比 title 命令更灵活方便。但带来的问题也很棘手。 与 i  详情 回复 发表于 2023-6-12 11:30
回复

使用道具 举报

12#
 楼主| 发表于 2023-6-11 12:54:16 | 只看该作者
2011yaya2007777 发表于 2023-6-11 11:05
我测试没有问题。
你确认‘grub_menu’是目录吗?mainmenu.lst等等子菜单是在这个目录下吗?
在命令行执 ...

1. mainmenu.lst子菜单是在这个\boot\grub4\grub_menu\目录下
2. 原以为是usb中毒,重新diskpart clean, usb重制问题相同
3. 尝试 usb fat32, usb ntfs 格式问题相同
4. usb ntfs 用 bootice 重制0.4.5c, 0.4.6a 问题相同
5. 经多日测试发现mainmenu.lst ,放至在\boot\grub\mainmenu.lst 画面可正常出现.
6. 试着不点方法简化问题相同
7. 试着 文件存档UTF-8, UTF-8 BOM问题相同
回复

使用道具 举报

13#
 楼主| 发表于 2023-6-11 12:54:35 | 只看该作者
本帖最后由 alex20092009 于 2023-6-11 12:55 编辑

1. mainmenu.lst子菜单是在这个\boot\grub4\grub_menu\目录下
2. 原以为是usb中毒,重新diskpart clean, usb重制问题相同
3. 尝试 usb fat32, usb ntfs 格式问题相同
4. usb ntfs 用 bootice 重制0.4.5c, 0.4.6a 问题相同
5. 经多日测试发现mainmenu.lst ,放至在\boot\grub\mainmenu.lst 画面可正常出现.
6. 试着不点方法简化问题相同
7. 试着 文件存档UTF-8, UTF-8 BOM问题相同

20230611_123917_00.jpg (427.21 KB, 下载次数: 78)

20230611_123917_00.jpg

bt2.png (41.04 KB, 下载次数: 79)

bt2.png
回复

使用道具 举报

14#
 楼主| 发表于 2023-6-11 12:59:03 | 只看该作者
2011yaya2007777 发表于 2023-6-11 11:05
我测试没有问题。
你确认‘grub_menu’是目录吗?mainmenu.lst等等子菜单是在这个目录下吗?
在命令行执 ...

所有测试方法未用windows 虚拟机器测试
回复

使用道具 举报

15#
发表于 2023-6-11 13:08:21 来自手机 | 只看该作者
14#的截图已经说明问题。在grub_menu目录下,只有main_menu.lst和_mainmenu.lst,而没有mainmenu.lst。犯了一个低级错误。

点评

实测楼主反馈的问题属实。为了简化问题,实测结果如下: grub4dos-0.4.6a-2023-06-10版本,menu.lst title mainmenu.lst find --set-root --ignore-floppies --ignore-cd --devices=hf /boot/grub4/grub_menu/mai  详情 回复 发表于 2023-6-11 14:59
你好: 2011yaya2007777如果真的找不到问题点,我在试多几台PC/NB 找出问题点, Thanks  详情 回复 发表于 2023-6-11 13:32
你好: 因無法讀取mainmenu.lst 會出現procesing 畫面才rename file  详情 回复 发表于 2023-6-11 13:14
回复

使用道具 举报

16#
 楼主| 发表于 2023-6-11 13:14:18 | 只看该作者
2011yaya2007777 发表于 2023-6-11 13:08
14#的截图已经说明问题。在grub_menu目录下,只有main_menu.lst和_mainmenu.lst,而没有mainmenu.lst。犯了 ...

你好:
因無法讀取mainmenu.lst 會出現procesing 畫面才rename file
回复

使用道具 举报

17#
 楼主| 发表于 2023-6-11 13:14:48 | 只看该作者
本帖最后由 alex20092009 于 2023-6-11 13:16 编辑

你好:
因無法讀取mainmenu.lst 會出現procesing 畫面才rename file

20230611_093830_00.jpg (329.05 KB, 下载次数: 85)

20230611_093830_00.jpg
回复

使用道具 举报

18#
 楼主| 发表于 2023-6-11 13:32:51 | 只看该作者
2011yaya2007777 发表于 2023-6-11 13:08
14#的截图已经说明问题。在grub_menu目录下,只有main_menu.lst和_mainmenu.lst,而没有mainmenu.lst。犯了 ...

你好:
2011yaya2007777如果真的找不到问题点,我在试多几台PC/NB 找出问题点, Thanks

点评

感谢测试。开发者已给出“比如g4d/g4e版本,主菜单,硬盘MBR/GPT情况(若有必要)”思路。 方法得当,事半功倍。 祝顺利。  详情 回复 发表于 2023-6-11 13:46
回复

使用道具 举报

19#
发表于 2023-6-11 13:46:17 | 只看该作者
alex20092009 发表于 2023-6-11 13:32
你好:
2011yaya2007777如果真的找不到问题点,我在试多几台PC/NB 找出问题点, Thanks

感谢测试。开发者已给出“比如g4d/g4e版本,主菜单,硬盘MBR/GPT情况(若有必要)”思路。
方法得当,事半功倍。
祝顺利。
回复

使用道具 举报

20#
发表于 2023-6-11 14:59:58 | 只看该作者
本帖最后由 liuzhaoyzz 于 2023-6-11 15:27 编辑
2011yaya2007777 发表于 2023-6-11 13:08
14#的截图已经说明问题。在grub_menu目录下,只有main_menu.lst和_mainmenu.lst,而没有mainmenu.lst。犯了 ...

实测楼主反馈的问题属实。为了简化问题,实测结果如下:
grub4dos-0.4.6a-2023-06-10版本,menu.lst
title mainmenu.lst
find --set-root --ignore-floppies --ignore-cd --devices=hf /boot/grub4/grub_menu/mainmenu.lst
configfile /boot/grub4/grub_menu/mainmenu.lst



/boot/grub4/grub_menu/mainmenu.lst菜单,我确定存在,UTF-8无BOM格式。

title   DiskGenius
find--set-root /boot/program/DGDOS_ISO.iso
map /boot/program/DGDOS_ISO.iso (0xff) || map --mem /boot/program/DGDOS_ISO.iso
map --hook
chainloader (0xff)


vmware虚拟机测试,从主菜单进入子菜单直接死机了。
手工输入命令也是一样。
我感觉是configfile命令有问题。我记得原来sunsea超版针对g4e也提出过类似的问题,还有之前在高版本的ubuntu环境下编译,yaya自己也提出过类似的问题,不清楚是否与编译环境有关,不清楚yaya是否修复了该问题,请再次确认下。
http://bbs.wuyou.net/forum.php?m ... 5896&fromuid=298214

grub4dos-0.4.6a-2016-12-23版本测试,正常。√
grub4dos-0.4.6a-2023-03-29版本测试,死机。
grub4dos-0.4.6a-2023-03-06版本测试,死机。
grub4dos-0.4.6a-2023-03-01版本测试,死机。
grub4dos-0.4.6a-2023-02-28版本测试,死机。
grub4dos-0.4.6a-2023-02-23版本测试,死机。
grub4dos-0.4.6a-2022-12-22版本测试,正常。√
grub4dos-0.4.6a-2022-11-28版本测试,正常。√
grub4dos-0.4.6a-2022-10-26版本测试,正常。√
很显然,2023年之后的版本,从grub4dos-0.4.6a-2023-02-23开始,应该是引入了bug。

看了下changelog:
grub4dos-0.4.6a-2023-02-23.7z
发表于 2023-02-23
更新信息(update log):
2023-02-23 7173aed@yaya . 增加外部定时器。(应用之一,外部命令进度条ProgressBar)。
修正压缩菜单最后一行没有换行符而缺失的问题。
修正切换视频模式菜导致单框失误的问题。
调整函数的内存使用,解决屏幕分辨率大于1600*1200时覆盖字库的问题。现在字体尺寸、屏幕分辨率都不受限制。

好像有问题。

linux64 位-2023-06-11-14-46-10.png (5.14 KB, 下载次数: 95)

linux64 位-2023-06-11-14-46-10.png

linux64 位-2023-06-11-14-46-22.png (4.7 KB, 下载次数: 97)

linux64 位-2023-06-11-14-46-22.png

linux64 位-2023-06-11-15-03-29.png (5.3 KB, 下载次数: 84)

linux64 位-2023-06-11-15-03-29.png
回复

使用道具 举报

21#
发表于 2023-6-11 15:20:17 | 只看该作者
2011yaya2007777如果真的找不到问题点,我在试多几台PC/NB 找出问题点, Thanks

问题已经重现。
qemu虚拟机测试,执行:
     configfile  /boot/grub4/grub_menu/mainmenu.lst
闪退。

目前你就把mainmenu.lst放在/boot/grub4/吧。
可能搜索4级目录有问题。
谢谢反馈!

点评

grub4dos-for_UEFI-2022-12-27测试正常√ grub4dos-for_UEFI-2023-02-23虚拟机测试死机,提示异常并重启。 情况应该跟g4d类似,是configfile引入了bug。  详情 回复 发表于 2023-6-11 15:49
回复

使用道具 举报

22#
发表于 2023-6-11 15:49:38 | 只看该作者
2011yaya2007777 发表于 2023-6-11 15:20
问题已经重现。
qemu虚拟机测试,执行:
     configfile  /boot/grub4/grub_menu/mainmenu.lst
UEFI版本
grub4dos-for_UEFI-2022-12-27测试正常√
grub4dos-for_UEFI-2023-02-23虚拟机测试死机,提示异常并重启。
情况应该跟g4d类似,是configfile引入了bug。


QQ拼音截图20230611154456.png (12.61 KB, 下载次数: 113)

QQ拼音截图20230611154456.png
回复

使用道具 举报

23#
发表于 2023-6-12 11:06:29 | 只看该作者
很显然,2023年之后的版本,从grub4dos-0.4.6a-2023-02-23开始,应该是引入了bug。

感谢liuzhaoyzz超级版主的精准定位。确实是由于增加外部定时器,挤占了配置文件的空间。配置文件+路径超过一定的字节,会出问题。现在可以确定,最长字节是52。位置有限,不可能再增大了。超出52字节会报错。
g4e 与 g4d 情况相同。

grldr.rar

174.82 KB, 下载次数: 15, 下载积分: 无忧币 -2

点评

怎么我测试,最长可以支持57个字符的长路径?/boot/grub4/grub_menu/grub_menu/grub_menu/mainmenu222.lst title /boot/grub4/grub_menu/grub_menu/grub_menu/mainmenu222.lst find --set-root --ignore-floppie  详情 回复 发表于 2023-6-12 18:53
用这个版本,我测了下,g4d可以进菜单了,还没有深度测试,我要开会了。  详情 回复 发表于 2023-6-12 13:58
回复

使用道具 举报

24#
发表于 2023-6-12 11:30:36 | 只看该作者
2011yaya2007777 发表于 2023-6-11 11:35
不点大师,我是原样照抄的mainmenu.lst,可以出现子菜单界面。

在 legacy bios 的情况,grub4dos 里面的许多处理,我是比较了解的。

相关的问题,我觉得,有必要给您解释一下。

iftitle 命令是 chenall 添加的。它比 title 命令更灵活方便。但带来的问题也很棘手。

与 iftitle 相比,原来的 title 命令,我在这里就称之为 “静态 title 命令”。

静态的 title 命令,是直接处理,无需访问磁盘,所以,不会出问题。

而带有 if 的动态 title 命令,它有 “条件” 需要判断,而执行条件判断的时候,就可能是要访问磁盘了。而在访问磁盘时,是有可能死机的。

这里有个误区,就是,“我测试正常啊?怎么会死机呢?”

死机会发生在那一类 “不友好” 的电脑上。并非统统死机。

所以,用户会碰到不正常,然后用户来报告。

开发者不能够以 “自己的测试正常”,然后就认为没问题。

正确的代码,不一定能够正确地运行。这是以前多年来得到的经验教训吧。

其实这绝大多数都是封杀行为,就是,硬件故意设计成让某个软件转不起来。

由于 iftitle 命令有可能导致死机(在执行条件命令的时候因访问磁盘而死机),所以,我在准备处理菜单之前,先打印一条消息(英文的,中文意思是:)“正在处理 某某某 菜单……”

如果此时死机,那么,这条消息就能够被用户拍照,然后,开发者就知道,是处理菜单时死机了。也就是说,configfile 所指定的那个菜单,根本就无法处理。

如果没有死机,上述消息很快就消失了,用户通常也看不见,除非那电脑慢如蜗牛。

并非只有 iftitle 命令会导致死机。在那些有问题的电脑上,任何访问磁盘的命令,都可能导致死机。

iftitle 的特殊性在于,还没显示菜单,就已经死机了。

此时,用户甚至都无法用 pause 命令!因为 pause 命令(以及其他命令)

是在菜单显示之后才可能开始处理的。

所以,请大家尽量不要使用 iftitle 命令。虽然 “恶意攻击” 的电脑数量不太多,但那是存在的。使用 iftitle 命令,就会带来这种风险。任何一种有可能 “丧失启动成功率” 的做法,都是得不偿失的。

我写得长了,阅读起来,可能费劲。请各位在空闲的时候,仔细阅读,慢慢品味。

点评

不太像是iftitle引起的问题呀? title DiskGenius find--set-root /boot/program/DGDOS_ISO.iso map /boot/program/DGDOS_ISO.iso (0xff) || map --mem /boot/program/DGDOS_ISO.iso map --hook chainloade  详情 回复 发表于 2023-6-12 12:01
回复

使用道具 举报

25#
发表于 2023-6-12 12:01:01 | 只看该作者
不点 发表于 2023-6-12 11:30
在 legacy bios 的情况,grub4dos 里面的许多处理,我是比较了解的。

相关的问题,我觉得,有必要给您 ...

不太像是iftitle引起的问题呀?

title   DiskGenius
find--set-root /boot/program/DGDOS_ISO.iso
map /boot/program/DGDOS_ISO.iso (0xff) || map --mem /boot/program/DGDOS_ISO.iso
map --hook
chainloader (0xff)

我在21楼给的简化菜单,就是为了排除这样子的特殊菜单问题,没有采用iftitle,照样死机啊。

        

点评

有个小毛病,不知您是否留意: find 和 --set-root 之间,缺少一个空格,属于命令格式错误。  发表于 2023-6-12 12:47
版主大人辛苦啦!您在 grub4dos 上的贡献,是无可替代的。深表敬意! 我没能讲清楚。其实,iftitle 只是导致死机的一种可能性。 死机的可能性有很多,不一定是 iftitle 导致的。 我只是说,请大家尽量不要  详情 回复 发表于 2023-6-12 12:35
回复

使用道具 举报

26#
发表于 2023-6-12 12:35:12 | 只看该作者
liuzhaoyzz 发表于 2023-6-12 12:01
不太像是iftitle引起的问题呀?

title   DiskGenius

版主大人辛苦啦!您在 grub4dos 上的贡献,是无可替代的。深表敬意!

我没能讲清楚。其实,iftitle 只是导致死机的一种可能性。

死机的可能性有很多,不一定是 iftitle 导致的。

我只是说,请大家尽量不要使用 iftitle 命令,免得出了问题却毫无头绪。

无论是哪种可能性引起的死机,用户都可以看到 Processing menu ........

这条消息。

我看到 yaya 已经从技术层面定位了这个问题。您们都很辛苦,祝贺!

点评

不点大太客气了,绵薄之力不足挂齿,开发者才是贡献最大,付出最多的啊。  详情 回复 发表于 2023-6-12 14:18
回复

使用道具 举报

27#
发表于 2023-6-12 13:58:10 来自手机 | 只看该作者
2011yaya2007777 发表于 2023-6-12 11:06
感谢liuzhaoyzz超级版主的精准定位。确实是由于增加外部定时器,挤占了配置文件的空间。配置文件+路径超 ...

用这个版本,我测了下,g4d可以进菜单了,还没有深度测试,我要开会了。
回复

使用道具 举报

28#
发表于 2023-6-12 14:18:40 来自手机 | 只看该作者
本帖最后由 liuzhaoyzz 于 2023-6-13 18:28 编辑
不点 发表于 2023-6-12 12:35
版主大人辛苦啦!您在 grub4dos 上的贡献,是无可替代的。深表敬意!

我没能讲清楚。其实,iftitle 只 ...

不点大太客气了,绵薄之力不足挂齿,开发者们才是贡献最大,付出最多的啊。


不点2003年创立了g4d分支,很多年了一直在与各种buggy主板作斗争。


bean让bootmgr支持直接启动grldr.mbr,还有很多贡献,比如NTFS驱动支持,pxe等,用fbinst加强了USB-CHS模式下启动成功率,完善了g4d的中文说明文档。


chenall给g4d带来了丰富的批处理扩展,改进了pxe/ipxe支持。现在从前台转向了后台,也在做贡献。


2007yaya7777一个人抗下了很多开发维护任务,多线作战,run模块/g4d/g4e。

wintoflash为g4e写了wimboot/NTLOADER,方便直接启动pe.iso/wim/vhd/RAMOS,将g4d/g4e带入了高版本gcc编译器,引入EFI handover协议让kernel/initrd可以启动linux,引入了loadfile2协议,为未来linux高版本内核做好了准备。


......


点评

开发者们确实很尽力,很有水平,当然在某种程度上都是不可替代的。Gandalf 和 Roy 两位大神也亲自主持过开发维护工作【记忆力不好,可能会有遗忘】。我觉得,不同的人,在不同的时间,不同的地点,做了不同的事情。  详情 回复 发表于 2023-6-12 17:52
回复

使用道具 举报

29#
 楼主| 发表于 2023-6-12 17:44:34 | 只看该作者
使用2011yaya2007777上传grldr.rar 读取mainmenu.lst画面正常显示


20230612_173747_00.jpg (291.62 KB, 下载次数: 98)

20230612_173747_00.jpg
回复

使用道具 举报

30#
发表于 2023-6-12 17:52:24 | 只看该作者
liuzhaoyzz 发表于 2023-6-12 14:18
不点大太客气了,绵薄之力不足挂齿,开发者们才是贡献最大,付出最多的啊。

开发者们确实很尽力,很有水平,当然在某种程度上都是不可替代的。Gandalf 和 Roy 两位大神也亲自主持过开发维护工作【记忆力不好,可能会有遗忘】。我觉得,不同的人,在不同的时间,不同的地点,做了不同的事情。不管他是开发者、维护者,还是支持者、帮助者(问题报告者就属于支持者、帮助者),他都可能展现出他的智慧、水平。他都可能达到某种艺术的境界,都有着不可替代性。以前有个时空论坛,里面有很多高手,报告问题,帮我排错。那水平不是一般的,都是出神入化的境界。pseudo 对于 grub4dos 技巧的挖掘,我感觉,我作为开发者,都没有他对于 grub4dos 的理解有那么深入,确实很佩服。大家可能都有着某个共同的目标,或者有共同的需求,大家都很尽力。就像现实中的一个真正的家庭一样,每个成员,都在为家庭做贡献。

点评

Gandalf 和 Roy我不是很了解,没有过交流,他们也是前辈了。 “他们早已不在江湖,但江湖依旧流传着他们的传说”!  详情 回复 发表于 2023-6-12 19:10
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-26 07:11

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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