无忧启动论坛

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

[分享] [20150128]自动列表·自动菜单·数字启动

    [复制链接]
751#
 楼主| 发表于 2011-3-7 12:08:28 | 只看该作者
03-07:1.为保持脚本的相对稳定性,取消run前的参数传递。
         2.加强unifotn字体搜索。字体命令、字体文件分别必须命名为unifont、fonts;
            可自定义路径,如--set-fontpath=/fonts/,默认为:/boot/grub/

[ 本帖最后由 zxw 于 2011-3-7 20:19 编辑 ]
回复

使用道具 举报

752#
发表于 2011-3-7 12:27:49 | 只看该作者

回复 #750 zxw 的帖子

因为我试了 statlf 的 RUN 是没有倒数计时以及显示 firadisk.img 的.
回复

使用道具 举报

753#
 楼主| 发表于 2011-3-7 14:26:47 | 只看该作者

回复 #752 guies 的帖子

没有看懂你的意思,你是说加载firadisk驱动文件后不显示那个倒计时么?
回复

使用道具 举报

754#
发表于 2011-3-7 15:14:18 | 只看该作者
其实原来的一种参数两种应用方式(全局和个体)还是很好的 没发现什么不稳定。

不过还是支持一下更新。z大大概是在为新功能做准备吧(猜测)
回复

使用道具 举报

755#
发表于 2011-3-7 16:28:13 | 只看该作者
其实也不是很重要啦,只是大家都会在 imgs\ 里放 firadisk.img ,而这个文件又无法启动,当然自动列表隐藏这个文件会比较美观。

补充:
刚试了今天的版本,gfxmenu 不能用了。
前天的版本还可以。

set gfxmenu=/boot/grub/message
run .automenu

[ 本帖最后由 guies 于 2011-3-7 16:48 编辑 ]
回复

使用道具 举报

756#
发表于 2011-3-7 17:06:23 | 只看该作者
这张是 sratlf 作者 run gfxmenu 列表,ims/ 里有 firadisk.img 但没显示出来,也没倒数计时。
还有倒数问题是因为我的 firadisk.img 文件名在前面,倒数的话没按任何键又会去启动 firadisk.img。

grub.jpg (132.13 KB, 下载次数: 122)

grub.jpg
回复

使用道具 举报

757#
 楼主| 发表于 2011-3-7 17:08:20 | 只看该作者
回复 #754 tingyue-wu 的帖子
是否保留加载前置变量,各有利弊。考虑再三,觉得还是保留的好,可以保证脚本运行前后的连续性。

回复 #755 guies 的帖子、回复 #756 guies 的帖子
这个过滤我个人觉得必要,况且用户也不一定以firadisk命名。
gfxmenu界面的倒计时,我个人相反,觉得很有保留的必要。
gfxmenu无效的问题,我测试没有,或者你试试上传的新版。

新版恢复加载脚本前设置变量的方式。
同时新增参数--quiet,加载firadisk驱动后强制从iso文件启动。

[ 本帖最后由 zxw 于 2011-3-7 19:45 编辑 ]
回复

使用道具 举报

758#
发表于 2011-3-7 18:35:44 | 只看该作者
run 、firadisk.img以及WIN2003PE.ISO都在(ud)/BOOT/IMGS目录中,用RUN /BOOT/IMGS/WIN2003PE.ISO能正常启动,但用RUN /BOOT/IMGS/firadisk.img /BOOT/IMGS/WIN2003PE.ISO出现下列错误提示:
Now Loading (ud)/BOOT/IMGS/FIRADISK.IMG...
Now Loading (ud)/BOOT/IMGS/WIN2003PE.ISO...
Error 21:Selected disk does not exist
回复

使用道具 举报

759#
发表于 2011-3-7 19:33:22 | 只看该作者

回复 #754 tingyue-wu 的帖子

 支持,个人认为,前置变量还是保存为好,前置变量可以简化菜单,如果去掉前置变量,调用可能会比较复杂,而使用RUN模块就是为了简化菜单。
 
回复

使用道具 举报

760#
发表于 2011-3-7 19:43:56 | 只看该作者
 请问楼主,如何在自动菜单中显示中文文件名,比如,grldr是中文版本还是英文版本,能否给个字体文件下载地址,我的字体文件放在/boot/grub/下,但显示中文乱码,怎么都不行。
回复

使用道具 举报

761#
 楼主| 发表于 2011-3-7 19:46:45 | 只看该作者

回复 #760 幸运的草 的帖子

哦,我个人习惯英文版本。sorry

对了,暂时别用显示中文的功能,目前还不稳定。
详情请见此帖。http://bbs.wuyou.net/forum.php?mod=viewthread&tid=180142&page=62#pid2175638

当然,不加载中文名的文件则没有问题。

[ 本帖最后由 zxw 于 2011-3-7 20:30 编辑 ]
回复

使用道具 举报

762#
 楼主| 发表于 2011-3-7 20:26:02 | 只看该作者

回复 #758 qdaijchf 的帖子

奇怪,我测试没有问题。或者试试才上传的版本。
回复

使用道具 举报

763#
发表于 2011-3-7 20:39:22 | 只看该作者
就是今天的版本,3.5的那个也一样这种情况。
回复

使用道具 举报

764#
 楼主| 发表于 2011-3-7 20:44:00 | 只看该作者

回复 #763 qdaijchf 的帖子

我刚才上传了一个新版,你可测试一下。
或者前面加一个参数--mem,也可测试一下。
如RUN --mem /BOOT/IMGS/firadisk.img /BOOT/IMGS/WIN2003PE.ISO
回复

使用道具 举报

765#
发表于 2011-3-7 20:47:23 | 只看该作者

回复 #758 qdaijchf 的帖子

run 如果不放在/boot/grub/目录下,在调用前就要使用路径,否则会出错,你把RUN放在/boot/grub目录下再试试,我测试没有问题。
回复

使用道具 举报

766#
 楼主| 发表于 2011-3-7 21:46:40 | 只看该作者

回复 #765 幸运的草 的帖子

他反馈信息可以看出,已有Load文件信息,不存在run所在目录的问题。
回复

使用道具 举报

767#
发表于 2011-3-7 22:48:37 | 只看该作者
RUN 它是不是会自动补完全部大写,在光碟开机中无法使用,因为 grub 在磁碟系统中大小写都可以TAB补完及执行,但在光碟系统中就有区分大小写了,所以menu.lst难写多了。
文件名全大寫又很难看。

RUN.png (174.64 KB, 下载次数: 100)

RUN.png
回复

使用道具 举报

768#
发表于 2011-3-8 08:31:49 | 只看该作者
zxw大!
最新版无论是否加--mem都已经通过。但是ISO在ud中必须加--mem,否则pe中没有虚拟出来的盘符,应该是pe不认识ud的缘故吧。
那个倒计时,提示在10秒之内按下“I”启动ISO……,但下面的倒计时是从30开始倒数的,是否笔误?
还有能否把启动ISO与系统安装调换一下?就是10秒内按“I”继续安装系统,任意键或倒计时结束后就启动ISO。
假如启动的是pe的iso,只要不人工干预就会自动进入pe。
假如启动的是的安装盘的iso,只要不人工干预,就自动启动winxp.iso,安装盘的iso启动后,假如再不干预,还是自动进入硬盘启动进入第二阶段安装的。

[ 本帖最后由 qdaijchf 于 2011-3-8 08:34 编辑 ]
回复

使用道具 举报

769#
发表于 2011-3-8 09:50:37 | 只看该作者

回复 #768 qdaijchf 的帖子

普通PE一般不用使用firadisk驱动的,只要使用--mem参数整体加载内存就可以了,如果使用firadisk驱动也可以加上--quiet参数强制从ISO启动。
    只有安装版的ISO才需要加载firadisk驱动才能完成安装。
    有一利就有一弊,如何判断ISO是普通的PE还是安装版的ISO?只有将安装版的ISO强制规定一个名称,判断如果和规定名称一样的ISO才能被判断为是安装版的ISO。
   另外,也要进行判断硬盘分区是否的NT5,如果没有则从ISO启动,如果有则从硬盘启动。这样判断是否会出现判断错误导致其他问题?
   因为用户环境是很复杂的,这个RUN有的运用到光盘中,有的可能是U+的,有的可能是FB的,有的是HDD模式,有的是ZIP模式,不同环境可能对判断的结果就有不同,很多情况下同一个软体,在HDD模式下通过而在ZIP模式下则出错。
   不知楼主有更好的判断方法?
回复

使用道具 举报

770#
 楼主| 发表于 2011-3-9 09:52:00 | 只看该作者
回复 #768 qdaijchf 的帖子
嗯,你很细心。不过也无妨,只是显示的问题。下一版纠正。
要智能判断是否安装盘,我个人水平认为目前这是不可能的。

回复 #769 幸运的草 的帖子
正因为用户环境是很复杂,判断难度很大。不如将由用户来判断更稳当。
回复

使用道具 举报

771#
发表于 2011-3-9 11:14:14 | 只看该作者

回复 #770 zxw 的帖子

我也是这个意思,让用户判断较用妥当。
    应该说新版的RUN已经很完善了, 这几天我认真的想了想,结合测试结果,提几点建议,看是否在细节上再进行一下完善。
    一、关于是否使用全局变量的问题,可以是各有利弊,用户要求也不会统一,为了增加通用性,照顾不同用户的使用习惯,可否增加一个用户变量usrmar,默认为ON,run模块中增加一个清除所有前置变量(全局变量)的小模块,RUN启动时先进行判断,如果usrmar设置为OFF,则直接跳转到清除变量的模块中,使前置变量不起作用,相当于3.7日的那一版。如果usrmar设置为ON或没有设置,则不清除前置变量,相当于目前的版本,即一个菜单项中设置的变量对另一个菜单相互影响。
    本人试着改了一改,经测试达到预期效果。
    二、经测试:加载字库参数和加载MESSAGE的参数不能同时使用,二者同时使用会导致死机。
    建议:
    1、在自动菜单模块中,如果用户使用了gfxmenu参数,在列出菜单前应该判断是否已经加载了字库,如果加载了,应先退出字库后再列菜单;返回菜单前应判断是否已经加载了字库,如已经加载,应先退出字库再返回菜。  
    2、而在自动列表模块中,返回菜单前也应先判断是否加载了字库,如果加载先退出字库再返回。命令行下可不进行判断。
    (这是因为字库已经加载,如果用户不使用txt参数的话,不会强制以文本方式显示,相当于已经强制以图形方式显示了,一个列表菜单中使用字库,将会影响其他菜单也必须运行在图形模式下),这样字库只限制在自动列表及自动菜单模块中使用,且互不影响,同时也不会引起其他问题。
      实现起来也不复杂,不知楼主意下如何?

[ 本帖最后由 幸运的草 于 2011-3-9 11:16 编辑 ]
回复

使用道具 举报

772#
 楼主| 发表于 2011-3-9 11:59:54 | 只看该作者

回复 #771 幸运的草 的帖子

03-09:接受幸运之草的建议,由用户自动选择加载run模块前是否清除变量。
           用法:加载前set reset=on,则清除;否则不清除。

[ 本帖最后由 zxw 于 2011-3-9 12:23 编辑 ]
回复

使用道具 举报

773#
发表于 2011-3-9 21:32:38 | 只看该作者
  测试了一下,楼主新版RUN的判断语句失效,reset不为on的情况下,也强制清除了前置变量,导致前置变量除了path,debug外其他变量失效不可用。
  我修改了一下,可以达到以上要求,同时解决了在一个RUN列表中使用--gfx参数加载字库后影响另一个run列表或菜单的问题。本版加载字库只对当前菜单起作用,不影响另一个列表菜单。

RUN.rar

3.09 KB, 下载次数: 43, 下载积分: 无忧币 -2

回复

使用道具 举报

774#
 楼主| 发表于 2011-3-9 22:13:19 | 只看该作者

回复 #773 幸运的草 的帖子

你试试改为if /i "%reset%"=="on" set *应该可以了。
哦,你是这样改的。OK!

[ 本帖最后由 zxw 于 2011-3-9 22:20 编辑 ]
回复

使用道具 举报

775#
发表于 2011-3-9 22:38:07 | 只看该作者

回复 #774 zxw 的帖子

if /i %reset%==on echo -n > (md)0x228+1,明明reset的值为off 却还是执行了-n > (md)0x228+1,真有点怪了。
下图是在命令行测试结果:
 1、已经定义的变量:其中reset的值为OFF
 2、测试条件是否成立,没有显示this is test,说明判断正确。
 3、测试同等条件下语句执行结果,条件不成立,却执行了echo语句。把变量清除了。
 

TT.jpg (15.71 KB, 下载次数: 88)

TT.jpg
回复

使用道具 举报

776#
 楼主| 发表于 2011-3-9 22:59:19 | 只看该作者

回复 #775 幸运的草 的帖子

谢谢,我也发现了这个问题。应该是grub4dos的一个小bug
回复

使用道具 举报

777#
发表于 2011-3-10 07:00:36 | 只看该作者
学习一下。。。。谢谢。
回复

使用道具 举报

778#
发表于 2011-3-10 08:30:29 | 只看该作者

回复 #776 zxw 的帖子

你9日更新的RUN,清除变量的语句位置不对,如果reset=on的话,debug参数也失去作用了。
      还有一个问题也要解决一下,在一个列表菜单中使用了gfx参数加载字库,退出后字库不会自动退出,如果在另一个自动菜单中使用了gfxmenu参数的话,没有同时使用txt参数,就会同时调用message和字库,可能会引起黑屏特别是在多层菜单中调用的情况下,这种现象会更明显。
      我的意思是在RUN开始时加入判断控制台是否在图形模式,如果是,强制恢复成文件模式,这样无论用户是否加载了字库,重新加载后会自动恢复文件模式,不会对加载message相互影响,即一个菜单中加载字库不影响另一个菜单调用。当然,如果能防止同时使用gfx及gfxmenu参数更好。
      你测试一下我的RUN,可使DEBUG参数起效。同时也解决了上述问题。

[ 本帖最后由 幸运的草 于 2011-3-10 09:10 编辑 ]
回复

使用道具 举报

779#
发表于 2011-3-10 08:54:50 | 只看该作者
请教下Z大,怎么把RUN,集成到目0PE当中,以最新版的0PE我解包后拖入UD区,保持原目录结构不变化,菜单怎么写,还要加哪些工具进去,望百忙当中抽点时帮我写个菜单和例子,包括RUN放的位置,本人对RUN是一无所知,太菜了,看了半天贴也没看明白,感激不敬
回复

使用道具 举报

780#
发表于 2011-3-10 09:11:25 | 只看该作者
O(∩_∩)O哈哈哈~ 好用极了。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-10 19:13

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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