|
推荐
楼主 |
发表于 2010-5-29 19:20:35
|
只看该作者
PE理念、通用单文件img/iso/pe启动器、通用单文件绿色免配置pxe网启服务器
一、通用网启服务器
通用单文件绿色免配置的pxe网启服务器应该具有以下功能:
1、PE、windows两用。
不进PE,在windows下也能用。
2、单文件绿色
(1)单文件
提供清爽的单文件程序。不仅仅是个cmd,而是包含了所需软件。
在windows、PE下都能直接运行,不缺文件。
(2)只读可改
必须能置于光盘等只读环境,又能解决允许修改、保存配置的问题。
(3)绿色
可直接运行,免安装,卸载彻底。
3、免配置
插盘即成服务器(当然,拷贝到硬盘上也可以),100%免配置(呵呵,号称一下)。
4、能设置共享tftp根目录
就网启服务器而言,锦上添花。
5、可为各PE、各DOS工具所用
这样的通用单文件绿色免配置pxe服务器早在去年由0PE首创并随0PE发布,后来在这个帖里曾经提及:
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=150788&highlight=
0PE一直以来所带的StartServer.cmd、StartServer(another).exe就是两种(tftpd32/DHCP)
通用单文件绿色免配置网启服务器。
用法:
按以下结构部署。
光盘/u盘/硬盘某目录内容:
│ grldr(内置菜单)
│ PE.ISO(任意pe的iso取名PE.ISO,可gzip压缩)
└─BOOT
├─IMGS
│ └─MAXDOS.IMG(任意DOS工具的img取名MAXDOS.IMG,可gzip压缩)
└─PXE服务器
└─StartServer.cmd或StartServer(another).exe
grldr所在目录将作为tftp根目录。只要StartServer.cmd的上两层目录有grldr即可,不在乎目录名。
其中grldr内置菜单参考:
pxe detect NotExist
default 0
timeout 5
title Load PE iso
map --mem (pd)/PE.ISO (0xff)
rootnoverify (0xff)
chainloader (0xff)
title Load DOS TOOLS img
map --mem (pd)/BOOT/IMGS/MAXDOS.IMG (fd0)
rootnoverify (fd0)
chainloader (fd0)+1
其中pxe detect NotExist这句是0PE在网启方面的首创。
这个菜单很容易DIY。这样的grldr很容易自制。
建议用fbinttool工具或官方的grubmenu处理grldr内置菜单,而不要用“操作简单的grldr 内置菜单编辑工具”后者有bug。
菜单也可外置为menu.lst文件。
但不推荐外置,免得找不到或找错菜单文件。网启时内置菜单已经随grldr传到客户端,再访问外置菜单又要多搜索、访问一个服务器端文件,不好,也不清爽。
外置菜单理由之一是修改方便,这个其实不成立,用fbinttool工具直接修改grldr也方便。
外置菜单理由之二是方便别人通过configfile调用你的菜单,这个成立,如果不只是自己用的话。
如果有空,我将上传一个配置好的grldr:(待上传)
grldr所在目录将作为默认共享目录(可选是否共享)。
客户端启动、上网后可自行映射共享目录为某盘,然后就可以方便访问服务器端文件了。
这个单文件网启服务器有以下不足:
1、可能找不到外置工具
用来启动全内置PE较好,但非全内置PE启动后可能找不到外置工具。
2、可能找不到硬盘
老的PE可能因缺新的SRS磁盘驱动,启动后找不到硬盘甚至蓝屏。
3、iso不能是xp/2003原版安装盘镜像
否则蓝屏没商量
4、iso、img文件不好更名
文件名事先写死了,不能当场任意指定
如果新增一个PE的iso或DOS工具的img文件,不修改菜单是不行的。
当然这些不足应该归咎于PE,一个单文件网启服务器是管不了那么多的。要解决以上不足,且看下文分解。
二、通用img、iso、pe启动器
前述网启服务器的不足可以简单地用通用img、iso、pe启动器解决。
需要增加一到两个文件。结构如下:
光盘/u盘/硬盘某目录内容:
│ grldr(内置了0PE专用菜单)
│ PE.ISO(任意pe的iso取名PE.ISO,可gzip压缩)
├─SRS
│ └─1.ZIP(SRS磁盘驱动包,可删除)
├─0PE
│ └─0PE.GZ(通用img、iso、pe启动器)
└─BOOT
├─IMGS
│ └─MAXDOS.IMG(任意DOS工具的img取名MAXDOS.IMG,可gzip压缩)
└─PXE服务器
└─StartServer.cmd或StartServer(another).exe
这里0PE.GZ、grldr、StartServer.cmd、SRS驱动包等来自0PE,功能是早已有之的。
这里有下载信息:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=163429&page=16#pid1957590
0PE.GZ组件从4M到400k体积的都提供过。如果有空,我再传一个2.5M的新版:(待上传)
用法:
选菜单项
[6] 加载/PE.ISO或任意输入ISO
一路回车可启动PE.ISO
选菜单项
[C] 启动MAXDOS或任意软盘镜像
一路回车可启动MAXDOS.IMG
若干特点:
1、启动任意PE的iso
不需要对iso作任何修改。启动后能找到外置工具、找到硬盘(须有SRS驱动包)。
2、启动解开的(非整体iso)PE
例如:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=163429&page=3#pid1949301
有一定限制。
3、启动任意img
4、安装windows
启动xp/2003原版安装光盘、USB-CDROM、光盘iso镜像。
包括光盘/USB-CDROM上的/I386/SETUPLDR.BIN安装程序,硬盘上ghost预装后的/$LDR$、/$WIN_NT$.~BT/setupldr.bin等等。
能找到硬盘(须有SRS驱动包)不蓝屏。
5、启动xp/2003故障恢复控制台
能找到硬盘(须有SRS驱动包)不蓝屏。
6、既可pxe启动,也可本地启动
实现所有启动的统一。例如不改变文件内容、结构直接全藏入ud。
这也是将全外置pe的iso不经改造直接藏入ud的最简单方法。
7、iso、img可有多个,位置、名字随意,不用事先写菜单
文件名、位置有三种指定方式:
(1)默认
例如/PE.ISO,/BOOT/IMGS/MAXDOS.IMG
(2)任意事先给定
即参数方式,可指定形如BOOTCD.ISO的名字
(3)当场任意指定
键盘输入,不用事先写菜单。
可临时加入新的iso/img,只要对iso/img的名字、位置心中有数既可。
例如有两个PE的iso,假定分别命名为1.ISO、2.ISO,放在某盘根目录(含服务器端tftp根目录,本地启动时藏入ud或隐藏分区都可以),
到时输入/1.iso就启动1.ISO,输入/2.ISO就启动2.ISO。
8、清爽结构、简化接口
通用启动器既可直接使用内置了0PE专用菜单的grldr来启动,这样很现成,不用自己写菜单。
也可换用自己DIY的grldr(内置或外置自己的菜单),自己加菜单项,自己做合盘集成。
0PE现成提供有外置专用菜单MENU.0PE,作为使用者,只须类似这样
configfile /BOOT/GRUB/MENU.0PE
调用0PE专用菜单即可使用其功能。
还可以绕过其第一菜单界面,直接调用其菜单项功能(通过参数方式进行)。
从调用角度来说,参数方式调用只是多写两三行(有例子)而已。
还可以把自己弄的菜单文件作为/BOOT/GRUB/MENU.DIY,在仿真SRS驱动F6软盘后可以返回该菜单。
0PE首创程式菜单技术,菜单封装了许多功能,例如自适应各种启动方式、自动搜索组件等等。
不熟悉grub4dos者一般不要企图修改0PE的菜单,它较复杂。
复杂归复杂,只调用它,用起来也超简单。
三、理念
主要技术源自0PE/MicroPE。
1、程式菜单实现启动方式统一、结构清爽
2、串接菜单实现灵活性
3、zip格式外置SRS驱动方便维护
4、自动检测硬盘类型,动态生成仿真SRS驱动F6软盘
5、外挂firadisk驱动使虚拟盘持久到保护模式
......
技术是次要的,关键在于理念。
波,笨唔喺咁踢既。咁波喺点踢嘎?以下是一些倡导的理念,希望大家认同并实现。
1、结构清爽、一致的理念
例如,能单文件解决的不要弄多个文件,弄多个文件就意味着它们是可删除组件。以此角度审视文件结构,自然会清爽。
pe的网启、藏入ud、刻光盘等各种部署方式,其结构视图能否跟iso里的结构保持一致?
光盘上的文件、目录能否用fbinsttool直接全部拖入ud?
能否不再叫“网启版”,把支持网启作为pe固有能力?
2、直接pxe理念
例如,不进pe,插入u盘/光盘/USB-CDROM就完成pxe服务器部署。本地启动的版本都直接是网启版。
3、组件化、可剪裁理念
(1)组件化不是通常认为的模块化。
模块化通常是粗粒度的概念。
例如网络模块,你要不要?不要就彻底与网无缘,要就连IE、QQ、迅雷等一起塞给你。
如果你只想要网通就行,不要IE,那就有点为难了。
文件级粒度的组件化更精细,更方便DIY。
(2)外置化、组件化便于维护、扩展,例如0PE的外置SRS驱动组件机制,可能是目前最灵活的了。
(3)关注体积大小,不如关注可剪裁性。
如果只追求体积小,没有可扩展性,那就不完美。
pe体积、功能应该丰俭由人,自由剪裁。不用分维护版、多媒体版之类。提供一个大全的版本,用户根据需要,简单删除
些文件就可以派生各种体积、功能的版本了,必要时还方便自行添加组件。
文件结构就应体现这点,组件化便于剪裁。
剪裁后剩下的不是废物。
例如0PE只剩一个文件0PE.GZ也可做通用img、iso、pe启动器、F6模块、零体积版PE。增加文件还能扩展功能。
可剪裁性本来属于可扩展性,但“可扩展”的说法滥了,“可剪裁”性的提法更贴切。
0PE不追求体积最小,但撇开几兆的零体积版PE不谈,只就无硬盘也能进PE桌面的PE而言,也属于体积小巧、结构清晰的。
例如,许多即使号称usb2.0的机器,其实在启动阶段(未进windows时)并不能达到usb2.0高速,
对于启动阶段读盘速度慢,又没加载usb2.0驱动的老机,U盘启动PE时间主要受启动过程要加载文件的总体积影响。
0PE把PE“核心”分解为进入windows前用到的cmdpe.gz和进windows后用到的desktop.wim两个组件,
在全藏入ud的情形,0PEv1.1在启动过程要加载文件的总体积一般只有14MB。
其它PE内核估计在22MB以上吧,加上外置程序一起整个iso藏入ud的话,体积大得多,遇到上述老机会明显影响速度。
目前全藏入ud的pe很少超过100MB的,0PE则可以解开iso,全部组件直接拖入ud,外置工具再多也不影响启动速度。
这是因为0pe的desktop.wim、外置工具等安排在进windows命令行后加载,那时已经是USB 2.0速度了,读U盘几乎不占时间。
此外,内存处理,和desktop.wim组件化也有点点关系。
0PE对X盘占用较少,即使加载完三卡驱动、dx、wmp等,通常也还有一定的X盘空间和剩余内存可以上网。
一般地,不设置页面文件情况下,RamPE应该考虑128M内存能启动到桌面,256M内存能加载三卡驱动上网看一会儿电影。
0PE只是在以上理念指导下做的一个实验、一个实例。希望大家通过例子理解、认同理念。
[ 本帖最后由 pseudo 于 2010-5-29 19:28 编辑 ] |
评分
-
查看全部评分
|