资源预览内容
第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
亲,该文档总共4页全部预览完了,如果喜欢就下载吧!
资源描述
1Win2003 服务器 RPL 远程启动服务的安 装与实现摘 要:介绍了在 Windows 2003 Server、Windows 2000 Server 等操作系统上安装远程启动服务的原理与方法,采用 VC6.0 编程,成功实现了把 Windows NT4.0 的远程启动服务程序移植安装到 Windows 2003 Server、Windows 2000 Server 等服务器上。编写的软件具有使用方便、兼容稳定可靠等特点。为在新网络操作系统上安装无盘工作站、无盘终端提供了良好基础。关键词:远程启动服务;RPL;Windows 2000 Server;无盘工作站1 引言在客户机/服务器体系结构中,无盘工作站以其成本低廉、具有最大程度的的安全性和最简便的可维护管理性等突出优点得到了广泛应用1,2,3,4。无盘站顾名思义就是不使用本机磁盘驱动器的计算机工作站。无盘站是怎样工作的呢?无盘站在使用时必须连接入网络并配备至少一台网络服务器,无盘站的支持依靠的是网络服务器上的远程启动服务。远程启动服务(Remoteboot)是 Windows NT Server 和 Novell NetWare 提供的一项功能,它支持使用服务器硬盘而不是工作站硬盘上的软件启动 MS-DOS 和 Windows 工作站。工作站的网络适配卡上必须装有一个 RPL(Remote Program Load 远程初始程序加载)ROM 芯片。带有 RPL 的网络接口卡发出引导记录请求的广播(broadcasts),远程启动服务服务器就自动地建立一个连接来响应它,并加载 MSDOS 或 Windows 启动文件到工作站的内存中。Novell NetWare 及 Windows NT 都提供了无盘工作站利用 Boot ROM 远程启动的功能。WindowsNT4.0 就集成了远程启动服务程序,在安装操作系统时,可选择安2装该服务。这些操作系统都能支持无盘工作站采用 DOS、Win3.1、Win95、Win98等操作系统。因 Windows NT 操作系统具有操作简便等特点,逐渐代替了NetWare 操作系统,使以前广泛采用 Novell NetWare 无盘工作方式的用户,大多开始采用 Windows NT 操作系统。随着计算机软硬件档次的提高,及无盘 Win98 技术、无盘 Win2000、无盘 WinXP及无盘终端等技术的实现,无盘网络的应用越来越广泛。网络操作系统也由WinNT 升级为目前的 Win2000 Server 和 Win2003 Server。但非常遗憾的是,微软在新的 Win2000 Server 和 Win2003 Server 中不再支持 RPL 远程启动了。由于Windows 2003 Server、Windows 2000 Server 服务器比 NT 服务器可以提供的更多的服务、更稳定的系统和更高的安全性。因而用户都希望把无盘网络的服务器升级为新的服务器操作系统,这样就需要在 Windows 2003 Server、Windows 2000 Server 服务器上安装具有远程启动服务的软件。Windows NT4.0 中的远程启动服务软件是集成在 NT 安装软件中的,没有单独的Setup 或 Install 程序,不能直接在 Win2003 Server 或 Win2000 Server 中安装。如果从头设计编写远程启动服务软件,是比较困难的。我们从 NT4.0 中提供相关RPL 服务的软件有几百个,就可看出该系统的复杂性。能否通过别的方法把NT4.0 中的远程启动服务转移到 Windows 2003 或 Win2000 里呢?根据这一设想,我们开展了相关研究。2 远程启动服务安装软件的设计与实现2.1 WinNT 4.0 远程启动服务程序工作原理通过对 Windows NT 4.0 安装远程启动服务的过程及工作情况,我们了解到,3Windows NT 4.0 主要是把光盘中的 Clientsrpl 目录中的文件无变化地拷贝到服务器 Winnt 目录下面,其中有 BBLOCK 目录、BIN 目录、FITS 目录、RPLFILES目录和数据库文件 RPLSVC.MDB 等。另利用 Expand.exe 把 I386 中与远程启动服务和管理及需要的动态连接库文件等解压到 Winntsystem32 目录中,主要把NETAPI32.DL_ 解压为 NETAPI32.DLL;NETUI1.DL_ 解压为 NETUI1.DLL;RPLCMD.EX_ 解压为 RPLCMD.EXE;RPLMGR.CN_ 解压为 RPLMGR.CNT;RPLMGR.EX_ 解压为 RPLMGR.EXE;RPLMGR.HL_ 解压为 RPLMGR.HLP;RPLSVC.EX_ 解压为 RPLSVC.EXE;其中 RPLSVC.EXE 是远程启动服务程序,RPLMGR.EXE 是远程启动管理程序,RPLCMD.EXE 是网卡参数配置程序。这三个文件执行时,需要调用动态连接库NETAPI32.DLL 和 NETUI1.DLL。文件拷贝安装后,又在注册表中添加服务注册信息为:HKEY_LOCAL_MACHINESYSTEMControlSet001ServicesRemoteBoot “Type“=dword:00000010 “Start“=dword:00000002 “ErrorControl“=dword:00000001 “ImagePath“=“%SystemRoot%system32rplsvc.exe“DisplayName“=“远程启动服务“ObjectName“=“LocalSystem“ HKEY_LOCAL_MACHINESYSTEMControlSet001ServicesRemoteBootParamet ers “BackupInterval“=dword:00000018 “Directory“=“C:WINNTRPL“ “Startup“=dword:000000004HKEY_LOCAL_MACHINESYSTEMControlSet001ServicesRemoteBootEnum “0“=“RootLEGACY_REMOTEBOOT0000“ “Count“=dword:00000001 “NextInstance“=dword:00000001其中:“ImagePath“=“%SystemRoot%system32rplsvc.exe“ 指出了远程启动服务程序 RPLSVC.EXE 所在的目录路径;远程启动服务启动后,就是根据注册表的这项信息,找到程序 RPLSVC.EXE,并执行之。另“Directory“=“C:WINNTRPL“ 指出了 RPL 文件目录所在磁盘位置,远程启动服务程序就是到该目录下获取无盘站配置文件数据信息,为无盘站提供远程引导文件的2.2 手工移植远程启动服务程序到 Win2003 服务器根据上步分析的远程启动服务程序在 WinNT 上安装的情况,我们能不能把这些程序等以相同方式拷贝到 Win2003 服务器上,而能正常运行,提供远程启动服务呢。如果手工配置能成功,就可以编写一安装程序,方便用户安装该服务。下面是我们手工操作的步骤。1、我们用资源管理器把光盘上 Clients 下面的 RPL 目录拷贝到 Win2003 服务器的 Winnt 目录下。因光盘上文件是只读属性的,拷贝后的文件也是只读属性的,所以需要把拷贝后所有文件的只读属性去掉。2、在 WinNT 中是把 RPLSVC.EXE、RPLMGR.EXE、RPLCMD.EXE、NETAPI32.DLL 和 NETUI1.DLL等文件拷贝到 Winntsytem32 目录下面的,我们准备也把这几个文件拷贝到Win2003 服务器的 Winntsystem32 目录下,可拷贝时发现该目录下面已有NETAPI32.DLL 和 NETUI1.DLL。这两个文件已是 Win2003 版本的,不能用NT4.0 的这两个文件覆盖,否则影响 Win2003 服务器的运行。可 2003 版本的该动态连接库文件中又没有提供对 RPL 支持的函数,不拷贝这两个文件,RPL 服务就不能运行。5怎样解决这一问题呢?考虑到 EXE 文件在执行时,是首先在当前目录下调用其需要的动态连接库 DLL 的,若找不到的话,才到系统目录(Winntsystem32)下面去寻找调用。因此可以考虑把这些文件安装到别的目录中,只要安装在相同目录下面,就不影响 RPLSVC.EXE 等程序调用支持 RPL 的动态连接库NETAPI32.DLL 和 NETUI1.DLL 了。为了好管理,我们试着把这几个文件也全拷贝到了 RPL 目录下。3、现在可以导入注册表项目了。因为上步的远程启动服务及管理等程序文件没有安装在系统目录中,必须修改注册表相关项目,因为 RPLSVC.EXE 安装到了 RPL目录下,所以要把注册表项:“ImagePath“=“%SystemRoot%system32rplsvc.exe“修改为 “ImagePath“=“%SystemRoot%rplrplsvc.exe“如果我们是把 Win2003 系统目录安装到 D 盘的,是把 RPL 目录拷贝到 “D:WINNT“ 目录下面的,还必须把“Directory“=“C:WINNTRPL“修改为: “Directory“=“D:WINNTRPL“导入该注册表文件后,重新启动服务器后,就发现远程启动服务已成功运行了。这样,远程启动服务就成功从 Windows NT4.0 上移植到了 Win2003 服务器上。2.3 编写自动安装远程启动服务的程序对于一般计算机用户来说,用手工方法在 Win2003 上安装远程启动服务,比较麻烦,容易出错。因此有必要编写一自动安装程序。我们用 VC+6.0 编程完成了这一 RPL 安装软件 InstallRPL.exe。用户只需把有 RPL 文件的 NT4.0 安装光盘放入计算机光驱,或拷贝到计算机硬盘上,执行 InstallRPL.exe 即可实现安装。6软件在执行时,将自动探测 NT4.0 光盘的 Clientsrpl 和 i386 的目录;利用 VC 的getenv(“windir“),就可以探测 Win2003 Server 的系统所在盘和 Winnt 目录,利用CopyFile(lpExistingFileName, lpNewFileName, bFailIfExists)等代码可以实现把RPL 目录文件拷贝到系统的 WinNT 目录下。利用 WinExec 代码和 Expand.exe 程序,可以实现把 i386 下面的 RPLSVC.EX_等文件,解压为 RPLSVC.EXE 等,并拷贝到 RPL 目录下。根据上面 RPL 等文件实际安装的目录路径,自动修改注册表需要的远程启动服务程序和 RPL 目录所在的路径。用RegOpenKeyEx、RegCreateKey 及 RegSetValueEx 等代码可实现注册表信息的导入5。另利用 CoCreateInstance 等代码,在桌面和程序组管理工具上创建远程启动管理程序 RPLMGR.EXE 的快捷方式,方便用户使用远程启动的管理程序。在Winntsystem32 目录下,建立 RPLCMD.BAT 批命令文件,可自动调用 Winntrpl目录下面的 RPLCMD.EXE 程序,方便用户使用 RPLCMD 命令登录网卡参数。安装完毕后,自动要求用户重新启动计算机,以使远程启动服务开始运行。2.3 添加用于无盘引导的 DLC 等协议RPL 服务需要 IPX 协议、DLC 协议和 NetBEUI 协议的支持,安装 RPL 前软件要自动探测系统是否已安装了这些协议,否则将自动提示用户添加这些协议,或自动安装。可在 Wi
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号