无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 4823|回复: 47
打印 上一主题 下一主题

[已解决] G4E 2022-12-27 内置菜单中的configfile似乎不能正确跳转

[复制链接]
跳转到指定楼层
1#
发表于 2023-1-30 01:35:19 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 sunsea 于 2023-2-8 17:34 编辑

结论:从g4d时代就有的内置菜单处理机制问题,内置菜单结尾必须要有一个换行符才认识。



如题所示。部署至本地硬盘。机器为联想拯救者Y720-15IKB。
G4E bootx64.efi中内嵌菜单如下,其中menu.lst和bootx64.efi都在esp分区,无论是用于压制内嵌菜单的菜单文件还是调用的/efi/grub/menu.lst都使用UTF8无bom格式保存:
  1. #本文件的唯一目的是立刻查找外挂菜单并加载。
  2. root (bd)
  3. configfile ()/efi/grub/menu.lst
复制代码

压制bootx64.efi的命令如下:
  1. @echo off
  2. pushd "%~dp0"
  3. rem mkimage.exe -d ./x86_64-efi -p /efi/grub -o BOOTX64.EFI -O x86_64-efi -c ./menu.lst -f 嵌入字库 -m 嵌入模块
  4. mkimage.exe -d ./x86_64-efi -p /efi/grub -o BOOTX64.EFI -O x86_64-efi -c ./menu.lst
  5. pause
复制代码

在真机中,正常启动后提示如下:


此时手动输入configfile ()/efi/grub/menu.lst则可正常进入菜单并且一切行为正常。包括在菜单中再使用configfile也正常:


Qemu虚拟机中可以复现该错误。加入debug 3以后无论是在虚拟机还是在真机中提示不变,截图如下:


部署于U盘环境中的类似菜单也在真机和虚拟机上出现了类似错误。

附:/efi/grub/menu.lst
  1. !BAT
  2. debug 1
  3. set prefix=%@root%
  4. graphicsmode -1 1920
  5. splashimage /efi/grub/splash.hd.bmp.lzma
  6. font /efi/grub/unifont.hex.lzma
  7. #load /efi/grub/ntfs_x64.efi
  8. pause --wait=5 等你5秒,按W加载可读写ntfs驱动,按R加载只读ntfs驱动,不按键或者其他键不加载。两个驱动都是测试性的!如果有快速启动等功能不要加载!
  9. # r 0x72 114 w 0x77 119
  10. set tempbuf=%@retval%
  11. if "%tempbuf%"=="114" load /efi/grub/ntfs_x64.efi
  12. if "%tempbuf%"=="114" echo 检测到您按了R,加载只读驱动……
  13. if "%tempbuf%"=="119" load /efi/grub/ntfs_x64_rw.efi
  14. if "%tempbuf%"=="119" echo 检测到您按了W,加载可读写驱动……(测试性!)
  15. set sig_file=
  16. set wim_file=
  17. default 1

  18. title -------启动菜单,不要选这里------
  19. find --set-root %sig_file%
  20. uuid %@root%
  21. kernel %prefix%/efi/grub/ntloader/ntloader uuid=%?% file=%wim_file% hires=1 minint=1
  22. initrd %prefix%/efi/grub/ntloader/initrd.lz1
  23. boot

  24. title 正常渠道启动Windows
  25. find --set-root /EFI/Microsoft/Boot/myharddisk.txt
  26. chainloader /EFI/Microsoft/Boot/bootmgfw.efi
  27. root %@root%
  28. boot

  29. title 加载本地Archlinux的Grub2菜单
  30. find --set-root /EFI/Microsoft/Boot/myharddisk.txt
  31. chainloader /EFI/arch-grub2/grubx64.efi
  32. root %@root%
  33. boot

  34. title 直入Archlinux 正常内核
  35. find --set-root /boot/intel-ucode.img
  36. uuid ()
  37. kernel /boot/vmlinuz-linux root=UUID=%?_UUID% rw splash loglevel=3 splash
  38. initrd /boot/intel-ucode.img /boot/initramfs-linux.img

  39. title 直入Archlinux 正常内核 恢复模式
  40. find --set-root /boot/intel-ucode.img
  41. uuid ()
  42. kernel /boot/vmlinuz-linux root=UUID=%?_UUID% rw single splash
  43. initrd /boot/intel-ucode.img /boot/initramfs-linux-fallback.img

  44. title 直入Archlinux LTS
  45. find --set-root /boot/intel-ucode.img
  46. uuid ()
  47. kernel /boot/vmlinuz-linux-lts root=UUID=%?_UUID% rw splash loglevel=3 splash
  48. initrd /boot/intel-ucode.img /boot/initramfs-linux-lts.img

  49. title 直入Archlinux LTS 恢复模式
  50. find --set-root /boot/intel-ucode.img
  51. uuid ()
  52. kernel /boot/vmlinuz-linux-lts root=UUID=%?_UUID% rw single splash
  53. initrd /boot/intel-ucode.img /boot/initramfs-linux-lts-fallback.img

  54. title HHH333 PE Win11 x64
  55. set sig_file=/BOOT/H3_1164.WIM
  56. set wim_file=%sig_file%
  57. fallback 0
  58. kernel


  59. title HHH333 PE Win10 x64
  60. set sig_file=/BOOT/H3_1064.WIM
  61. set wim_file=%sig_file%
  62. fallback 0
  63. kernel


  64. title HHH333 PE Win8.1 x64
  65. set sig_file=/BOOT/H3_8164.WIM
  66. set wim_file=%sig_file%
  67. fallback 0
  68. kernel


  69. title HHH333 PE Win8 x64
  70. set sig_file=/BOOT/H3_864.WIM
  71. set wim_file=%sig_file%
  72. fallback 0
  73. kernel


  74. title 0PE Win10 PE 64 (EFI)
  75. set sig_file=/0PE/0PENB.LZMA
  76. set wim_file=/efi/boot.wim
  77. fallback 0
  78. kernel



  79. title Grub2FM 万能文件管理与启动器 By a1ive
  80. map %prefix%/efi/grub/grubfm.iso (0xff)
  81. chainloader (0xff)
  82. boot

  83. title Sltiaz 便携Linux \n root密码root。用户tux,密码tux
  84. find --set-root /IMGs/slitaz-core64.iso
  85. map /IMGs/slitaz-core64.iso (0xff)
  86. chainloader (0xff)
  87. boot

  88. title StartOS (不保存数据) \n root密码:Loongson,其他普通用户如live均为live
  89. find --set-root /startos/boot/initramfs.img
  90. uuid ()
  91. kernel /startos/boot/vmlinuz squashfs=UUID=%?%:/startos/sfs ro splash _tmpfs=y
  92. initrd /startos/boot/initramfs-fallback.img

  93. title 试图查找本地的Windows x64并启动
  94. find --set-root /Windows/System32/Boot/winload.efi
  95. uuid %@root%
  96. kernel %prefix%/efi/grub/ntloader/ntloader uuid=%?% hires=1
  97. initrd %prefix%/efi/grub/ntloader/initrd.lz1
  98. boot


  99. title 试图查找本地的Windows 7 x64并启动(WIN7专用入口!)
  100. find --set-root /Windows/System32/Boot/winload.efi
  101. uuid %@root%
  102. kernel %prefix%/efi/grub/ntloader/ntloader uuid=%?% hires=1 win7
  103. initrd %prefix%/efi/grub/ntloader/initrd.lz1
  104. boot

  105. title H3PE 原版grub2菜单
  106. find --set-root /EFI/boot/g2bootx64.efi
  107. chainloader /EFI/boot/g2bootx64.efi
  108. boot

  109. title H3PE 原版grub4efi菜单
  110. find --set-root /EFI/boot/g4bootx64.efi
  111. configfile ()/EFI/grub/h3_gr2hd.lst

  112. title USM 启动Windows_11PE_64位_全能娱乐版(支持声、显、网卡)
  113. set sig_file=/boot/usm1pe6F.wim
  114. set wim_file=%sig_file%
  115. fallback 0
  116. kernel

  117. title USM 启动Windows_11PE_64位_精简维护版
  118. set sig_file=/boot/usm1pe6L.wim
  119. set wim_file=%sig_file%
  120. fallback 0
  121. kernel


  122. title USM 启动Windows_8PE__64位_全能娱乐版(支持声、显、网卡)
  123. set sig_file=/boot/usm8pe6F.wim
  124. set wim_file=%sig_file%
  125. fallback 0
  126. kernel


  127. title USM 启动Windows_8PE__64位_精简维护版
  128. set sig_file=/boot/usm8pe6L.wim
  129. set wim_file=%sig_file%
  130. fallback 0
  131. kernel

  132. title USM 启动Windows_7PE__64位_精简维护版
  133. set sig_file=/boot/USM7PE6L.WIM
  134. set wim_file=/boot/USM7PE6L.WIM win7
  135. fallback 0
  136. kernel

  137. title 查找Archlinux-monthly.iso并启动
  138. find --ignore-floppies --set-root /archlinux-monthly.iso
  139. uuid ()
  140. map /archlinux-monthly.iso (0xff)
  141. kernel (0xff)/arch/boot/x86_64/vmlinuz-linux img_dev="/dev/disk/by-uuid/%?_UUID%" img_loop="/archlinux-monthly.iso" earlymodules=loop
  142. initrd (0xff)/arch/boot/intel-ucode.img (0xff)/arch/boot/amd-ucode.img (0xff)/arch/boot/x86_64/initramfs-linux.img
  143. boot


  144. title 退出grub4dos
  145. exit_g4d

  146. title 命令行
  147. commandline

  148. title 重启计算机
  149. reboot

  150. title 关闭计算机
  151. halt
复制代码



2#
 楼主| 发表于 2023-1-30 09:18:05 | 只看该作者
本帖最后由 sunsea 于 2023-1-30 09:47 编辑

此外,在1920x1080模式下,似乎g4e的菜单和输出都不能有效利用屏幕,而只能左上角,无论是否进入菜单、是在菜单还是命令行、是否配置graphicsmode都一样(一楼二楼的图片都因为拍全过大不能上载而进行了裁剪处理),请问该用何种命令进行配置?但是splashimage就正确铺满了屏幕。以及使用例如16x16字体的情况下,计算可用行列数在不调整字符和行间距的情况下是否就是(屏幕纵向分辨率)/16和(屏幕横向分辨率)/8?





此问题似乎可以排除机器问题,因为Archlinux的grub2作为对照组就能正确把输出填满屏幕。



上载grub.cfg以供比较: grub.cfg.zip (1.81 KB, 下载次数: 11)
回复

使用道具 举报

3#
发表于 2023-1-30 10:40:52 | 只看该作者
此外,在1920x1080模式下,似乎g4e的菜单和输出都不能有效利用屏幕,而只能左上角

设置了菜单框,就指定了菜单框的位置和尺寸,是绝对值,不随屏幕尺寸改变。
因此设计菜单,一般是指定一个普遍的,通常电脑都支持的分辨率。然后选择背景图,设计菜单框,选择合适的字体尺寸。
但是有的电脑启动时就支持一种分辨率,而且是他所支持的最大值,那必然是字体尺寸太小,菜单框也只能在左上角。
避免这种情况,就是菜单框不要指定尺寸。不使用
setmenu --box ......
此时就是满屏。
字体尺寸可以根据分辨率设置,比如:
calc *0x834c > nul ;; set a=%@retval%
if %a%>=801 && font --font-high=40 /efi/grub/menu40.hex  && splashimage /efi/grub/da.jpg
if %a%<=800 && font /efi/grub/unifont.hex.gz && splashimage /efi/grub/xiao.jpg

点评

所以还是比较奇怪为什么没有放setmenu --box输出也占不满屏幕。以及有些电脑的固件大概确实比较神奇,开CSM对1024*768的支持就没有了,菜单中使用graphicsmode -1 1024也不报错,就后续命令一大堆Error滚过去然后花  详情 回复 发表于 2023-2-7 09:15
菜单中没有放setmenu --box也会出现2楼的问题。  详情 回复 发表于 2023-1-30 10:52
回复

使用道具 举报

4#
 楼主| 发表于 2023-1-30 10:52:10 来自手机 | 只看该作者
本帖最后由 sunsea 于 2023-1-30 10:54 编辑
2011yaya2007777 发表于 2023-1-30 10:40
设置了菜单框,就指定了菜单框的位置和尺寸,是绝对值,不随屏幕尺寸改变。
因此设计菜单,一般是指定一 ...


菜单中没有放setmenu --box也会出现2楼的问题。此外相比于2楼,感觉1楼问题更严重些,每次开机都要手动输入一句指令。
回复

使用道具 举报

5#
发表于 2023-1-30 11:00:54 | 只看该作者
如题所示。部署至本地硬盘。机器为联想拯救者Y720-15IKB。

你这个内置菜单没有什么特别的,为什么不使用原始的?
我估计是这两句不适合:
root (bd)
configfile ()/efi/grub/menu.lst
原始的是:
find --set-root /efi/grub/menu.lst
configfile /efi/grub/menu.lst

点评

采用该内置菜单:(结尾处没有空行) 同样看不到最后一句can you see me直接进入命令行。使用winhex检查mkimage.exe生成的bootx64.efi二进制文件发现最后一行出现了,怀疑是g4e菜单处理时因为某种原因漏掉了最后一  详情 回复 发表于 2023-1-30 11:29
对于1楼问题发现了一个神奇的workaround办法:压制bootx64.efi时在内置菜单结尾处多加一个空行。非常神奇。  详情 回复 发表于 2023-1-30 11:25
主要是害怕查找到别的硬盘上去。按照你的方案修改过后QEMU仍然不通过。截图如下: [attachimg]518909[/attachimg]  详情 回复 发表于 2023-1-30 11:05
回复

使用道具 举报

6#
 楼主| 发表于 2023-1-30 11:05:21 | 只看该作者
本帖最后由 sunsea 于 2023-1-30 11:14 编辑
2011yaya2007777 发表于 2023-1-30 11:00
你这个内置菜单没有什么特别的,为什么不使用原始的?
我估计是这两句不适合:
root (bd)


主要是害怕查找到别的硬盘分区而不是esp上去,这个大概可以通过放置标志文件或者改名解决,不要紧。按照你的方案修改过后QEMU仍然不通过,真机也不通过。截图如下:


更新:本截图找到一个有重名文件的分区去了,修改为查找esp的自己放置的标志文件以后仍然出现该错误。
回复

使用道具 举报

7#
发表于 2023-1-30 11:22:08 | 只看该作者
回复

使用道具 举报

8#
 楼主| 发表于 2023-1-30 11:25:21 来自手机 | 只看该作者
2011yaya2007777 发表于 2023-1-30 11:00
你这个内置菜单没有什么特别的,为什么不使用原始的?
我估计是这两句不适合:
root (bd)

对于1楼问题发现了一个神奇的workaround办法:压制bootx64.efi时在内置菜单结尾处多加一个空行。非常神奇。
回复

使用道具 举报

9#
 楼主| 发表于 2023-1-30 11:29:34 | 只看该作者
本帖最后由 sunsea 于 2023-1-30 11:31 编辑
2011yaya2007777 发表于 2023-1-30 11:00
你这个内置菜单没有什么特别的,为什么不使用原始的?
我估计是这两句不适合:
root (bd)

采用该内置菜单:(结尾处没有空行)
  1. debug 3
  2. find --set-root /efi/grub/mydisk.sig
  3. pause can you see me?
复制代码

同样看不到最后一句can you see me直接进入命令行。使用winhex检查mkimage.exe生成的bootx64.efi二进制文件发现最后一行出现了,怀疑是g4e菜单处理时因为某种原因漏掉了最后一行:

回复

使用道具 举报

10#
发表于 2023-1-30 11:57:01 来自手机 | 只看该作者
意思是加一个空格,问题就解决了?有可能是处理预置菜单有问题,下午排查一下。

点评

加一个【空行】。  详情 回复 发表于 2023-1-30 12:09
回复

使用道具 举报

11#
 楼主| 发表于 2023-1-30 12:09:36 来自手机 | 只看该作者
2011yaya2007777 发表于 2023-1-30 11:57
意思是加一个空格,问题就解决了?有可能是处理预置菜单有问题,下午排查一下。


加一个【空行】,或者说注释之类能被安全忽略的东西。。
回复

使用道具 举报

12#
发表于 2023-1-30 16:57:23 | 只看该作者
sunsea 版主定位到关键位置了,佩服!
回复

使用道具 举报

13#
发表于 2023-1-30 17:32:02 | 只看该作者
谢谢分享
回复

使用道具 举报

14#
发表于 2023-1-30 17:39:39 | 只看该作者
找到问题产生的原因了,是预置菜单最后一行缺少回车、换行符,即缺少 0xd 0xa 。
看来预置菜单最后一行必须敲换行键。

不明白的是,为什么显式菜单最后一行可以没有回车、换行符,也正常。

点评

经测试,外置菜单没有问题是因为我halt后面又多敲了几个空行。去除外置菜单中的结尾空行后(1楼那个菜单),“关闭计算机”这一选项消失。所以外置菜单处理也应该有类似问题。  详情 回复 发表于 2023-1-30 18:38
我盲猜外置菜单往往是boot这种没了也会自动补全的命令造成的……  详情 回复 发表于 2023-1-30 18:06
回复

使用道具 举报

15#
 楼主| 发表于 2023-1-30 18:06:19 来自手机 | 只看该作者
本帖最后由 sunsea 于 2023-1-30 18:16 编辑
2011yaya2007777 发表于 2023-1-30 17:39
找到问题产生的原因了,是预置菜单最后一行缺少回车、换行符,即缺少 0xd 0xa 。
看来预置菜单最后一行必 ...

我盲猜外置菜单往往是boot这种没了也会自动补全的命令造成的……要不预处理内置菜单的时候自动结尾补一个空行?另外我一直习惯使用Unix系的换行符……
回复

使用道具 举报

16#
 楼主| 发表于 2023-1-30 18:38:03 | 只看该作者
2011yaya2007777 发表于 2023-1-30 17:39
找到问题产生的原因了,是预置菜单最后一行缺少回车、换行符,即缺少 0xd 0xa 。
看来预置菜单最后一行必 ...

经测试,外置菜单没有问题是因为我halt后面又多敲了几个空行。去除外置菜单中的结尾空行后(1楼那个菜单),“关闭计算机”这一选项消失。所以外置菜单处理也应该有类似问题。
回复

使用道具 举报

17#
发表于 2023-1-31 08:49:17 | 只看该作者
经测试,外置菜单没有问题是因为我halt后面又多敲了几个空行。去除外置菜单中的结尾空行后(1楼那个菜单),“关闭计算机”这一选项消失。所以外置菜单处理也应该有类似问题。

我今天又测试了一次,内置菜单有你反馈的问题,但是外置菜单正常呀。

点评

再跑了一次,外置菜单是正常的。外置菜单部分应该没有问题。可能是QEMU加载时被某种缓存干扰。那么问题应该就在内置菜单处理上。  详情 回复 发表于 2023-1-31 09:40
回复

使用道具 举报

18#
 楼主| 发表于 2023-1-31 09:40:03 | 只看该作者
2011yaya2007777 发表于 2023-1-31 08:49
我今天又测试了一次,内置菜单有你反馈的问题,但是外置菜单正常呀。

再跑了一次,外置菜单是正常的。外置菜单部分应该没有问题。可能是QEMU加载时被某种缓存干扰。那么问题应该就在内置菜单处理上。给您造成判断麻烦了抱歉。
回复

使用道具 举报

19#
发表于 2023-1-31 10:41:42 | 只看该作者
给您造成判断麻烦了抱歉

版主的话言重了。应当感谢你反馈问题,并精准定位。
回复

使用道具 举报

20#
发表于 2023-2-1 10:34:07 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

21#
发表于 2023-2-1 20:04:43 | 只看该作者
感谢分享
回复

使用道具 举报

22#
 楼主| 发表于 2023-2-7 09:15:55 | 只看该作者
本帖最后由 sunsea 于 2023-2-7 09:18 编辑
2011yaya2007777 发表于 2023-1-30 10:40
设置了菜单框,就指定了菜单框的位置和尺寸,是绝对值,不随屏幕尺寸改变。
因此设计菜单,一般是指定一 ...

所以还是比较奇怪为什么没有放setmenu --box输出也占不满屏幕。以及有些电脑的固件大概确实比较神奇,开CSM对1024*768的支持就没有了,菜单中使用graphicsmode -1 1024也不报错,就后续命令一大堆Error滚过去然后花屏,只能用800*600。不开CSM屁事没有,1024*768也支持了。不知道g4e什么时候支持文本按行处理想分析graphicsmode --info输出结果自动判断,或者加个命令测试支不支持某个模式。
回复

使用道具 举报

23#
发表于 2023-2-7 13:32:34 来自手机 | 只看该作者
你是想根据不同的分辨率设置不同的菜单?

点评

啊。是支持什么模式用什么菜单……  详情 回复 发表于 2023-2-7 15:21
回复

使用道具 举报

24#
 楼主| 发表于 2023-2-7 15:21:13 来自手机 | 只看该作者
本帖最后由 sunsea 于 2023-2-7 15:24 编辑
2011yaya2007777 发表于 2023-2-7 13:32
你是想根据不同的分辨率设置不同的菜单?


啊。是支持什么模式用什么菜单……坑爹之处在于那个电脑跑不支持的模式graphicsmode也不出错……还有就是奇怪为什么菜单没有setmenu --box也不占满屏幕……
回复

使用道具 举报

25#
发表于 2023-2-7 16:03:28 | 只看该作者
那个电脑跑不支持的模式graphicsmode也不出错

没有指定的模式,则返回一个显卡支持的模式,这样比返回错误要好一些。
奇怪为什么菜单没有setmenu --box也不占满屏幕……

这确实奇怪。可能是新显示模式的分辨率没有传递过来。

现在屏幕显示的信息,保存到内存,过滤分辨率好像有点复杂。
比如输出:
模式 x像素 y像素 模式 x像素 y像素 ...
这样比较容易一些。

点评

那希望能加一个参数能探测显卡支不支持某分辨率。我这是用了不支持的直接后续命令出一大堆奇怪错误然后花屏,怀疑是破坏了什么东西。以及怎么调试菜单的问题呢?  详情 回复 发表于 2023-2-7 17:54
回复

使用道具 举报

26#
 楼主| 发表于 2023-2-7 17:54:32 | 只看该作者
2011yaya2007777 发表于 2023-2-7 16:03
没有指定的模式,则返回一个显卡支持的模式,这样比返回错误要好一些。

这确实奇怪。可能是新显示模式 ...

那希望能加一个参数能探测显卡支不支持某分辨率。我这是用了不支持的直接后续命令出一大堆奇怪错误然后花屏,怀疑是破坏了什么东西。以及怎么调试菜单的问题呢?
回复

使用道具 举报

27#
发表于 2023-2-7 18:26:39 | 只看该作者
1. 你是要在命令行执行,还是在批处理执行?
2. 你输入分辨率 x y,函数返回0或者1?
3. 你输入指令,函数返回显卡支持的所有分辨率。你利用批处理筛选?

点评

1,我是希望给菜单用的,命令行我直接用graphicsmode --info人力判断了。 2,大概是希望有个graphicsmode --test x y这样的,函数返回1表示有,0无这样,然后我可以送checkrange 3,批处理筛选这事大概比较复杂,  详情 回复 发表于 2023-2-7 21:39
回复

使用道具 举报

28#
 楼主| 发表于 2023-2-7 21:39:46 | 只看该作者
2011yaya2007777 发表于 2023-2-7 18:26
1. 你是要在命令行执行,还是在批处理执行?
2. 你输入分辨率 x y,函数返回0或者1?
3. 你输入指令,函 ...

1,我是希望给菜单或者批处理用的,命令行手动的话我直接用graphicsmode --info人力判断了。
2,大概是希望有个graphicsmode --test x y这样的,函数返回1表示有,0无这样,然后我可以送checkrange
3,批处理筛选这事大概比较复杂,但是配合WENV也不是不能办,看哪个你方便吧,我不是开发者,以你方便为主,谢谢了。
回复

使用道具 举报

29#
发表于 2023-2-8 15:38:23 | 只看该作者
graphicsmode --test x y
存在返回模式号,不存在返回0。

BOOTX64.rar

141.57 KB, 下载次数: 11, 下载积分: 无忧币 -2

点评

感谢,测试成功!以及内置菜单最后要有个换行符的问题方便处理吗……  详情 回复 发表于 2023-2-8 17:10
回复

使用道具 举报

30#
 楼主| 发表于 2023-2-8 17:10:48 | 只看该作者
2011yaya2007777 发表于 2023-2-8 15:38
graphicsmode --test x y
存在返回模式号,不存在返回0。

感谢,测试成功!以及内置菜单最后要有个换行符的问题方便处理吗……
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-20 02:56

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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