无忧启动论坛

标题: G4E 2022-12-27 内置菜单中的configfile似乎不能正确跳转 [打印本页]

作者: sunsea    时间: 2023-1-30 01:35
标题: G4E 2022-12-27 内置菜单中的configfile似乎不能正确跳转
本帖最后由 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
复制代码




作者: sunsea    时间: 2023-1-30 09:18
本帖最后由 sunsea 于 2023-1-30 09:47 编辑

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





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


上载grub.cfg以供比较: grub.cfg.zip (1.81 KB, 下载次数: 11)
作者: 2011yaya2007777    时间: 2023-1-30 10:40
此外,在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
作者: sunsea    时间: 2023-1-30 10:52
本帖最后由 sunsea 于 2023-1-30 10:54 编辑
2011yaya2007777 发表于 2023-1-30 10:40
设置了菜单框,就指定了菜单框的位置和尺寸,是绝对值,不随屏幕尺寸改变。
因此设计菜单,一般是指定一 ...


菜单中没有放setmenu --box也会出现2楼的问题。此外相比于2楼,感觉1楼问题更严重些,每次开机都要手动输入一句指令。
作者: 2011yaya2007777    时间: 2023-1-30 11:00
如题所示。部署至本地硬盘。机器为联想拯救者Y720-15IKB。

你这个内置菜单没有什么特别的,为什么不使用原始的?
我估计是这两句不适合:
root (bd)
configfile ()/efi/grub/menu.lst
原始的是:
find --set-root /efi/grub/menu.lst
configfile /efi/grub/menu.lst
作者: sunsea    时间: 2023-1-30 11:05
本帖最后由 sunsea 于 2023-1-30 11:14 编辑
2011yaya2007777 发表于 2023-1-30 11:00
你这个内置菜单没有什么特别的,为什么不使用原始的?
我估计是这两句不适合:
root (bd)


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


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

作者: iaanqrm    时间: 2023-1-30 11:22

作者: sunsea    时间: 2023-1-30 11:25
2011yaya2007777 发表于 2023-1-30 11:00
你这个内置菜单没有什么特别的,为什么不使用原始的?
我估计是这两句不适合:
root (bd)

对于1楼问题发现了一个神奇的workaround办法:压制bootx64.efi时在内置菜单结尾处多加一个空行。非常神奇。
作者: sunsea    时间: 2023-1-30 11:29
本帖最后由 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菜单处理时因为某种原因漏掉了最后一行:


作者: 2011yaya2007777    时间: 2023-1-30 11:57
意思是加一个空格,问题就解决了?有可能是处理预置菜单有问题,下午排查一下。
作者: sunsea    时间: 2023-1-30 12:09
2011yaya2007777 发表于 2023-1-30 11:57
意思是加一个空格,问题就解决了?有可能是处理预置菜单有问题,下午排查一下。


加一个【空行】,或者说注释之类能被安全忽略的东西。。
作者: 不点    时间: 2023-1-30 16:57
sunsea 版主定位到关键位置了,佩服!
作者: 9527sss    时间: 2023-1-30 17:32
谢谢分享
作者: 2011yaya2007777    时间: 2023-1-30 17:39
找到问题产生的原因了,是预置菜单最后一行缺少回车、换行符,即缺少 0xd 0xa 。
看来预置菜单最后一行必须敲换行键。

不明白的是,为什么显式菜单最后一行可以没有回车、换行符,也正常。
作者: sunsea    时间: 2023-1-30 18:06
本帖最后由 sunsea 于 2023-1-30 18:16 编辑
2011yaya2007777 发表于 2023-1-30 17:39
找到问题产生的原因了,是预置菜单最后一行缺少回车、换行符,即缺少 0xd 0xa 。
看来预置菜单最后一行必 ...

我盲猜外置菜单往往是boot这种没了也会自动补全的命令造成的……要不预处理内置菜单的时候自动结尾补一个空行?另外我一直习惯使用Unix系的换行符……
作者: sunsea    时间: 2023-1-30 18:38
2011yaya2007777 发表于 2023-1-30 17:39
找到问题产生的原因了,是预置菜单最后一行缺少回车、换行符,即缺少 0xd 0xa 。
看来预置菜单最后一行必 ...

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

我今天又测试了一次,内置菜单有你反馈的问题,但是外置菜单正常呀。
作者: sunsea    时间: 2023-1-31 09:40
2011yaya2007777 发表于 2023-1-31 08:49
我今天又测试了一次,内置菜单有你反馈的问题,但是外置菜单正常呀。

再跑了一次,外置菜单是正常的。外置菜单部分应该没有问题。可能是QEMU加载时被某种缓存干扰。那么问题应该就在内置菜单处理上。给您造成判断麻烦了抱歉。
作者: 2011yaya2007777    时间: 2023-1-31 10:41
给您造成判断麻烦了抱歉

版主的话言重了。应当感谢你反馈问题,并精准定位。
作者: kaiden999    时间: 2023-2-1 10:34
提示: 作者被禁止或删除 内容自动屏蔽
作者: enuser2k    时间: 2023-2-1 20:04
感谢分享
作者: sunsea    时间: 2023-2-7 09:15
本帖最后由 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输出结果自动判断,或者加个命令测试支不支持某个模式。
作者: 2011yaya2007777    时间: 2023-2-7 13:32
你是想根据不同的分辨率设置不同的菜单?
作者: sunsea    时间: 2023-2-7 15:21
本帖最后由 sunsea 于 2023-2-7 15:24 编辑
2011yaya2007777 发表于 2023-2-7 13:32
你是想根据不同的分辨率设置不同的菜单?


啊。是支持什么模式用什么菜单……坑爹之处在于那个电脑跑不支持的模式graphicsmode也不出错……还有就是奇怪为什么菜单没有setmenu --box也不占满屏幕……
作者: 2011yaya2007777    时间: 2023-2-7 16:03
那个电脑跑不支持的模式graphicsmode也不出错

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

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

现在屏幕显示的信息,保存到内存,过滤分辨率好像有点复杂。
比如输出:
模式 x像素 y像素 模式 x像素 y像素 ...
这样比较容易一些。
作者: sunsea    时间: 2023-2-7 17:54
2011yaya2007777 发表于 2023-2-7 16:03
没有指定的模式,则返回一个显卡支持的模式,这样比返回错误要好一些。

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

那希望能加一个参数能探测显卡支不支持某分辨率。我这是用了不支持的直接后续命令出一大堆奇怪错误然后花屏,怀疑是破坏了什么东西。以及怎么调试菜单的问题呢?
作者: 2011yaya2007777    时间: 2023-2-7 18:26
1. 你是要在命令行执行,还是在批处理执行?
2. 你输入分辨率 x y,函数返回0或者1?
3. 你输入指令,函数返回显卡支持的所有分辨率。你利用批处理筛选?
作者: sunsea    时间: 2023-2-7 21:39
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也不是不能办,看哪个你方便吧,我不是开发者,以你方便为主,谢谢了。
作者: 2011yaya2007777    时间: 2023-2-8 15:38
graphicsmode --test x y
存在返回模式号,不存在返回0。

BOOTX64.rar

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


作者: sunsea    时间: 2023-2-8 17:10
2011yaya2007777 发表于 2023-2-8 15:38
graphicsmode --test x y
存在返回模式号,不存在返回0。

感谢,测试成功!以及内置菜单最后要有个换行符的问题方便处理吗……
作者: 2011yaya2007777    时间: 2023-2-8 17:22
内置菜单最后换行符的问题,是历史遗留问题,g4d就有的。好像比较麻烦,不是大问题,就那样吧。
作者: 2011yaya2007777    时间: 2023-2-8 17:27
我觉得,批处理及菜单是按行处理的,因此要有明确的换行符。可能就是以前处理的思路吧。前人不认为这是bug。
作者: sunsea    时间: 2023-2-8 17:32
本帖最后由 sunsea 于 2023-2-8 17:34 编辑
2011yaya2007777 发表于 2023-2-8 17:22
内置菜单最后换行符的问题,是历史遗留问题,g4d就有的。好像比较麻烦,不是大问题,就那样吧。

那也行,那感觉文档加一句话说内置菜单结尾要有换行符比较好,免得不懂的人以为是什么问题。或者预处理的时候开始处理之前自动补一个换行符也行?
作者: 2011yaya2007777    时间: 2023-2-8 17:42
本帖最后由 2011yaya2007777 于 2023-2-8 18:00 编辑

因为我大概看了看,比较麻烦。喜欢内置菜单的人,大多是要压缩的。难不成还要解开菜单,加一个换行符,再压缩?如果是g4e自己引入的bug,能解决的尽量解决。
如果是g4d遗留的问题,大问题,关键问题尽量同步解决。小问题,尽量不处理。
前些时候有人在管网提出几个小问题,像返回数据多了个空格呀,多了个00呀。我处理了,结果按下葫芦起了瓢,又引起前人写的批处理失效(RUN,SISO)。只得又改回来。




作者: sunsea    时间: 2023-2-8 18:51
本帖最后由 sunsea 于 2023-2-8 18:54 编辑
2011yaya2007777 发表于 2023-2-8 17:42
因为我大概看了看,比较麻烦。喜欢内置菜单的人,大多是要压缩的。难不成还要解开菜单,加一个换行符,再压 ...

那就文档提醒一下内置菜单结尾要有个换行符感觉比较好,这样不必实际改动一切维持原样但是用户又不会引发误会。但是预处理内置菜单应该是解压->真正的处理步骤吧?在“真正的处理步骤”之前程序自动加一个换行符在尾巴上……emmm会造成不兼容还是什么问题吗……
作者: 2011yaya2007777    时间: 2023-2-8 19:47
主要是懒
作者: sunsea    时间: 2023-2-8 19:56
2011yaya2007777 发表于 2023-2-8 19:47
主要是懒

太真实了,那就这样吧,菜单我有时间试试怎么占不满屏幕……
作者: 2011yaya2007777    时间: 2023-2-8 20:04
试试这个版本,改进了,不知是否解决了。
作者: minchengan    时间: 2023-2-8 20:51
2011yaya2007777 发表于 2023-2-8 17:42
因为我大概看了看,比较麻烦。喜欢内置菜单的人,大多是要压缩的。难不成还要解开菜单,加一个换行符,再压 ...

最近学习grub4dos,用RUN时确实出现了花屏问题,不知是不是新版引起,不过搜索发现很早前有人就遇到过这个问题,得到的回复是BIOS的问题
作者: 2011yaya2007777    时间: 2023-2-8 21:16
可以肯定不是新版本的问题。或许是RUN指定的图像分辨率,BIOS不支持吧。看看RUN有没有入口参数可以设置分辨率。没有的话,只能修改RUN。
作者: sunsea    时间: 2023-2-9 08:17
2011yaya2007777 发表于 2023-2-8 20:04
试试这个版本,改进了,不知是否解决了。

如果你说的是29#的话,那么确实解决问题了,可以正常填满屏幕了,谢谢!
作者: 2011yaya2007777    时间: 2023-2-23 17:19
报告超版,新版本解决了几个问题:
1. 屏幕分辨率大于1600*1200时覆盖字库的问题。现在字体尺寸、屏幕分辨率都不受限制。
   与屏幕分辨率有关,与图像尺寸无关。
2. 菜单最后一行没有换行符而缺失的问题。
   修正前,g4d的压缩菜单受影响。g4e的菜单压缩与否都受影响。
作者: sunsea    时间: 2023-2-24 14:01
2011yaya2007777 发表于 2023-2-23 17:19
报告超版,新版本解决了几个问题:
1. 屏幕分辨率大于1600*1200时覆盖字库的问题。现在字体尺寸、屏幕分辨 ...

挺好!感谢!
作者: 时尚拼搏    时间: 2023-2-25 12:35
强强强
作者: ZMLoveLH    时间: 2023-3-6 18:24
看了楼主分享的教程,感觉楼主大佬是个牛人啊
作者: Hello学习    时间: 2023-3-7 12:06
学习
作者: rchc08    时间: 2023-3-7 21:25
学习
作者: nowayer    时间: 2023-12-9 04:14
提示: 作者被禁止或删除 内容自动屏蔽
作者: qhb    时间: 2024-11-7 11:30
赞赞




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