无忧启动论坛

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

自己做合盘、写简化菜单(含U+v2深度隐藏教程)

  [复制链接]
31#
 楼主| 发表于 2011-10-16 23:59:38 | 显示全部楼层

回复 #84 快雪时晴 的帖子

也有说不好改的,所以才弄本贴做个示例。
示例中0PE只有单文件0PE.ISO近32MB,iso外其它东西其实都不属于0PE。
回复

使用道具 举报

32#
 楼主| 发表于 2011-10-17 18:48:59 | 显示全部楼层

请快雪时晴 兄弟验证一下。

原帖由 快雪时晴 于 2011-10-13 12:48 发表
很奇怪,虚拟机上测试正常,实机1台试验不行,还以为u盘坏了,检测没坏

DFI钻石845G 老机器
128MU盘量产后只剩下78M了,但从虚拟机上测试该U盘完全正常可以启动0pe
启动后提示找不到GRUB.0PE
ls命令返回错 ...
原帖由 pseudo 于 2011-10-13 23:58 发表
加速后找GRUB.0PE现象,在新机没遇到,但在一台老机遇到了。
不过老机不在手头,找机会再分析。

今天本想分析一下这个问题,但这台老机不再重现问题了。

这回用的是10.14的版本。部署方式:
(ud)/0PE.ISO
(ud)/BOOT/GRUB/USB_ACC.0PE
(ud)/grldr
其中grldr来自0PE.ISO,内置专用菜单。

这个目前归为属于自己消失的问题,我没有为它动过代码。

自己消失的问题不属于稳定性问题,它一旦消失,就难以重现。
回复

使用道具 举报

33#
 楼主| 发表于 2011-10-17 22:19:53 | 显示全部楼层

回复 #88 快雪时晴 的帖子

既然你那里问题也消失不再重现,那么#61楼那个问题就不必“立案”了。
回复

使用道具 举报

34#
 楼主| 发表于 2011-10-18 13:48:00 | 显示全部楼层
原帖由 2011papa 于 2011-10-18 01:08 发表
几年没玩PE,发现G4D到了新的高度,还出现了fbinst等工具。
原来一直用的老毛桃PE有点不适用了,于是想找个大牛的PE改一改。
0PE果然像是大牛的作品,下载下来后发现很多地方不合我意,想深度改改,各个G4D菜 ...

1. 程式菜单不是普通菜单
0PE最早发明把grub4dos菜单当成程序来弄,称之为程式菜单。
那已经不是菜单了,完全是程序。而且还不是一般的程序,不熟悉grub4dos者很难看懂。

换句话说,一般人以为程式菜单是普通菜单,试图看明白并修改它,本身就是走错路了,难免感叹复杂。
就像微软的setupldr.bin也是程序,试图看懂并修改它,那不容易吧。能替换个字符串就不错了。不过没人说它复杂,因为大家知道那是程序。

2. 程式菜单功能强大
程式菜单可以做很多事。例如,同一个菜单,可以通吃各种启动方式。
逐步流行的RUN模块、F6模块等,也是基于程式菜单技术。

程式菜单代表当今grub4dos应用的前沿技术。
越来越多人加入写程式菜单的行列。其它PE,例如H3的PE,其菜单后来也引入程式菜单技术,其它如MAXDOS增强版也引入程式菜单元素来直接调用内部模块。
几年前只有0PE、MicroPE/CSPE使用程式菜单,现在pe里使用程式菜单技术已成潮流。
这些菜单也是复杂的,当然,复杂程度各有不同,后来的写法比以前可读性好些。读懂、修改它们也非易事,但用起来是相对简单的。

3. 程式菜单可读性在增强
早期程式菜单缺少grub4dos的支持,很难写。许多功能得拐弯抹角来达到目的,以致程序可读性差。
grub4dos近年有很大发展。命名变量的引入,goto、if等流程控制语句的支持,使程式菜单功能、可读性有质的飞跃。
批处理、外部命令的出现,使得程式菜单的语法与CMD的批处理几乎一致,功能无限扩展,可读性也明显改观。
而且使得程式菜单看起来更不像菜单了。

4. 0PE的菜单项是可以单独调用的
例如,本贴给出示例中有iso启动器菜单项,只需一行:
command RUN /0PE.ISO 6
就可以直接调用0pe原版菜单中第6个菜单项(对应iso启动器),而不出现0pe原版主菜单。
再如,只需一行
command RUN /0PE.ISO 1
就可以直接进入pe中文版即纯pe,而不出现0pe原版主菜单(如果嫌原版主菜单有用不着的菜单项的话,这就解决了)。
既然可以绕过原版主菜单直接调用其菜单项功能,那么就没必要修改它的菜单了。

5. 0PE便于剪裁、扩展
对剪裁、扩展做了考虑。体积可大可小。体积大也可以小内存高速启动。
从这个角度来说,它是便于diy的。
近日就有人给出现成的,我没试过,看样子比较整洁:
金狐超级系统维护盘 2012UD&ISO系列【唯求精湛,六版齐发】

6. 本贴菜单是简单的
要看菜单、修改菜单,应该看本帖菜单。而不是去感叹程序复杂。

本帖菜单(2011.10.14)是这样的:

  1. #《自定义菜单示例》  Pseudo 2011.09.28,2011.10.4,2011.10.14
  2. #0PE.ISO里的grldr内置了0PE的专用程式菜单(即MENU.0PE文件内容),菜鸟勿动。
  3. #想自己写菜单,可参考本示例,在此基础上修改。内置到grldr,放在0PE.ISO外作为引导文件。
  4. #编辑grldr内置菜单推荐使用fbinsttool工具(PE里带有)。
  5. terminal console
  6. debug off

  7. #pxe网启相关。
  8. checkrange 0x21 read 0x8280 && pxe detect NotExist
  9. #假定RUN和USB_ACC.0PE文件放在一起,都在/BOOT/GRUB/目录。这行设置变量dev指向RUN所在设备。
  10. if exist (ud)/BOOT/GRUB/RUN && set dev=(ud) ! set dev=%@root%
  11. #设置默认外部文件路径这样以后RUN、USB_ACC.0PE前面都不用写路径。
  12. command --set-path=%dev%/BOOT/GRUB/

  13. #智能判断不需加速时飞过,需加速时出读秒界面。
  14. USB_ACC.0PE --time-out-disable:0
  15. #使用RUN内置中文字库,菜单以utf-8编码格式保存。
  16. RUN --gfx .end
  17. default 2
  18. timeout 8
  19. #以下假定0PE.ISO放在RUN所在设备,即(%dev%)的根目录。
  20. title           自己做合盘、写简化菜单示例
  21. clear
  22. title                Pseudo 2011.10.14
  23. clear
  24. title [A] 0PE Menu                    0PE原始菜单\n直接用0PE,许多功能都有了。
  25. #不借助RUN来调用,不受RUN变动影响。这是更原始的方式,兼容性可能好些。
  26. unifont --unload || echo -n
  27. if not "%dev%"=="(cd)" map %dev%/0PE.ISO (0xff) || map --mem %dev%/0PE.ISO (0xff)
  28. map --hook
  29. rootnoverify (0xff)
  30. configfile /BOOT/GRUB/MENU.0PE
  31. #另一简化写法:
  32. #title [A'] 0PE Menu                   0PE原始菜单\n
  33. #command RUN /0PE.ISO
  34. title [B] ISOs Loader                 ISO启动器(PE或原版系统)\nISO启动器可以提供SRS、Firadisk等支持。\n解决蓝屏7B、找不到硬盘、找不到外置工具等问题。\n开AHCI、组Raid首选。
  35. #这里6表示直接调用0PE原版菜单的第6菜单项
  36. command RUN /0PE.ISO 6
  37. title [C] 2K3CONS.ISO                 2K3故障恢复控制台\n这是用iso启动器启动事先指定任意位置、名字iso的例子。\nISO内容可以是PE、系统安装盘镜像等。\n类似菜单项容易自己添加。
  38. command RUN /0PE.ISO 6 /BOOT/IMGS/2K3CONS.ISO
  39. title [D] DG.IMG                      DiskGenius分区工具\n类似菜单项容易自己添加。
  40. #调用0PE.ISO里面的工具
  41. #command RUN /0PE.ISO DG.IMG
  42. #DG.IMG移出iso外情形:
  43. command RUN /BOOT/IMGS/DG.IMG
  44. title [E] GHOST.IMA                   GHOST备份恢复工具\n类似菜单项D。
  45. command RUN /BOOT/IMGS/GHOST.IMA
  46. title [F] F6 FLOPPY                   仿真F6驱动盘免蓝屏7B\n从光盘安装原版windows系统或GHOST后重启继续安装不蓝屏。
  47. #这里7表示直接调用0PE原版菜单的第7菜单项
  48. command RUN /0PE.ISO 7
  49. title [G] NTBOOT                      通用启动器\nchenall大作
  50. #0PE第8菜单项
  51. command RUN /0PE.ISO 8
  52. title [H] GHOSTPE                     零键克隆/RISK.GHO到1:1\n当任意盘可见区根目录(包括0PE.ISO里的根目录)有名为\nrisk.gho的文件时,不由分说自动恢复到1:1。\n注意,是零键不是一键。
  53. #0PE第5菜单项
  54. #1:1表示第一盘第一分区,如果那不是你的目标盘目标分区,就哭吧。
  55. #英文单词risk是“冒险”的意思。
  56. #谁敢把文件取名为risk.gho,就表示他为了偷懒甘冒风险,那出问题就怪不得别人了。
  57. #这个功能需要CMDPE.GZ、CMDPE.WIM、GHOSTPE.WIM等组件。
  58. command RUN /0PE.ISO 5
  59. title [I] WIN7PE.ISO                  自备win7pe\n把WIN7PE.ISO扔到/BOOT/IMGS/目录下。
  60. command RUN /BOOT/IMGS/WIN7PE.ISO
  61. title [J] RUN by zxw                  /BOOT/IMGS/扩展目录\n把东西扔到/BOOT/IMGS/目录下,就可以被选择、调用了。\n不用为它写菜单项。上面菜单项D、E、I可删,有J就够了。\n但菜单上不摆个分区工具、克隆工具,有人会大惊小怪的。
  62. #例如,你可以自己增加一些dos工具的img镜像,一些pe的iso镜像......
  63. command RUN /BOOT/IMGS/
复制代码
界面:



[ 本帖最后由 pseudo 于 2011-10-18 14:37 编辑 ]
回复

使用道具 举报

35#
 楼主| 发表于 2011-10-19 11:00:26 | 显示全部楼层
回复 #97 2011papa 的帖子
我没用过。但看介绍,那个金狐迷你版跟0pe不沾边。

回复 #96 3370123 的帖子
这位肯定是高手,经验丰富。
我玩PE才几年,他不玩PE都几年了。
回复

使用道具 举报

36#
 楼主| 发表于 2011-10-20 11:52:42 | 显示全部楼层
回复 #100 benzcomp 的帖子
本地资源组件几年没打理,该有点问题。
估计是路径写法对不上了。

回复 #105 myBOOT 的帖子
“系统就停在那里”
原因、解决办法在这里。
回复

使用道具 举报

37#
 楼主| 发表于 2011-10-20 12:08:06 | 显示全部楼层

回复 #106 benzcomp 的帖子

不存在修正问题。这是可剪裁PE,组件自行增减。
是否支持网络功能,就看有无此组件。一分钱一分货。

请对照一下曾经提供的各种体积的下载(从32MB+到300MB+都有),了解各个组件的用途。根据需要装配适当用途、体积的PE。以体现可剪裁、可扩展性。只需增删组件,不用修改什么。
回复

使用道具 举报

38#
 楼主| 发表于 2011-10-20 12:57:55 | 显示全部楼层

回复 #109 benzcomp 的帖子

谢谢,后面顺手修改一下。

用了象牙筷,整体生活水平都得提高哦。

既带网络功能,你得配个ie6.wim(有个体积小点的)浏览网页吧,下载东西是否需要迅雷?
网页要看得舒服,是否考虑加载显卡驱动(几十兆)?是否加个dx9发挥d3d流畅效果?
是否要远程控制?是否聊天?有许多诱惑,呵呵。
这只是有线网,支持无线网还得加无线驱动包。

以上都可以逐一添加、定制,都由用户负责。
回复

使用道具 举报

39#
 楼主| 发表于 2011-10-20 15:54:20 | 显示全部楼层

回复 #112 myBOOT 的帖子

嘿嘿,对“那里”你没说清,就像对“这里”我没说清一样。
回复

使用道具 举报

40#
 楼主| 发表于 2011-10-20 16:52:35 | 显示全部楼层
批处理Net_Snd_VGA.cmd(即“启动网络影音”)里点名的,以及三卡驱动包应加入iso内,以便由批处理一口气加载。
否则自己加载就麻烦了。

另外由多文件组成的组件也宜放入iso内或可见区petools目录。

其它单文件组件放哪无所谓。
例如可以放iso外、ud内(这样防毒,方便增删),点开始菜单的petools就出来了。



往x盘挂东西需在启用fbwf之前,例如那个网络组件net.wim就是这样的。
启用后可往b盘挂。

在wim文件可见场合(例如将iso刻光盘、U+等),可以将wim文件放入0PE\autoruns\目录,与net.wim并列,会被自动挂载,并执行其内pecmd.ini。
但那时还没进pe桌面,为了不影响正常启动,pecmd.ini宜只创建快捷方式,不要多事。

[ 本帖最后由 pseudo 于 2011-10-20 17:09 编辑 ]
回复

使用道具 举报

41#
 楼主| 发表于 2011-10-21 09:33:43 | 显示全部楼层

回复 #117 benzcomp 的帖子

可能你遇到ls (fd0)/等于ls (ud)/情形了。
这时不能随便交换。
回复

使用道具 举报

42#
 楼主| 发表于 2011-10-21 09:53:16 | 显示全部楼层
原帖由 benzcomp 于 2011-10-19 10:12 发表
为什么“本地资源”下的“重建菜单”一运行,“本地菜单”就空了,好像0PE的所有版本都这样,是不是脚本有什么问题啊?
原帖由 benzcomp 于 2011-10-20 12:10 发表
把 if exist "%P%\%LNGXPT_RESONHDD%" goto :eof 这句去掉就好了

这个问题是这样的:
脚本本身没问题。
if exist "%P%\%LNGXPT_RESONHDD%" goto :eof 这句的前一句用pecmd file命令删除了"%P%\%LNGXPT_RESONHDD%"目录。
所以这句不会退出,会继续后面创建菜单项的工作。

但pecmd新版在删除上述目录时,出现只删除该目录下内容,不删除该目录本身的bug(对其它目录,这个bug不总是出现)。这个bug导致下句误判而立即goto :eof 退出,“本地菜单”就空了。其实,应该连“本地菜单”都删掉的。

你可以把前一句的pecmd file改为pecmd07 file,也就是使用老版pecmd07.exe(pe已带有)代替新版pecmd.exe,就正常了。
或者,在pecmd file句后,再加上一句
rd /s /q "%P%\%LNGXPT_RESONHDD%"
确保该目录被删除,以弥补新版pecmd的bug。

pecmd这个bug,不知是从什么版本开始出现的。
回复

使用道具 举报

43#
 楼主| 发表于 2011-10-22 19:24:10 | 显示全部楼层

回复 #125 2010527104427 的帖子

从两个下载可以得到两个iso。
小的是大的真子集,由大的剪裁而来。请对照以了解各组成文件的作用。

小的iso也可提取出来单独使用,它接近“骨头版”0pe。
回复

使用道具 举报

44#
 楼主| 发表于 2011-10-22 22:41:50 | 显示全部楼层
回复 #127 764664 的帖子
其它pe的iso放到0pe.iso里外均可。
RUN模块和ISO启动器允许指定目录。但多处有同名目录时,列表仅对其一起作用。
你可以让目录异名。

回复 #128 2010tx2 的帖子
需要有firadisk支持才不蓝屏7b。
run模块有当场按键加载firadisk功能,操作方法看zxw大帖子。
回复

使用道具 举报

45#
 楼主| 发表于 2011-10-22 23:02:56 | 显示全部楼层
发现合盘示例u启后盘符顺序跟不合盘情形有差别,刚才统一了一下。
重传了。请23:00前下载的朋友重新下载。
回复

使用道具 举报

46#
 楼主| 发表于 2011-10-23 11:21:19 | 显示全部楼层

0PE的NB版

A New Branch of 0PE一开始就是Native_Based PE,而且是
最早具有

.全功能
.可解开或整体藏入ud
.外置SRS
.动态内核

等特性的Native_Based PE。简称为0PE的NB版。
详见:
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=195331&highlight=

0PE的经典版本是“统一PE”,简称为0PE的统一版。
详见:
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=192689&highlight=

[ 本帖最后由 pseudo 于 2011-10-23 11:31 编辑 ]
回复

使用道具 举报

47#
 楼主| 发表于 2011-10-28 12:05:46 | 显示全部楼层
为支持UltraISO 9.5.1.2810,#1楼重传,#2楼修改。
昨天以来下载的,如果准备U+,请重新下载。
回复

使用道具 举报

48#
 楼主| 发表于 2011-10-28 16:26:36 | 显示全部楼层

回复 #146 2010fudi 的帖子

不要全信。
你知道0pe的syslinux主文件版本是多少吗?
回复

使用道具 举报

49#
 楼主| 发表于 2011-10-28 16:31:56 | 显示全部楼层

回复 #145 myBOOT 的帖子

7-zip 9.20测试未发现损坏。
等再有类似反馈再说。
回复

使用道具 举报

50#
 楼主| 发表于 2011-10-30 14:36:15 | 显示全部楼层
候选组件不到半分钟就上传完了,肯定有问题。
假以时日,115会好的。

fbinsttool被报毒不必奇怪,我认为那不是误报,确实该报。
但许多人戒不了有毒的烟,离不开被报毒的fbinsttool。
回复

使用道具 举报

51#
 楼主| 发表于 2011-10-30 15:37:45 | 显示全部楼层
10.24、10.29的grub4dos版本有bug,chenall大已修复:
原帖由 chenall 于 2011-10-30 10:05 发表
下载了昨天的版本的朋友请及时更新到最新版本.

昨天的版本发现一个BUG(由pseudo提出),已经修复.


#1楼的pe和合盘模板已换了新版g4d。请大家注意更新。
回复

使用道具 举报

52#
 楼主| 发表于 2011-10-30 17:06:37 | 显示全部楼层
原帖由 2010RENDQ 于 2011-10-30 16:43 发表
P大,生成0PE.ISO后,把0PE.ISO和grldr布署到UD区,启动时不能选择USB_ACC.0PE加速。只有把BOOT\GRUB\USB_ACC.0PE一起布署到UD区才能选择USB_ACC.0PE加速,这本来就是这样的还是BUG?

以前usbacc在iso内外都可以,现在懒得管iso内的了:
原帖由 pseudo 于 2011-6-14 00:39 发表
...
更新日志

◆ 2011.10.07 version 1.3.2
...
◎ 此PE是较早推出的Native PE,u启速度足够快,故在无(ud)/BOOT/GRUB/USB_ACC.0PE场合,不再调用USB_ACC.0PE,以节省搜索时间。
...
回复

使用道具 举报

53#
 楼主| 发表于 2011-10-30 21:13:08 | 显示全部楼层

回复 #174 dqhlxj 的帖子

分两个重传了。

说明:我没故意加毒,也没去杀毒。防毒是下载者基本功。
回复

使用道具 举报

54#
 楼主| 发表于 2011-11-1 17:41:07 | 显示全部楼层

回复 #189 pdcfnr 的帖子

估计跟PE关系不大。
过些时,自己更新下grub4dos版本即grldr和grub.exe(改名GRUB.0PE),其它不动,可能问题就自己消失了。

候选组件有win7pe,遇到启动不了就启动另一个pe。
回复

使用道具 举报

55#
 楼主| 发表于 2011-11-1 23:23:48 | 显示全部楼层

回复 #191 sht123960585 的帖子

这是grub4dos近期的变动,不关pe事。
2011-10-22的grub4dos还有白条,2011-10-24开始就没有了。
回复

使用道具 举报

56#
 楼主| 发表于 2011-11-2 16:26:36 | 显示全部楼层

回复 #197 peter1123 的帖子

也可以吧。

缺点是:
1. 你是在grldr中执行你的菜单,chainloader (0xff)后,会从仿真光盘重启,并转入iso内的grldr。
这样就有两个grldr被调用。它们彼此是否和谐?
我想g4d在这种场合未必经过充分的锤炼。当然绝大部分场合是没问题的。

你试试:用0pe的iso启动器启动0pe的iso,再用后者的iso启动器再启动0pe的iso,如此迭代下去,会怎样?
我猜想迟早会崩溃的。

2. 等到iso内的grldr获得控制权时,它以为是从光盘启动,不知道当初你的启动环境是pxe、ud、U+还是什么,
因而后续处理走向也许有所不同。例如光盘启动,桌面可能不再摆个“取ud工具”快捷方式。

本贴合盘模板调用0pe的方式,试图避免上面两个问题。
但无论如何,理论上应该还是直接用0pe.iso里的grldr来启动pe,不做合盘兼容性最佳。

话说回来,无论什么方式,只要大多数场合启动正常,没事也不用计较兼容性。只有遇到失败的极少场合才想起兼容性问题。
回复

使用道具 举报

57#
 楼主| 发表于 2011-11-3 13:36:19 | 显示全部楼层

回复 #200 peter1123 的帖子

title 启动 0PE
unifont --unload || echo -n
if not "%dev%"=="(cd)" map %dev%/0PE.ISO (0xff) || map --mem %dev%/0PE.ISO (0xff)
map --hook
rootnoverify (0xff)
configfile /BOOT/GRUB/MENU.0PE
这个菜单唯一好处是iso外不需要menu.0pe文件,少一个文件。但菜单显然复杂了。

自行加载iso到0xff,不如调用menu.0pe来得“专业”、简单、兼容性好。
所以还是iso外多一个外置菜单文件menu.0pe,直接调用它来启动0pe为好。

iso放入ud,解不解开都可以。如果调用menu.0pe,不用区分解开与否,由它统一处理。

diy文件夹里的东西跟iso里的是一样的。
但如果我说拖diy,那到底是拖diy目录还是拖目录下的东西,很难说得清。
所以我说拖iso,少点歧义。
回复

使用道具 举报

58#
 楼主| 发表于 2011-11-3 13:39:51 | 显示全部楼层

回复 #201 borick 的帖子

候选组件有111mb的srs驱动,不够用自己加。随便放哪里,到时通过指定目录名或指定文件名来选用驱动包。
回复

使用道具 举报

59#
 楼主| 发表于 2011-11-3 13:50:25 | 显示全部楼层

回复 #207 ones 的帖子

要显示&字样,我用全角的&,不能半角的&。后者除非用“转义”方式,否则会被作为运算符处理。
——其实我那时还不大会用转义方式,所以变通一下。
回复

使用道具 举报

60#
 楼主| 发表于 2011-11-3 16:51:58 | 显示全部楼层
@ones
.................

RAR25.7z

98.78 KB, 下载次数: 93, 下载积分: 无忧币 -2

回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-21 14:41

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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