远程启动基础--BootROM的工作原理
1.什么是远程启动?
远程启动服务(Remoteboot,通常也叫RPL)使通过使用服务器硬盘上的软件代替工作站硬盘来引导一台网络上的工作站成为可能。工作站的网络适配卡上必须装有一个RPL(Remote Program Load远程初始程序加载)ROM 芯片。每一种RPL ROM芯片都是为一类特定的网络接口卡而制作的,它们之间不能互弧4蠷PL的网络接口卡发出引导记录请求的广播(broadcasts),服务器自动的建立一个连接来响应它,并加载相关启动文件到工作站的内存中。
2.为什么使用Remoteboot?
远程启动允许使用无盘工作站(Diskless Workstation)而勿需在每一台工作站上配置一个硬盘。这有如下优点:
①增强的网络安全性
远程启动的工作站只能运行经服务器设置为有效的软件。远程启动不需要通过磁盘驱动器来进行数据复制,因此减少了病毒的危险。
②软件版本便于控制,更易集中升级软件
通过远程启动服务,使通过在单一服务器上的升级文件来更新众多的工作站的操作环境成为可能。即使工作站已经有一个硬盘驱动器,通过远程引导也会有更多的的好处。
③集中的磁盘资源,在分配信息和软件资源上具有更大的控制权
被广泛访问的数据资源放置在单个磁盘(服务器)而不是众多单独的工作站磁盘上,这使得数据备份更为容易。
④降低购买和维护工作站的成本
无盘工作站是比较便宜的,当然它们也存在一些要克服的缺点。譬如服务器掉线,无盘工作站就不能作为一台独立的工作站来使用。
⑤在有盘工作站中使用远程启动服务的优点:
容易将许多工作站上的软件和操作系统升级。
工作站的标准化更具灵活性,同时允许自定义配置。
3.远程启动怎样工作?
为了远程启动一台工作站,运行远程启动服务的Windows NT服务器必须提供两个资源给客户:
①一个引导程序块(Boot Block),它包含了引导时开启工作站需要的所有信息。
②远程启动配置文件(Remoteboot Profile),它定义了工作站引导后将要用到的操作系统环境。
要接收到这些数据,远程启动客户必须使用其网络接口卡上的RPL ROM芯片来与已经运行DLC通信协议的远程启动服务器进行通讯。接下来我们就来看看完成这一过程的两个阶段(以WinNT为例):阶段1,初始化引导程序块下载,阶段2,操作系统下载。
阶段1,初始化引导程序块下载
这个阶段的目标是去寻找一个远程启动服务器并下载适合该工作站特定类型的网络接口卡的引导程序块信息。这些引导程序块配置文件储存在服务器的WINNTRPLBBLOCKNETBEUIDOSBB.CNF 文件里。这个文件将在阶段2用于引导工作站。
①当一台远程启动客户打开电源时,网络接口卡即被初始化,RPL ROM广播(broadcasts)一个包含工作站适配器标识号(ID)的FIND帧(即引导请求)。
②远程启动服务器接收到FIND帧并检查远程启动数据库来查看是否已经存在一个使用此适配器标识号的工作站记录。如果尚不存在,远程启动服务器记录下这个适配器标识号而不引导工作站,管理员可以使用远程启动管理器来将这个适配器标识号记录转换为一台工作站记录。如果已经存在一个带有此适配器标识号的工作站记录,远程启动服务器则发送一个包含该服务器的网络适配器标识号的FOUND帧到客户的RPL ROM。
③客户的RPL ROM接受它接收到的第一个FOUND帧(如果有多个服务器都在运行远程启动服务,它可能接收到一个以上的FOUND帧),并返回一个SEND.FILE.REQUEST帧给发送出第一个FOUND帧的服务器的网络适配器标识号。
④当远程启动服务器接收到SEND.FILE.REQUEST帧,它就使用FILE.DATA.RESPONSE帧来发送一个引导程序块给RPL ROM。在远程启动数据库里的工作站记录确定发送什么样的引导程序块。
⑤当RPL ROM接收到最后一个FILE.DATA.RESPONSE帧,它就转移到引导程序块的登录点执行。
阶段2,操作系统下载。
这一阶段的目标是模仿MS-DOS引导过程。来自引导程序块的信息被RPL ROM用来加载基本的操作系统和网络,然后建立一个同远程启动服务器的会话。此时,工作站将显示下列登录提示:
Type Remoteboot username, or press enter if it is :
这个登录被称为工作站登录(workstation logon),并随当前的用户登录而有所不同。工作站登录常常用于建立同文件服务器的第一个会话并使用FIT(File Index Tables文件索引表)来映象原始的C驱动器目录到文件服务器。当一个工作站被添加到远程启动数据库时,用于它的特定的用户帐号将被创建。默认时,工作站帐号没有设置口令。用户需要作为一个单独的用户登录到主域以获得特定的网络使用许可。
一旦工作站登录完成,工作站就可以读取一个引导扇区文件并使用储存在服务器上的MS-DOS文件来引导。
①控制首先被传递给RPLBOOT.SYS,它将各个网络驱动程序和RPL磁盘( RPLDISK.SYS )驱动程序装入高基内存(640K以下 )。PROTOCOL.INI文件作为引导程序块信息被储存在相同的目录里。
②接下来,控制被传递到RPLSTART.COM,由它读取启动扇区。
③RPLDISK.SYS建立一个到文件服务器的NetBIOS会话并读取启动扇区(这是一个标准的MS-DOS启动扇区)。
④在处理CONFIG.SYS和AUTOEXEC.BAT的时候,重定向器被装入、初始化及启动。
⑤RPLINIT.EXE作为LANMAN.INI中的第一个工作站服务而运行。此时,将完成下面三件事:
建立用户身份。
建立一个到文件服务器的会话。
建立一个到驱动器C的连接。
当一台工作站完成一次远程启动后,当前目录是C:,C:驱动器是一个虚拟硬盘驱动器,它的各部分是通过FIT文件映射到一个文件服务器(或者多个文件服务器)上的不同区域的。
C:WKSTA目录包含工作站和特定设置的配置文件(比如WIN.INI ),并且每个连入的工作站的配置文件也是不同的。但C:DATA目录却总是相同的,不受配置文件的限制;用户可以在那里创建文件和目录。
C:DOS和C:LANMAN.DOS目录提供了访问MS-DOS和网络的工具。C:BINR目录则提供访问共享的实模式工具。
本地硬盘,被指定从D:驱动器开始,而不同于本地引导那样从字母C:开始。
一旦引导完成,用户将被要求键入一个网络登录命令并用他或她自己的用户名和口令来登录,系统据此来建立该用户同整个网络连接的用户许可权。这个登录不会超越FIT设置的 "workstation logon"许可权,FIT可以建立诸如C:DOS 一样的驱动器映射。
②软件版本便于控制,更易集中升级软件
通过远程启动服务,使通过在单一服务器上的升级文件来更新众多的工作站的操作环境成为可能。即使工作站已经有一个硬盘驱动器,通过远程引导也会有更多的的好处。
③集中的磁盘资源,在分配信息和软件资源上具有更大的控制权
被广泛访问的数据资源放置在单个磁盘(服务器)而不是众多单独的工作站磁盘上,这使得数据备份更为容易。
④降低购买和维护工作站的成本
无盘工作站是比较便宜的,当然它们也存在一些要克服的缺点。譬如服务器掉线,无盘工作站就不能作为一台独立的工作站来使用。
⑤在有盘工作站中使用远程启动服务的优点:
容易将许多工作站上的软件和操作系统升级。
工作站的标准化更具灵活性,同时允许自定义配置。
3.远程启动怎样工作?
为了远程启动一台工作站,运行远程启动服务的Windows NT服务器必须提供两个资源给客户:
①一个引导程序块(Boot Block),它包含了引导时开启工作站需要的所有信息。
②远程启动配置文件(Remoteboot Profile),它定义了工作站引导后将要用到的操作系统环境。
要接收到这些数据,远程启动客户必须使用其网络接口卡上的RPL ROM芯片来与已经运行DLC通信协议的远程启动服务器进行通讯。接下来我们就来看看完成这一过程的两个阶段(以WinNT为例):阶段1,初始化引导程序块下载,阶段2,操作系统下载。
阶段1,初始化引导程序块下载
这个阶段的目标是去寻找一个远程启动服务器并下载适合该工作站特定类型的网络接口卡的引导程序块信息。这些引导程序块配置文件储存在服务器的WINNTRPLBBLOCKNETBEUIDOSBB.CNF 文件里。这个文件将在阶段2用于引导工作站。
①当一台远程启动客户打开电源时,网络接口卡即被初始化,RPL ROM广播(broadcasts)一个包含工作站适配器标识号(ID)的FIND帧(即引导请求)。
②远程启动服务器接收到FIND帧并检查远程启动数据库来查看是否已经存在一个使用此适配器标识号的工作站记录。如果尚不存在,远程启动服务器记录下这个适配器标识号而不引导工作站,管理员可以使用远程启动管理器来将这个适配器标识号记录转换为一台工作站记录。如果已经存在一个带有此适配器标识号的工作站记录,远程启动服务器则发送一个包含该服务器的网络适配器标识号的FOUND帧到客户的RPL ROM。
③客户的RPL ROM接受它接收到的第一个FOUND帧(如果有多个服务器都在运行远程启动服务,它可能接收到一个以上的FOUND帧),并返回一个SEND.FILE.REQUEST帧给发送出第一个FOUND帧的服务器的网络适配器标识号。
④当远程启动服务器接收到SEND.FILE.REQUEST帧,它就使用FILE.DATA.RESPONSE帧来发送一个引导程序块给RPL ROM。在远程启动数据库里的工作站记录确定发送什么样的引导程序块。
⑤当RPL ROM接收到最后一个FILE.DATA.RESPONSE帧,它就转移到引导程序块的登录点执行。
阶段2,操作系统下载。
这一阶段的目标是模仿MS-DOS引导过程。来自引导程序块的信息被RPL ROM用来加载基本的操作系统和网络,然后建立一个同远程启动服务器的会话。此时,工作站将显示下列登录提示:
Type Remoteboot username, or press enter if it is :
这个登录被称为工作站登录(workstation logon),并随当前的用户登录而有所不同。工作站登录常常用于建立同文件服务器的第一个会话并使用FIT(File Index Tables文件索引表)来映象原始的C驱动器目录到文件服务器。当一个工作站被添加到远程启动数据库时,用于它的特定的用户帐号将被创建。默认时,工作站帐号没有设置口令。用户需要作为一个单独的用户登录到主域以获得特定的网络使用许可。
一旦工作站登录完成,工作站就可以读取一个引导扇区文件并使用储存在服务器上的MS-DOS文件来引导。
①控制首先被传递给RPLBOOT.SYS,它将各个网络驱动程序和RPL磁盘( RPLDISK.SYS )驱动程序装入高基内存(640K以下 )。PROTOCOL.INI文件作为引导程序块信息被储存在相同的目录里。
②接下来,控制被传递到RPLSTART.COM,由它读取启动扇区。
③RPLDISK.SYS建立一个到文件服务器的NetBIOS会话并读取启动扇区(这是一个标准的MS-DOS启动扇区)。
④在处理CONFIG.SYS和AUTOEXEC.BAT的时候,重定向器被装入、初始化及启动。
⑤RPLINIT.EXE作为LANMAN.INI中的第一个工作站服务而运行。此时,将完成下面三件事:
建立用户身份。
建立一个到文件服务器的会话。
建立一个到驱动器C的连接。
当一台工作站完成一次远程启动后,当前目录是C:,C:驱动器是一个虚拟硬盘驱动器,它的各部分是通过FIT文件映射到一个文件服务器(或者多个文件服务器)上的不同区域的。
C:WKSTA目录包含工作站和特定设置的配置文件(比如WIN.INI ),并且每个连入的工作站的配置文件也是不同的。但C:DATA目录却总是相同的,不受配置文件的限制;用户可以在那里创建文件和目录。
C:DOS和C:LANMAN.DOS目录提供了访问MS-DOS和网络的工具。C:BINR目录则提供访问共享的实模式工具。
本地硬盘,被指定从D:驱动器开始,而不同于本地引导那样从字母C:开始。
一旦引导完成,用户将被要求键入一个网络登录命令并用他或她自己的用户名和口令来登录,系统据此来建立该用户同整个网络连接的用户许可权。这个登录不会超越FIT设置的