无忧启动论坛

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

F6模块0PE_SRS&通用合盘模板(双语)示例教程(F6 Module & Multi-Language Menu)

    [复制链接]
跳转到指定楼层
1#
发表于 2010-4-1 10:20:25 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
请通读#1至#5楼


写完稿子就放上来了,闭门造车,还没调试,感兴趣愿当白鼠的朋友帮测试反馈一下。u

[ 本帖最后由 pseudo 于 2010-4-1 12:19 编辑 ]

0PE_SRS.part1.rar

390.63 KB, 下载次数: 2676, 下载积分: 无忧币 -2

0PE_SRS.part2.rar

390.63 KB, 下载次数: 3230, 下载积分: 无忧币 -2

0PE_SRS.part3.rar

390.63 KB, 下载次数: 3684, 下载积分: 无忧币 -2

0PE_SRS.part4.rar

390.63 KB, 下载次数: 2338, 下载积分: 无忧币 -2

0PE_SRS.part5.rar

192.31 KB, 下载次数: 1765, 下载积分: 无忧币 -2

点评

赞  发表于 2022-6-1 14:39
推荐
 楼主| 发表于 2010-4-1 10:20:54 | 只看该作者

回复 #2 pseudo 的帖子

双语菜单


[ 本帖最后由 pseudo 于 2010-4-1 10:26 编辑 ]

点评

赞  发表于 2022-6-1 14:39
回复

使用道具 举报

推荐
 楼主| 发表于 2010-4-1 10:20:42 | 只看该作者

回复 #1 pseudo 的帖子

F6模块0PE_SRS&通用合盘模板说明   Pseudo 2010.03.31

1. 合盘模板已包含0PE_SRS,它是0PE的一个组件,包含0PE在SRS驱动方面的部分功能。可作独立
   通用F6模块,用于启动PE或安装系统等。0PE的F6模块应是最早能用于安装系统的独立F6模块了。
   0PE在SRS驱动方面的其它功能,在0PE其它组件里。驱动注入功能与F6模块无本质联系,进入PE
   桌面后,0PE提供图形界面的驱动注入功能。

2. 此模板演示0PE或其F6模块0PE_SRS的功能、调用接口;演示新式多国语言菜单;演示各种部署
   合一的Grub4Dos技术,等等。可作为示例教程。

3. 合盘模板以iso映像形式提供,可用UltraISO修改其内容。

4. 本模板可直接刻光盘、量产为USB-CDROM、直接用ULtraISO写入U盘,可部署到硬盘/移动硬盘、
   fbinst的ud等。插光盘或量产USB-CDROM盘到XP/2003中,即成pxe网启服务器(已带服务器软件)。
   各种部署结构统一、清爽。

5. 合盘根目录的0PE.BIN是官方grldr(注意应使用与0PE一致的新版本,特别提醒!!!)改名而来。
   如果更新0PE.BIN,请用UltraISO加载此0PE.BIN为合盘iso的引导文件。

6. 合盘菜单外置于/BOOT/GRUB/MENU.LST,如需修改,请以UTF-8格式保存(否则菜单显示乱码)。

7. 建议将0PE.ISO解开加入合盘中(不覆盖合盘根目录的0PE.BIN),解开放入一般可以少占内存,
   启动更快。也可将0PE.ISO的更多组件加入0PE_SRS.ISO以增强其功能。请检查合盘里0PE_SRS.ISO,
   里面0PE目录至少要有0PE_SRS.GZ(如果没有就自己加),才能把0PE_SRS.ISO作为独立F6模块使用。

8. 为减少体积,合盘模板不带驱动包,请自行加入。即使不加入,也还可以运行时通过键盘输入指定
   驱动(包)。如果没有打包,也可指定单个驱动文件(.sys/.sy_)。另外,进入0PE时,可以当场
   从硬盘系统自动获取驱动。

9. 用FbinstTool工具将0PE合盘部署到ud要点
   A. 格式化时指定文件列表值:10240
   B. 编辑fbinst菜单
      default 0
      timeout 0
      text "0PE by Pseudo"
      menu F1 grldr "0PE.BIN"
   C. 合盘ISO内容全部拖入ud
          注意FBinstTool工具有拖整个目录入ud的能力。拖入后ud里的内容、结构与ISO里的一致。
   
   D. 变通:为加速启动、节省内存,PETOOLS目录可不拖入,放在u盘可见区即可。除了0PE.BIN外,
      其它东西也可以考虑放在u盘可见区。但有的U盘启动时反而找不到可见区的东西,估计是U盘
      格式化操作不当或RP问题。有趣的是,用来找硬盘的驱动(包),放在要找的硬盘上(不准备
      格式化的分区),肯定没问题。与其它藏入ud的PE相比,0PE全解开藏入ud的启动速度一般不慢。

[ 本帖最后由 pseudo 于 2010-4-1 11:37 编辑 ]

点评

赞  发表于 2022-6-1 14:39
回复

使用道具 举报

84#
发表于 2011-4-25 13:18:54 | 只看该作者
再次来学习学习P大的

点评

学习  发表于 2022-6-1 16:13
回复

使用道具 举报

83#
发表于 2011-4-25 13:07:15 | 只看该作者
先留名,有空再研究。

点评

无名  发表于 2022-6-1 16:13
回复

使用道具 举报

82#
 楼主| 发表于 2010-9-23 21:33:58 | 只看该作者

设计原则

回复 #80 2010visi 的帖子
0PE的内核、外置工具不搞单一的文件,而是散开的多个文件,是为了组件化,方便剪裁。

为了文件目录清爽、方便剪裁,0PE采用这样的设计原则:
一个文件如果单独外置,那么意味着它是具有面向用户意义的、可删除的组件。否则应该封装起来不碍用户观瞻。

举个例子,ntdetect.com文件虽然是系统需要的,但没有面向用户的意义,这类文件就应该封装起来不让用户看到。就像在餐馆里,烤鸭可以上桌,鸭毛、菜刀就免了。

此外,如果用户看到ntdetect.com文件,那么他有可能将它剪裁掉,pe对此有思想准备吗?没有这个文件是不是整个pe全废了?
可剪裁的一个意思,就是剪裁后,剩下的仍有用处。

按设计原则,就不难理解为什么0PE要将菜单、字体文件、grub4dos外部命令等封装起来,使所有启动相关文件只有单一文件grldr。

回复 #79 2010visi 的帖子
本帖应该是坛里最早给出unifont菜单实例模板的,此前只有chenall大的例子。
但我迄今也就用过一回unifont,以后不再研究了。楼上要是遇到问题,自行搞定吧。
只要版本适当、操作正确,应该可以搞定的,否则就是grub4dos有bug了。

我9.16提供了一个16MB的ghostpe,可作合盘模板,用的是gfxmenu,中文显示没遇到问题。

点评

原则  发表于 2022-6-1 16:12
回复

使用道具 举报

81#
发表于 2010-9-23 19:22:05 | 只看该作者
谢谢分享!!!!!!!!

点评

分享  发表于 2022-6-1 16:12
回复

使用道具 举报

80#
发表于 2010-9-22 16:28:08 | 只看该作者
P大,有点搞懂你的中文显示了,是用外部命令FONTFILE和小字库,封得有点深,在0PE.GZ里,难怪每次显菜单都要先把0PE.GZ调进内存,为啥要这样处理?我猜也许是为了推广程式菜单和0PE的原则

点评

扩展  发表于 2022-6-1 16:12
回复

使用道具 举报

79#
发表于 2010-9-22 11:25:07 | 只看该作者
P大,卸载unifont后,0PE是能启动了,但菜单还是乱的(就剩一点一点的),不卸载unifont,0PE就不会启动

点评

卸载  发表于 2022-6-1 16:12
回复

使用道具 举报

78#
发表于 2010-9-21 21:58:18 | 只看该作者
用了unifont  unload也还是不行的

[ 本帖最后由 2010visi 于 2010-9-21 22:00 编辑 ]

点评

不行  发表于 2022-6-1 16:11
回复

使用道具 举报

77#
 楼主| 发表于 2010-9-21 20:12:02 | 只看该作者
嗯,这个要自己研究了。

点评

自己  发表于 2022-6-1 16:11
回复

使用道具 举报

76#
发表于 2010-9-21 18:40:05 | 只看该作者
grub4dos 显示多国语言菜单.

[说明]

2010-04-20更新
添加了简单的帮助信息
解决有时只显示半个字符的问题。
http://bbs.wuyou.net/forum.php?m ... page%3D1&page=4
1.GRUB4DOS 必须是grub4dos-0.4.5a-2010-03-11 以后的版本.
2.使用外部命令UNIFONT实现.
3.需要使用UNIFONT加载一个字库才能正常显示.
使用方法:
UNIFONT 字库路径
例子
UNIFONT /GRUB/U16.BIN
卸载(释放程序和字体占用内存):
UNIFONT –unload

chenall blog中找到了。

P大你是不是在9.16 0PE 中用了更新的显中文方法了,并且这种新方法与UNIFONT的方法有冲突,
能否告诉我,在合盘菜单中直接用新的显中文方法

点评

字库  发表于 2022-6-1 16:11
回复

使用道具 举报

75#
 楼主| 发表于 2010-9-21 16:23:08 | 只看该作者

回复 #74 2010visi 的帖子

调用menu.0pe前,要先卸载unifont。找找这方面资料。

点评

调用  发表于 2022-6-1 16:10
回复

使用道具 举报

74#
发表于 2010-9-21 16:19:18 | 只看该作者
9.16的0PE用unifont方法不行呀,合盘菜单是能现中文,到0PE菜单就乱了

点评

不行  发表于 2022-6-1 16:10
回复

使用道具 举报

73#
 楼主| 发表于 2010-9-21 12:32:43 | 只看该作者
0pe的外置菜单menu.0pe或内置于grldr的菜单是一种复杂特殊的程式菜单,一般不要试图修改它,而应该调用它。
无论是调用整个菜单,还是其中某个菜单项都是非常简单的。

目前grub4dos相关的中文菜单,主要有gfxmenu和unifont两种,前者就不说了,后者例如:
http://bbs.wuyou.net/forum.php?m ... &extra=page%3D1
此外,还有使用中文版grldr/grub.exe的,但不如unifont。

注意,对9.16的0PE,应该使用9.16的grub4dos,尤其是合盘时。
如果grub4dos旧了(哪怕是早一天的版本),缺0PE要用到的新功能,或者有bug(9.16的修正了一个重要bug)。
如果grub4dos新了,一般来说,新的比旧的好。但可能有了变化(例如如9.19的在显示分辨率方面有变动),这种变化是否兼容旧版尚不清楚,因而有可能不能直接用于9.16的0pe。

点评

清酒  发表于 2022-6-1 16:10
回复

使用道具 举报

72#
发表于 2010-9-21 09:38:26 | 只看该作者
0PE精巧的地方就是多,谢谢P大。
再问一个问题:新版的0PE(2010.09.16)是不是合盘做中文菜单只能用gfxmenu了?真不好意思这些小小的问题都要问您大,但不问自己还真玩不了。

点评

精巧  发表于 2022-6-1 16:09
回复

使用道具 举报

71#
 楼主| 发表于 2010-9-20 22:26:13 | 只看该作者

回复 #70 2010visi 的帖子

以前只提供grldr。后来为了方便用户才提供menu.0pe,两者基本相同(只有一两行差异)。

内置菜单的grldr,多作为第一启动,当然要初始化pxe环境。

menu.0pe,多用于合盘场合。合盘时,初始化pxe环境的工作应该由用户的主菜单负责。

如果主菜单初始化了(要自动判断是否已经初始化过了,有点麻烦),此时menu.0pe仍做初始化,就重复了,可能导致严重错误,并且用户会归咎于0pe。
如果menu.0pe不做初始化,主菜单也没做初始化,大不了网启不成,那只能怪合盘没弄好。因为不合盘,直接使用0pe的grldr是没问题的。

点评

初始化  发表于 2022-6-1 16:09
回复

使用道具 举报

70#
发表于 2010-9-20 20:57:44 | 只看该作者
谢谢P大回复,P大既强又好耐心。不好意思再问一句:
那为什么grldr内置菜单要这句,而合盘时调0PE时的(/boot/grub/menu.ope)中不要这句了?

点评

耐心  发表于 2022-6-1 16:09
回复

使用道具 举报

69#
 楼主| 发表于 2010-9-19 12:20:01 | 只看该作者

回复 #68 2010visi 的帖子

0PE的grldr内置菜单要实现一个菜单应对各种启动环境,例如从光盘、ud、硬盘启动,还有pxe网启等。
还有要应对iso文件解开、不解开等情形。

checkrange 0x21 read 0x8280用来判断是否PXE网启,若是,则执行pxe detect NotExist初始化pxe环境。
参见
http://bbs.wuyou.net/forum.php?m ... p;page=1#pid1767713

点评

内置  发表于 2022-6-1 16:09
回复

使用道具 举报

68#
发表于 2010-9-19 10:47:44 | 只看该作者
P大:
checkrange 0x21 read 0x8280 && pxe detect NotExist
这句是啥意思?(就是加这句的目的)

[ 本帖最后由 2010visi 于 2010-9-19 10:50 编辑 ]

点评

意思  发表于 2022-6-1 16:08
回复

使用道具 举报

67#
发表于 2010-5-1 23:46:40 | 只看该作者
先留名,有空再研究。

点评

研究  发表于 2022-6-1 16:08
回复

使用道具 举报

66#
发表于 2010-4-30 13:31:50 | 只看该作者
通用模板,P大就是强啊!谢谢P大。下载测试

点评

通用  发表于 2022-6-1 16:08
回复

使用道具 举报

65#
 楼主| 发表于 2010-4-21 15:42:58 | 只看该作者

回复 #64 wjgyz740526 的帖子

4.20版的GRLDR、UNIFONT据称专门解决了有时出现半个汉字的问题,可以试试。

必要时0PE_SRS.GZ里的grub.exe也换新版。但grub.exe至多只影响启动功能,跟乱码没多少联系,所以可以先不换。
=======
对了,本帖提供的就是合盘菜单示例。你应该在此基础上修改menu.lst作为你的合盘菜单。没必要再自己弄菜单来调用这里的menu.lst。
你把unfont那里换成gfxmenu不就成了你的gfxmenu菜单吗?这是个供DIY的示例,不是作为一个成品提供的。

[ 本帖最后由 pseudo 于 2010-4-21 15:53 编辑 ]

点评

必要  发表于 2022-6-1 16:08
回复

使用道具 举报

64#
发表于 2010-4-21 13:37:56 | 只看该作者
楼主你好,我用gfxboot做的光盘引导,和你的srs合盘,我在gfx的menu.lst使用configfile \BOOT\GRUB\menu.lst后可以调用,但是中文乱码,换了几个版本的grldr不是gfx菜单乱码就是srs菜单乱码,请问怎么解决?

谢谢
回复

使用道具 举报

63#
发表于 2010-4-19 00:53:14 | 只看该作者

回复 #62 pseudo 的帖子

如果这样的话,和其他PE一起做大合盘的时候,可以考虑索性统一成全英文G4D。再仿照双语菜单模式加载中文字库。

点评

中文  发表于 2022-6-1 16:07
回复

使用道具 举报

62#
 楼主| 发表于 2010-4-19 00:32:55 | 只看该作者

回复 #61 guoqqqqqq 的帖子

嗯,英文grldr。
它比中文版兼容性要好些。

点评

高  发表于 2022-6-1 16:07
回复

使用道具 举报

61#
发表于 2010-4-19 00:14:25 | 只看该作者
刚刚想起一个小问题,请教P大,您的这个双语菜单应该还是用的G4D的英文版吧?

点评

高  发表于 2022-6-1 16:07
回复

使用道具 举报

60#
发表于 2010-4-13 12:47:54 | 只看该作者
回复 #53 diwu2005 的帖子
除了复制一个NTDETECT.COM文件到BOOT目录,我心如水2003PE的BOOT文件夹中有类似PE06、PEIN的文件是不能少的(代替一般PE里的WINNT.XPE)

点评

复制  发表于 2022-6-1 14:58
回复

使用道具 举报

59#
 楼主| 发表于 2010-4-12 13:02:24 | 只看该作者
原帖由 mysword 于 2010-4-12 10:07 发表
... 还想问一个问题:ISO支持外置吗?我是量产使用的,能否把ISO目录放置到U盘剩余的HDD空间内,这样可以随时增加in.iso或者OUT.ISO

0PE向来允许组件放在任意分区,东一个西一个都可以,甚至缺组件也可以。
没有不能把ISO目录放置到U盘剩余的HDD空间内的限制。

只是有些u盘的“可见分区”启动时对grldr不一定“可见”,要看RP吧。

点评

允许  发表于 2022-6-1 14:57
回复

使用道具 举报

58#
发表于 2010-4-12 11:06:27 | 只看该作者

回复 #53 diwu2005 的帖子

你复制一个NTDETECT文件到BOOT根目录下,我前两天自己DIY一个PE的时候就遇到了这样的问题,怎么也没弄明白,后来对照别的合盘才发现这个问题,你可以试试,至少我的合盘这样成功了。

不过F6模板的加载其他PE功能也很好很强大,以前没注意过,今天试了试,果然简便多了,也不需要为量产哪个发愁了,需要那个就加载哪个。

ps:刚刚系统说我来路不正确不能提交回复,结果却一下弄来两个回复,我不是灌水,请有权限的版主帮我删除一个。

[ 本帖最后由 mysword 于 2010-4-12 11:07 编辑 ]
回复

使用道具 举报

57#
发表于 2010-4-12 10:07:26 | 只看该作者
原帖由 zhaohj 于 2010-4-12 09:59 发表
记得P大使用的是多国语言的外部命令UNIFONT,故菜单文件menu.lst必须保存为UTF格式。用记事本就可,写字板没这个功能。


谢谢大侠回复,不过我现在的问题是已经将menu.lst中的内容复制到的了0pe.bin中,因此P大的F6菜单不再调用grub目录下的menu.lst,因为通用SRS_F6也要调用menu.lst文件,不然就串单了。

您是这方面的行家,我想请教下,能不能将通用SRS—F6的引导文件menu.lst改名为menu2.lst,这样可以避免同名重复问题,我自己改过(包括srs——f6.bin中的路径都改过了),但是不成功。

更新:真见鬼,昨天在家弄的时候路径和文件名都改了不成功,刚才又尝试了一下竟然可以了,将其中的一个更名为menu2.lst之后两者就互不干扰了。多谢zhaohj大侠指点。


P大,这个模块真是太强大了,别的不说但是可以引导其他PE就已经非常实用了,还想问一个问题:ISO支持外置吗?我是量产使用的,能否把ISO目录放置到U盘剩余的HDD空间内,这样可以随时增加in.iso或者OUT.ISO。

已经量产测试,ISO目录可以外置,非常方便。

[ 本帖最后由 mysword 于 2010-4-12 13:18 编辑 ]

点评

量产  发表于 2022-6-1 14:57
回复

使用道具 举报

56#
发表于 2010-4-12 09:59:00 | 只看该作者
记得P大使用的是多国语言的外部命令UNIFONT,故菜单文件menu.lst必须保存为UTF格式。用记事本就可,写字板没这个功能。

点评

多语  发表于 2022-6-1 14:57
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-12 05:17

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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