PXE,即Pre-boot Execution Environment。号称RPL的掘墓人。由INTEL开发,并且公开源代码。
工作原理是:
ü PXE服务器以广播方式送出自己的地址;
ü DHCP服务器动态分配网络中的IP地址;
ü 客户端启动,读取bootrom里的pxe代码,获得动态IP地址,请求dhcp服务器配置60号选项;
ü 客户端连接服务器用TFTP或者MTFTP协议下载启动软件包并在内存中执行;
ü 客户端以实模式(Real Mode)运行终端操作系统。
在开始之前,应该检查下列清单,做好准备工作
ü 安装 NT+SP4 所需要的所有光盘,安装 WINDOWS98 的所有光盘
ü 质量良好的网络连接设备,所有网线最好都是用 568A 的排法。
ü 下载 BOOTROM 启动芯片 PXE 代码,写进网卡的 BOOTROM 里面去。如果主板的 BIOS 是 AWARD 出品的,可以使用 CBROM 将 PXE 启动代码写到 BIOS 中去,更方便。
ü INTEL PXE SDK、LITENET、以及一些其他必须文件
ü 至少一张质量良好的 3.5# 磁盘
ü 旺盛的精力 J
服务器端快速设置
1. 安装windowsNT,服务器名称为 SERVER
2. 启用guest账户
3. 升级至至少sp4补丁,(我试验过不升级,也可以。NT-sp4的最著名的改动是,从它开始,NT能够支持8G以上的硬盘了。)
4. 添加协议:netbeui;ipx/spx;tcp/ip
5. 建立dhcp服务,设定作用域,添加60号选项
6. 安装并设置intel pxe sdk
7. 使用dosundi.1文件测试客户端是否可以正常启动dos。
8. 建立 pxe 用户组 (Netpc Users)以及用户,(lnguest,netpc01,… netpc50 …)
9. 建立域以及ntfs分区 (这两项同样不是必须的,但可以因此使用更多的功能)
10. 在ntfs分区上建立共享目录,共享名为 SHARE
11. 在 SHARE 目录下建立 NETPC01,NETPC02,… NETPC50,…分别完全共享
安装客户端硬盘上的 Windows 9x
1. 确保所有主板BIOS设置相同,PCI设备在相应的同一个槽上
2. 正常安装 Windows 9x
3. 安装所有驱动程序,以及第三方驱动比如 DirectX、OpenGL 等等
4. 安装所有所需软件、游戏等等
5. 安装协议:
a) NETBEUI
b) IPX/SPX
c) TCP/IP
d) Microsoft网络用户(设置为登录到域)
e) Microsoft网络上的打印机与文件共享
6. 控制面板 -> 密码 -> 所用用户使用同一种设置
7. 使用 lnguest 登录,同时指定密码为 lnguest
8. 安装POWERTOY:
a) Network 中设定自动登录:lnguest/lnguest
b) My Computer 中去掉 C: 盘外的所有盘符
9. 导出注册表[HKEY_USERS\.DEFAULT]分支,替换所有.DEFAULT为{%CHN%},而后
10. 将文件保存到 C:\Windows 目录下,文件名为 CHN.REG
安装 Litenet
准备好以下文件并拷贝到相应目录
应存放目录以及名称 创建日期 文件大小
Windows\RTSND.DOS 1999-07-28 53,751
Windows\PROTMAN.DOS 1998-06-19 22,810
Windows\NET.EXE 1998-06-19 356,134
Windows\NET.MSG 1998-06-19 76,234
Windows\NDISHLP.SYS 1998-06-19 6,140
Windows\PROTMAN.EXE 1998-06-19 14,952
Windows\SNAPSHOT.EXE 1998-06-19 6,122
Windows\System\NDIS.VXD 1998-06-19 157,869
Windows\System\RTL8139.SYS 2000-12-04 23,654
Windows\Command\KEYBOARD.SYS 1998-06-19 34,566
Windows\Command\KEYB.COM 1998-06-19 19,927
Windows\Command\KEYBRD2.SYS 1998-06-19 31,942
注:其中 RTSND.DOS 以及 RTL8139.SYS 是 Realtek 网卡驱动程序包里可以找到的,应该及时下载最新驱动。为了方便,我干脆作了一个ZIP的自解压包,一步到位。
这之后按照向导安装Litenet就可以了,一路“下一步”。注意:
2 在 Step5 的时候,会跳出一个需要回答 yes/no 的对话框,选择 NO
2 一次重新启动之后,在 Step6 会跳出一个格式化磁盘对话框,记得在“复制系统文件”前面打对号
2 上传文件之后,如果是 Windos98se ,会跳出 Ftuner 对话框。在 Ftuner 之前最好备份一下你的磁盘
注:
1. 如果你不想使用域,那么不要在Microsoft网络用户上设置为登录到域。
2. 服务器上应该存在lnguest用户
3. 同一种品牌的硬件可能有不同的版本;同一种硬件配置在不同的BIOS设置下,可能需要不同的驱动程序;PCI设备插在不同的槽上可能导致Windows9x重新启动!所以如果准备网络上有不同的硬件设置的机器,一定要用同一块硬盘全部过一遍。
Windows98 上传后 Server 方面的设置
1. 修改 \\Server\Share\Windows\System 目录下的 system.ini 文件,在[386Enh]一节的最末添加:
PagingDrive=S:
MinPagingFileSize=65536
MaxPagingFileSize=131072
即:设置虚拟内存所在盘符为 S: ,最小值为 64M,最大值为 128M。注意,如果想更
改虚拟内存盘符,则必须在真 DOS 下用Litenet目录里面的 vmsetup.exe 工具更新
一次磁盘。
2. 修改 \\Server\Share\Windows 目录下的 Usercmd.bat 文件
a) 去掉 Qrestall 前面的 rem
b) 在 Qrestall 语句前面添加:
qvmem s: %server% %username%
QPATCH C:\WINDOWS\CHN.REG %HOME%\PATCHED.REG
regedit %HOME%\PATCHED.REG
3. 压缩
Litenet 生成的启动软盘为 dosundi.1,存放到 PXE 相应目录中
服务器端 \\Server\Share 目录下的权限设置
服务器上应该设定一个全域组,我们暂且称之为 NetPC Users
组中的成员有lnguest, netpc01, netpc02 … netpc50 …
客户端获得动态IP之后,使用MTFTP下载启动映像文件,应该没有权限问题。第一次连接
\\Server\Share 目录的时候,使用的是 lnguest/lnguest,所以,lnguest 至少要有读
的权限。当读取 netnames.db 文件获得当前机器名称之后,使用的是 netpc01/netpc01
连接,并拷贝临时文件等等到 \\Server\Share\netpc01 目录,所以,netpc01 要对 \\Server\Share\netpc01 目录有完全的权限。
实际操作上,为了方便、安全,推荐在NTFS分区上建立\\Server\Share 目录。
我是这么设置的:
\\Server\Share 目录所有权由 Administrator 得到
\\Server\Share 目录完全共享给 Everyone
\\Server\Share\Windows
\\Server\Share\Program Files 目录的权限设置为 Everyone 读、写、更改;却不能删除
Administrator 完全控制
\\Server\Share\netpc01 目录只给 Administrator 和 netpc01 完全控制权限
安装游戏的目录就给 Everyone 完全控制吧,反正公用机器,难免不乱,我的硬盘大,所
以在同一个分区里面干脆有一个干净的 \\Server\Share 目录的完全拷贝。太乱了,就删
除 \\Server\Share 目录下的所有文件,复制一份回来。
至此,应该可以无盘启动了!!!!!
背景概念
WFM Wired for Managemet 联网化管理标准
是由INTEL公司等著名IT企业共同制定的,
并被广泛采用的分布式网络计算机环境管理标准。符合WFM的计算即系统具有四大管理功能:
? Universal Network Boot 通用网络启动界面
? Remote Wake-up (Wake on LAN) 远程唤醒
? Asset Management 固定资产管理
? Power Management 电源管理
TFTP Trivial File Transfer Protocol 小文件传输协议
MTFTP Mutilcast Trivial File Transfer Protocol 小文件多点传输协议