无忧启动论坛

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

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

    [复制链接]
1711#
 楼主| 发表于 2011-9-7 10:01:21 | 只看该作者

回复 #1710 HUNRYBECKY 的帖子

绕来绕去整这么复杂看着头昏。
所谓"0pe2,3项菜单不见了",新版0PE本来就是这样。是p大偷了懒,直接屏蔽了以前菜单的2、3项,未改序号。
后面看不到菜单内容,是字体冲突。
是你自己加载了UNIFONT字体,run不会帮你缷载。调用0pe前,你要自己缷载字体。

[ 本帖最后由 zxw 于 2011-9-7 10:07 编辑 ]
回复

使用道具 举报

1712#
发表于 2011-9-7 10:25:54 | 只看该作者
原帖由 zxw 于 2011-9-7 10:01 发表
绕来绕去整这么复杂看着头昏。
所谓"0pe2,3项菜单不见了",新版0PE本来就是这样。是p大偷了懒,直接屏蔽了以前菜单的2、3项,未改序号。
后面看不到菜单内容,是字体冲突。
是你自己加载了UNIFONT字体,run不 ...


难怪,我昨天一起把0PE给更新了。。。
之所以在我的菜单中使用UNIFONTS,是想把整个菜单都弄成UTF8的。
回复

使用道具 举报

1713#
发表于 2011-9-7 10:36:43 | 只看该作者
Z大能否加个功能,如果已经检测到加载了字体,就卸载,这样就不会有冲突了。
回复

使用道具 举报

1714#
 楼主| 发表于 2011-9-7 11:55:11 | 只看该作者

回复 #1713 HUNRYBECKY 的帖子

run脚本尽量保持调用前的环境,包括字体。你自己使用不当,应该自己解决。run脚本不会智能到满足不同的的需要,比如你要求缷载字体,他要求保留字体。那应该满足谁的要求?

另外,你用0pe原始的调用方式测试一下,你就知道问题与run无关:
UNIFONT /hytools/grub/boot/U16.GZ
find --set-root --ignore-floppies /0PE/MENU.0PE
configfile /0PE/MENU.0PE

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

使用道具 举报

1715#
发表于 2011-9-7 13:27:05 | 只看该作者

回复 #1706 HUNRYBECKY 的帖子

我只是抛砖引玉,并不是要目录固定及层数一致,只要一个特定的定位文件,可以按你的需要灵活运用。结合RUN就可以达到你的目的。
回复

使用道具 举报

1716#
发表于 2011-9-7 13:36:40 | 只看该作者

回复 #1712 HUNRYBECKY 的帖子

0PE有自己的专用字库加载,不能外加字库,如果你有自己的菜单中使用了字库,在加载0PE前要自己卸载字库,否则造成冲突,0PE就没有汉字菜单了。
 这个问题与RUN无关。因为 RUN中加载字库在前,0PE加载字库在后。加载0PE后就由0PE接管了。RUN就失去作用了。
  即使按你的要求判断是否加载字库,那在加载0PE前是不存在双重字库的。0PE加载后RUN就无法作用了。除非0PE的菜单中有判断是否加载字库,否则很难解决。
回复

使用道具 举报

1717#
 楼主| 发表于 2011-9-7 13:44:56 | 只看该作者

回复 #1713 HUNRYBECKY 的帖子

想了一下,加载0pe时,还是满足你的要求吧。
回复

使用道具 举报

1718#
发表于 2011-9-7 15:04:32 | 只看该作者
那就在调用0PE的模块中增加一个判断加载UNIFONT字库的语句,如果已经加载该 字库,就--UNLOAD.
曾试着让0PE与RUN支持同一套字库,但没成功,也没再去弄,否则就不会造成冲突了。

[ 本帖最后由 幸运的草 于 2011-9-7 15:07 编辑 ]
回复

使用道具 举报

1719#
发表于 2011-9-7 16:23:08 | 只看该作者
原帖由 幸运的草 于 2011-9-7 13:36 发表
0PE有自己的专用字库加载,不能外加字库,如果你有自己的菜单中使用了字库,在加载0PE前要自己卸载字库,否则造成冲突,0PE就没有汉字菜单了。
 这个问题与RUN无关。因为 RUN中加载字库在前,0PE加载字库在后 ...


感谢Z大和幸运的草的提醒,因为对0PE和RUN用法不是很了解,所以造成很多误解。我现在不用UTF9菜单了,所以也就没有这个问题了。。。
回复

使用道具 举报

1720#
发表于 2011-9-7 16:28:22 | 只看该作者
原帖由 zxw 于 2011-9-7 11:55 发表
run脚本尽量保持调用前的环境,包括字体。你自己使用不当,应该自己解决。run脚本不会智能到满足不同的的需要,比如你要求缷载字体,他要求保留字体。那应该满足谁的要求?

另外,你用0pe原始的调用方式测试 ...



感谢Z大的指正。
测试中我发现RUN 可以智能加载ISO是否使用-MEM参数,比如ISO是连续存放(内置到UD隐藏分区)的,RUN /MYISO/0PE.ISO则不会加载到内存中,如果我把0PE外置到硬盘,我发现该命令不用加--MEM会自动加载到内存,不知道我的理解是否正确?反正测试中我发现是这样的。
另外我发现如果加入--fira参数,无论内置还是外置都会加载到内存中运行。
回复

使用道具 举报

1721#
发表于 2011-9-7 17:46:29 | 只看该作者
原帖由 zxw 于 2011-9-7 13:44 发表
想了一下,加载0pe时,还是满足你的要求吧。


感谢,刚才测试了下,一切正常,我又把我的菜单改为UTF8了,这样我就不用每行调用0PE的菜单都加入下载字体的命令了。。。
回复

使用道具 举报

1722#
发表于 2011-9-7 21:07:25 | 只看该作者

回复 #1720 HUNRYBECKY 的帖子

0PE要讲究“布署”,一般调用最好用0PE原版的GRLDR内置菜单,合盘时可以调用自带的MENU.0PE。
使用RUN调用也可以,属于一般PE的调用方法,用P大的话说属“布署不当”,不使用--mem参数,与ISO大小影响不大,如果使用--MEM参数将ISO加载到内存中,那么对于ISO大小影响就很大了。不使用--mem参数,要求ISO必须是连续存放(这是G4D的要求),使用--MEM参数,不要求连续存放。
回复

使用道具 举报

1723#
发表于 2011-9-7 22:17:17 | 只看该作者
请教zxw,

我用
  1. find RUN /Slitaz/Slitaz.iso
复制代码
启动/Slitaz/Slitaz.iso成功。
然后我试图用下面的代码,查找根目录下有iso文件的分区(如E盘),找到后自动列表,
  1. command --set-path=(bd)/BOOT/GRUB/
  2. find command RUN --set-ext=.iso /
复制代码
这段代码失败了。
  1. find command RUN --set-ext=.iso /ISO/
复制代码

却成功了,奇怪。

[ 本帖最后由 2011_dihuo0 于 2011-9-8 08:09 编辑 ]
回复

使用道具 举报

1724#
 楼主| 发表于 2011-9-8 08:42:32 | 只看该作者

回复 #1723 2011_dihuo0 的帖子

  1. find RUN /Slitaz/Slitaz.iso
复制代码
应该这样写:RUN /Slitaz/Slitaz.iso
  1. find command RUN --set-ext=.iso /ISO/
复制代码
应该这样写:command RUN --set-ext=.iso /ISO/
前面的find不用写,comand(只是菜单中作为敏感命令,使该菜单项可显)也可不写,run模块会自动查找。

[ 本帖最后由 zxw 于 2011-9-8 08:43 编辑 ]
回复

使用道具 举报

1725#
发表于 2011-9-8 12:15:24 | 只看该作者
多谢指点,
  1. find command RUN --set-ext=.iso /
复制代码
这段代码不知道为什么会失败?

[ 本帖最后由 2011_dihuo0 于 2011-9-8 12:19 编辑 ]
回复

使用道具 举报

1726#
 楼主| 发表于 2011-9-8 13:00:11 | 只看该作者

回复 #1725 2011_dihuo0 的帖子

估计你说的失败是列表空白。如根目录无.iso文件,就是正常的。
回复

使用道具 举报

1727#
发表于 2011-9-8 19:37:43 | 只看该作者
不是这样的。抱歉我没说清楚。
在我的电脑中,run和grub4dos在D盘,E盘根目录下放了一些iso文件,运行下面的代码:
  1. find command RUN --set-ext=.iso /
复制代码
提示按任意键继续,然后显示了(bd)/BOOT/IMGS/,即默认目录下的文件列表。
然后我把E盘下的isoiso文件移入/ISO/目录,即(hd0,5)/ISO/目录,运行下面的代码
  1. find command RUN --set-ext=.iso /ISO/
复制代码
就会显示(hd0,5)/ISO/下ISO文件列表。
我想问的是第一段代码为什么不能显示E盘下ISO文件的列表。

[ 本帖最后由 2011_dihuo0 于 2011-9-8 19:40 编辑 ]
回复

使用道具 举报

1728#
发表于 2011-9-8 20:06:04 | 只看该作者
utf-8编码菜单,加载了unifont ()/BOOT/GRUB/FONTS

command RUN ()/0PE/M.0PE  没有问题(因为前一阵z大添加了unifont --unload)

RUN --set-ext=.iso|.IMG|/ /ABC/ 后按M返回,再次
command RUN ()/0PE/M.0PE  出现不能显示文字的问题,也就是utf-8编码和0pe的ansi编码菜单冲突了。

以上是老版run‘的问题,新版是不是解决的这个冲突?我先试试。

经测试
新版run第一次command RUN ()/0PE/M.0PE 就不能显示文字了。必须前面写上unifont --unload才行。

但是command RUN /0PE/M.0PE 6 倒是依然能显示汉字,不用写unifont --unload,不明白为什么。

[ 本帖最后由 tingyue-wu 于 2011-9-8 20:20 编辑 ]
回复

使用道具 举报

1729#
 楼主| 发表于 2011-9-8 20:28:31 | 只看该作者

回复 #1727 2011_dihuo0 的帖子

你前面加find干什么?不过,就是写为:
command RUN --set-ext=.iso /
也可能是空白列表。
对于自动列表或自动菜单,脚本只找路径,路径找到了就认为是成功的。
指定了扩展名参数,也只会在这个路径下过滤。

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

使用道具 举报

1730#
发表于 2011-9-8 20:28:45 | 只看该作者
感谢楼主更新 辛苦了
回复

使用道具 举报

1731#
 楼主| 发表于 2011-9-8 20:37:29 | 只看该作者

回复 #1728 tingyue-wu 的帖子

稍等,漏了这个情形。
已上传,应该可以了。

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

使用道具 举报

1732#
发表于 2011-9-8 21:44:35 | 只看该作者

回复 #1729 zxw 的帖子

加find只是为了说明问题保持原样而已。
“脚本只找路径,路径找到了就认为是成功的。”
多谢指点。
回复

使用道具 举报

1733#
发表于 2011-9-9 20:52:34 | 只看该作者
-fira 参数无效了?
回复

使用道具 举报

1734#
 楼主| 发表于 2011-9-10 10:46:01 | 只看该作者

回复 #1733 2010527104427 的帖子

汗,又一处手误。已纠正。
回复

使用道具 举报

1735#
发表于 2011-9-12 22:57:32 | 只看该作者
原帖由 zxw 于 2011-9-10 10:46 发表
汗,又一处手误。已纠正。


呵呵,Z大,还是有错误,command RUN --fira --set-ext=+.iso|.ima|.img|.gz|.bin|.wim|.|/ /MYISO/.automenu自动菜单中的--fira有效
但是command RUN --fira --set-ext=+.iso|.ima|.img|.gz|.bin|.wim|.|/ /MYISO/自动列表就无效了。。。。。以前都可以的。。。。
快快修正吧。。。。
回复

使用道具 举报

1736#
 楼主| 发表于 2011-9-12 23:42:29 | 只看该作者

回复 #1735 HUNRYBECKY 的帖子

这个不算bug,有意为之。可以在列表窗口按F+……
严格说来,使自动菜单的--fira有效是不科学的。

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

使用道具 举报

1737#
发表于 2011-9-13 08:11:17 | 只看该作者
原帖由 zxw 于 2011-9-12 23:42 发表
这个不算bug,有意为之。可以在列表窗口按F+……
严格说来,使自动菜单的--fira有效是不科学的。



原来如此,不过还是希望保留这个--fira参数,比较方便,希望Z大更新的时候在更新日志里说明一下,不然,还以为又有BUG了。。。。。
还有几个小问题,非常想请教一下:
1.我的USB为了兼容性问题,做成的是ZIP启动方式(HDD启动在很多老主板包括我的笔记本上都启动不了),这样的话,我发现我的USB-ZIP用GRUB启动后会变成(fd0),如果我想自己家在FIRADISK.IMG到FD0,加载SARA.IMG到FD1就不行了,只能加载一个,当然可以把二者整合到一起加载到FD1中,不过这样比较麻烦。。。
我看到使用你RUN --FIRA的时候的时候提示"Now loading (fd11)/firadisk.img" ,问下你是加载FIRADISK.IMG到FD11还是FD0,或是FD1的?

2.RUN不知道能否支持安装自动应答文件WINNT.SIF,如果支持就好了,这样我不用手动都集成WINNT.SIF到WINXP.ISO中了,可以使用参数--sif来让用户决定是否使用自动应答文件。
能否在完成加载WINXP.ISO后用户提供的WINNT.SIF复制到虚拟光盘后再从光盘启动,这样应该可以实现的。
或者自动生成一个批处理,完成后自动执行这个批处理来安装winxp

以上两点,还望赐教

[ 本帖最后由 HUNRYBECKY 于 2011-9-13 08:21 编辑 ]
回复

使用道具 举报

1738#
 楼主| 发表于 2011-9-13 08:40:37 | 只看该作者
按F+…应该也比较方便了吧。
1.IMG默认映射到(fd0),如要映射到其它,如:RUN /PATH/FIRADISK.IMG (fd1)
2.对此没有研究,也许可以这样:
  RUN --noboot WINXP.ISO
   if exist /WINNT.SIF && FAT copy /o /WINNT.SIF (0xff)/……   
  #这里要用到外部命令fat,但应该不会成功,映射的光盘也不可写吧?也许可以虚拟一个软盘?
  chainloader (0xff)
  你研究一下吧

[ 本帖最后由 zxw 于 2011-9-13 09:10 编辑 ]
回复

使用道具 举报

1739#
发表于 2011-9-13 10:10:14 | 只看该作者
虚拟光盘怎么能写呢?
回复

使用道具 举报

1740#
发表于 2011-9-13 10:37:03 | 只看该作者

回复 #1739 zhaohj 的帖子

虚拟光盘(mem)里面的内容可以改写但只能使用
dd 或 write之类的命令改写文件内容.
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-23 07:52

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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