|
一、无盘工作站启动原理 无盘工作站之所以能够启动,是由硬件(工作站端)和软件(服务器端)共同配合的结果。软件上,就是服务器上的远程启动相关服务和无盘系统软件;硬件上,则是工作站网卡上的BootROM芯片。当然,对于不是很老的主板,其BIOS中空闲较多并支持写入,可以将BootROM芯片代码写入主板BIOS中,节省了一个芯片。
较常用的无盘启动芯片有RPL和PXE两种。这两种较为通用,其它还有一些厂商开发的专用芯片,不是很普及,以下的讨论中均以RPL和PXE为主。
RPL芯片可用于10M和100M的网卡,有针对NT(2000)的,有针对NetWare的。不同的网卡用的也不一样,需要配套。所以做无盘时不是任何网卡都能做的。10M的NE2000和8029网卡、100M的8139网卡等都支持RPL芯片,并且也都容易找到相应的RPL芯片。
PXE芯片一般用于100M的网卡,以在8139网卡上的应用最为成熟和典型,甚至很容易就可找到用于8139网卡的PXE芯片代码(用于写入主板或空白BOOT片)。现在较常见的是那种RPL/PXE双启动的BootROM芯片,价格在6元左右。
1、RPL芯片的启动原理。
(1)发现阶段。当Client启动后,其网卡上的BootROM会向Server广播一个引导请求帧,即FIND帧,该帧包含有Client的网卡号(MAC地址),网络上所有Server都会发现这个FIND帧。
(2)提供阶段。Server远程启动服务收到Client广播的FIND帧,根据帧中所带的ID号,检查远程启动数据库中是否有该卡号的配置记录,如果不存在,则引导过程不能继续;如果存在,远程启动服务发送一个FOUND帧,这个帧中包含了服务器的岗卡ID(即Server的MAC地址),然后就调用BOOTP(Boot Protocol)或者DHCP(Dynamic Host Configuration Protocol)。
(3)选择阶段。Client收到第一个响应后(因为可能网络中不止一个服务器在运行远程启动服务,Client只对收到的第一个FOUND帧回应,包括:分配给Client的机器名称、IP地址、Server的IP地址、BOOT所需的映像文件等),则发送一个SEND.FILE.REQUEST Frame给第一个回应的远程启动服务器,请求传送启动所需的文件。
(4)确认阶段。当远程启动服务器收到SEND.FILE.REQUEST Frame的请求后,根据其远程启动数据库的Client记录查找对应的BOOT BLOCK,将Client启动所需的文件传送给Client,即给工作站一个FILE.DAT.RESPONSE帧,这个帧 包含了Client启动所需的BOOT BLOCK。
(5)启动阶段。Client接收到完整的启动文件后,开始执行文件中的程序,将执行点转向启动块的入口,启动Client,同时使用另外一个INTERNET协议:TFTP(Trivial Transfer Protocol)。然后引导不同的OS。
2、PXE芯片的启动原理。
PXE是RPL的升级品,它是Preboot Execution Environment的缩写。它们的不同之处为:一个是静态路由,一个动态路由。不难理解:RPL是根据网卡上的ID号加上其它的记录组成的Frame向server发出请求,而server那里早已经有了这个ID数据,匹配成功则进行远程启动;PXE是则是根据服务器端收到的工作站MAC地址(就是网卡号),使用DHCP服务给这个MAC地址指定一个IP地址,每次重启动可能同一台工作站有与上次启动有不同的IP,动态分配地址。下面以工作站引导过程说明PXE的启动原理: (1)用户端电脑开机后, PXE Boot ROM 获得控制权之前先做自我测试,然后以广播形式发出一个请求FIND帧。 (2)如果服务器收到个人电脑所送出的要求, 就会送回 DHCP 回应, 内容包括用户端的 IP 地址, 预设通讯通道, 及开机映像文件。 否则, 服务器会忽略这个要求。 (3)工作站收到服务器发回的响应后则会回应一个FRAME,以请求传送启动所需文件。 (4)之后,将有更多的讯息在用户端与服务器之间作应答, 用以决定启动参数。 BootPROM 由 TFTP 通讯协议从服务器下载开机映像档, 这个映像档就是软盘的映象文件。 (5)工作站使用TFTP 协议接收启动文件后,将控制权转交启动块,引导操作系统,完成远程启动。
3、PXE与RPL无盘启动方案的比较 (下面的比较过程主要取自俞席忠先生,稍有改动) (1)虽然它们都是无盘启动,但是,RPL,毫无疑问,适合做无盘win95或假WIN98,不易做成内核为win98的无盘站。RPL唯一的好处是:比较成熟,关于它的文章漫天皆是。 (2)就构架整个网络来说,PXE要简单得多。这集中反映在对每台客户机的配置上:RPL要求每一台客户机都要执行安装过程,而PXE配置时,只需要每一台客户机的MAC地址,把它写到netnames.db这个文件中就可以了,甚至连这个都可以自动完成。 (3)就性能价格比来讲,PXE是RPL 的替代品,是无盘win95的“掘墓人”,从此,无盘启动技术进入了win98的时代。 (4)就适用范围来讲,有盘windows 98能延伸到什么地方,也就是这个技术也可以延伸到的地方。而win95 由于它内核上的限制,不能较好地与INTERNET接轨,其应用受到了极大的限制。 (5)就可维护性讲,PXE空前绝后!PXE的每个工作站的配置都是从公共的windows目录下读取,删除了,无非是重新启动一次,不用在工作站作任何的动作,系统将自动复原。 (6)应用软件的安装。当你看中某个新的软件,并且打算把它安装在无盘工作站上时,用PXE安装,比如想在无盘win98中新加一个游戏,或以前没有office2000,现在要安装office2000,很简单:用你那个上传的本地硬盘安装好后,上传一下,所有工作站都可以用了。而win95的应用软件的安装就没有这么简单。
二、RPL下的DOS无盘工作站
虽然RPL下的DOS无盘工作站在目前已没有什么实用意义,但是它是安装RPL下的WIN95无盘工作站的基础,所以还是要啰嗦一下。
这里以古老的NE2000网卡和NT4.0操作系统为例。因为后面的RPL下的WIN95无盘工作站是以ISA网卡为基础的(后面会讲到怎样做出PCI网卡的WIN95无盘站)。而在WIN2000下安装无盘又是以在NT下安装为基础的。因为WIN2000下没有远程启动服务,需要加入第三方的远程启动服务程序。
好了。下面进入正题。
1、硬件准备:这里假设网络连接都已做好,网卡上的RPL芯片(服务器上不需要)也已安好并在BIOS中设为从LAN启动。
2、NT中文版的安装与配置 在安装NT之前最好运行SMARTDRV.EXE或其它的磁盘高速缓存程序,并建立实际拥有物理内存总量三分之一的高速缓存来加快安装过程(过大或过小均会影响安装速度)。以64M内存为例: 即:SMARTDRV 20480 20480 (1)将NT安装到C:\WINNT目录下,按照提示做好各种设置,这一步非常简单,不再详述。(C盘为FAT16的DOS分区,D盘为NTFS分区,E盘为光驱) (2)安装NetBEUI、DLC协议 由于远程启动服务需要用到DLC与NetBEUI通信协议,如果你没有安装的话,就必须先在Windows NT Server 安装这两种协议. 在"控制面板\网络\协议"项下选择"添加"按钮.从网络协议列表中选择"NETBEUI通讯协议”,单击"确定".此时返回上一级菜单,单击"添加"再从列表选择"DLC通讯协议".确定后,选择菜单中的绑定,此时计算机会显示绑定进度.退出网络菜单会提示你重启计算机。 (3)安装远程启动服务RPL(Remote initial Program Load)服务 §1. 在"控制面板\网络\服务"项下选择"添加"按钮. §2. 从网络服务列表中选择"远程启动服务",单击"确定".此时请输入安装远程启 动服务的目录后确定. (如C:\WINNT\RPL) §3. 根据提示输入WINNT的系统文件的原路径,(如D:\I386)此后再按要求输入Win NT Server光盘驱动器的Clients\Rpl目录. (如 D:\Clients\RPL ) §4. 根据提示重启计算机. (4)启动远程启动服务 在服务器“我的电脑=>控制面板=>服务”中选“远程启动服务”,单击“启动”,将启动类型改为“自动”,确定返回,单击开始。 (5)重新启动后,查看“管理工具(公用)=>事件察看器”,里面应该无任何出错信息。 3、安装 DOS 的无盘工作站 (1)把服务器中,打开NT资源管理器,选中WINNT\RPL\RPLfiles目录,按右键把它设为共享,它的共享名应该是RPLfiles,权限设置为完全控制. (2)在MS-DOS命令行下,拷贝所有MS-DOS622(至少包含IO.SYS MSDOS.SYS COMMAND.COM HIMEM.SYS )的文件到\\WINNT\RPL\RPLfiles\Binfiles\DOS622目录下.(注:以后拷贝等操作最好在D0S命令行下执行,以减少出错率.) 例: COPY e:\DOS\*.* \\WINNT\RPL\RPLfiles\Binfiles\DOS622 ATTRIB -S -H C:\IO.SYS ATTRIB -S -H C:\MSDOS.SYS /*注意:一定不要把\\WINNT\RPL\RPLfiles\Binfiles\Dos622目录下的IO.SYS和SDOS.SYS的属性加上系统和隐含,否则无法正常启动。这是初次安装者最易犯的错误。*/ (3)添加BBLOCK记录让远程启动支持你的网卡 因为网卡号的前6位号是网卡供应商之间协商的,在此步安装中必须先知道前6位网卡号,利用RPLCMD.EXE文件将你的网卡添加到远程服务器的数据库里. 在NT 服务器中,点击"开始"菜单中的"运行"项,输入RPLCMD后,按确定屏幕将会出现一些命令选项让你添加.
[1] [2] [3] [4] [5] [6] 下一页
|