这部分内容由网友提供,主要是为那些准备剖析在LITENET下PXE无盘WIN98启动的每一细节的读者而准备的。
1、CONFIG.SYS
DOS=HIGH,UMB
DEVICE=A:/HIMEM.SYS /TESTMEM:OFF /V
DEVICE=A:/EMM386.EXE NOEMS /Y=C:/WINDOWS/EMM386.EXE /V
DEVICE=A:/IFSHLP.SYS
REM 下面的一行是在内存中生一个64K的虚拟C盘。
REM 这个虚拟C盘将被在下面的STARTNET.BAT批理文件中的QUALCNX.EXE或QAUTOLOG.EXE
REM 调用命令 "NET USE C: //服务名/共享目录名” 生成的C盘所掩盖还不可见,直
REM 到WINDOWS的启动过程中实模式网络转到保护模式网络过渡中,由于这一小段时间
REM 这段短暂的时间里,WINDOWS必须加载一个对保护模式联网比较重要的文件才能重建。
REM 保护模式的网络,没有这个文件,网络才能重新连接。这个文件又要如果才能找到
REM 呢(此时实模式的网络已断,而保护模式的网络又不连接)?此时,这个虚拟盘就
REM 起了很大的作用。因为如果我们把这个文件放到这个虚拟盘上,windows就会到这
REM 个虚拟C盘找到这个文件而正常的实现保护模式的连网。起一个过渡的作用。
REM 这个文件就是保护模式下的网卡驱动程序。
DEVICEHIGH=A:/RAMDRIVE.SYS 64 /E
SHELL=A:/COMMAND.COM A:/ /P
STACKS=9,256
2、AUTOEXEC.BAT
@echo off
cd /winboot
call setvars.bat
REM 上面的setvars批处理是设置无盘98启动时所需要的一些环境变量。
REM 如 服务器名,共享目录名,windows所在的盘,windows所在目录,
REM 实模式下的网卡驱动程序文件名等。
Call startnet.bat
REM 上面的startnet批处理是实现实模式连网,并为无盘98启动做好准备。
3、SETVARS.BAT
SET WINDIR=C:/WINDOWS
REM WINDOWS所在的目录名
SET DRIVE=C:
REM WINDOWS所在的盘符
SET NETCARD=PCIDN.DOS
REM 实模式下的网卡驱动程序名
SET SERVER=SERVER
REM NT或W2K服务器名
SET SHARE=WINDISK
REM WINDOWS所在服务器里的共享目录名
CALL TUNING.BAT
REM 批处理TUNING实现把保护模式下的驱动程序拷到虚拟C盘
4、TUNING.BAT
@ECHO OFF
IF EXIST %WINDIR%/NULL GOTO MD_SYSTEM
MD %WINDIR% >NUL
REM 在虚拟C盘中建立一个WINDOWS目录
:MD_SYSTEM
IF EXIST %WINDIR%/SYSTEM/NULL GOTO COPY_RPL
MD %WINDIR%/SYSTEM >NUL
REM 在虚拟C盘中的WINDOWS目录下建立一个SYSTEM目录
:COPT_RPL
IF EXIST %WINDIR%/SYSTEM/RTL8029.SYS GOTO COPY_END
COPY A:/WINBOOT/RTL8029.SYS %WINDIR%/SYSTEM >NUL
REM 把保护模式下的驱动程序从A盘的WINBOOT目录下拷到虚拟C盘的WINDOWS/SYSTEM
:COPY_END
@ECHO ON
5、STARTNET.BAT
@ECHO OFF
SET COMSPEC=A:/COMMAND.COM
SET PATH=%WINDIR%;%WINDIR%/COMMAND;%DRIVE%/LITENET
REM 其中的%DRIVE%/LITENET因为我把LITENET中的所有程序都拷到了服务器共享目录下的LITENET子目录下,并把它设为搜索路径。这样我可以只把QUALCNX.EXE留在软盘的WINBOOT目录中。
SET TEMP=A:/WINBOOT
SET NETBUFF=140
REM 设置实模式下连网所需的网络缓冲大小。 注意:以运行下的QUALCNX.EXE 不死机为标准(太小了,运行QUALCNX.EXE会死机,但大家要注意,由于它引起的死机一般是假死,也就是说此时键盘还有反应的。
LH QUALCNX LNGUEST LNGUEST
REM 这个命令实现了实模式下的连网。用通用账号LNGUEST(默认口令也是LNGUEST)远程登陆到NT或W2K服务器上。REM 所以我们必须在服务器首先创建用户LNGUEST,口令设为LNGUEST并设置充许远程登陆。我们通知常的做法是在服务器, 建立一个全局组,把用户LNGUEST和下面要用到的用户(如 WIN01、WIN02、WIN03.........等)都归于这个组。QUALCNX是通过WINDOWS自带的实模式下的网络命令NET.EXE来实现实模式下的连网的。它是内部通过调用以下命令来实现的: 1、SNAPSHOT.EXE /S /B:A /M:140 (说明:这个命令是设置实模式下的网络缓冲,其中140是通过上行(SET NETBUFF=140)的环境变量NETBUFF来传递的,它将设网络缓冲大小为140K)。 2、NET.EXE START IPX /Y >NUL (说明:这个命令实现在工作站上开始用IPX协议的网络服务,它会通过IPX协议实现工作站与服务器之间的连接。3、NET.EXE LOGON LNGUEST LNGUEST/SAVEPW:NO /Y >NUL (说明:这个命令是用账号LNGUEST远程登陆到服务器上) 4、NET.EXE USE C: //服务器名/共享目录名 /Y (说明:这个命令把盘C连接到共享目录上,使C盘变成一个网络驱动器。这里的盘C是 通过上面的环境变量DRIVE来传递的;这里的服务名是通过上面的环境变量SERVER来传递的;这里的共享目录名是通过上面的环境变量SHARE来传递的。运行这个时如果网络缓冲设得太小会出现死机,并且这种死机现象是键盘还有反应。 5、NET.EXE TIME //服务器名 /SET /YES >NUL (说明:这个命令将会使工作站的时钟与服务器的时钟同步)。 6、NET.EXE CONFIG /YES >临时文件名 (说明:得到工作站的网络配制信息)。QUALCNX除了通过WINDOWS自带的实模式下的网络命令NET.EXE来实现实模式下的连网外,它还要通过读取工作站的网卡节点地址、及通过读取NETNAMES.DB(这个是在服务器共享目录下的WINDOWS目录中)文件获得无盘98入口目录来创建USERNAME.BAT的 批处理文件,这个批处理的主要功能是设置三个环境变量:USENAME(用户名)、HWA(网卡节点地址)及CHN(无盘98入口目录)。QUALCNX是否成功是实模式连网的关键。它将使用以下文件: 1、WINDOWS自带的:NET.EXE、PROTMAN.DOS、PROTMAN.EXE、SNAPSHOT.EXE及NDISHLP.SYS。请大家注意,这些文件不能使用中文WINDOWS 98自带的,否则将会出现:或死机(这种死机将非常切底,连键盘都没有反应。大多是由于使用了中文WINDOWS 98自带的NET.EXE所引起)或实模式连网不能正常完成。我们一般用WINDOWS 97 或英文WINDOWS 98中的这些文件代替,OK,小心!!! 2、最小注册表文件SYSTEM.DAT及PROTOCOL.INI。这二个反应了实模式下的网络配置信息,如果实模式下的网络配置不正确,它们反应的网络配置信息也不正确,同样会引起实模式连网不能正常完成。但要说明的是,它不会引任何的死机现象。 3、实模式下的网卡驱动程序*.DOS(如8029的是PCIND.DOS)。
CALL %TEMP%/USERNAME.BAT
REM 批处理USERNAME.BAT的主要功能是设置三个环境变量:USENAME(用户名)、HWA(网卡节点地址)及CHN(无盘98入口目录)
QAUTOLOG.EXE
REM QAUTOLOG.EXE主要是实现自动登陆时所必须的。自动登陆的机理是:先用一个通用账号(如上面的LNGUEST是默认的)通过QUALCNX 在实模式下连网,QUALCNX又通过读取NETNAMES.DB(这个是在服务器共享目录下的WINDOWS目录中)文件获得无盘98入口目录来创建USERNAME.BAT的批处理文件设置环境变量CHN(无盘98入口目录),QAUTOLOG.EXE就是通过环境变量CHN,用它的值来做用用户名又一重新登陆到服务器来实现的。同时QAUTOLOG.EXE在A盘上生成二个文件:QAUTOLOG.BAT和QAUTOLOG.REG。 1、QAUTOLOG.BAT的功能是重新设置上面的三个环境变量:USENAME(用户名)、HWA(网卡节点地址)及CHN(无盘98入口目录)。 2、QAUTOLOG.REG是一个注册表信息文件,它包含了在WINDOWS中用户自动登陆WINDOWS的一些注册项信息。它的主要作用是在WINDOWS 启动后不出现那个用户登陆的信息框还实现在WINDOWS中也自动登陆。
CALL QAUTOLOG.BAT
REM QAUTOLOG.BAT的功能是重新设置上面的三个环境变量:USENAME(用户名)、HWA(网卡节点地址)及CHN(无盘98入口目录)。
%DRIVE%
SET HOME=%DRIVE%/%USERNAME%
CD %HOME%
MD %HOME%/TEMP > NUL
SET TEMP=%HOME%/TEMP
SET TMP=%HOME%/TEMP
SET COMSPEC=%WINDIR%/COMMAND.COM
SET WINBOOTDIR=%WINDIR%
LH QUALREG %HOME%
REM QUALREG.EXE 是DOS实模式管理注册表工具,该工具好:可以让WIN9X自动到您指定的文件夹中找启动的注册表语法: QUALREG
/R: 替换;/A: (替换) 所有的;/S: 安全
PATH告诉WIN9X启动WIN.COM后在哪儿找注册表(SYSTEM.DAT,USER.DAT). 1、若PATH中无SYSTEM.DAT,将从WIN9X中复制一份到PATH. 2、QUALREG将不复制USER.DAT到PATH,除非PATH中没有该文件 3、如果添加/R, 则WIN9X目录中的系统注册表SYSTEM.DAT将替换指定PATH中的注册表SYSTEM.DAT 文件4、添加/A,QUALREG将同时替换PATH中的SYSTEM.DAT和USER.DAT 5、QUALREG在注册表中记录不可修复错误. 并调用SCANREG修复,但SCANREG是WIN98版本才有,如果在WIN95系统,会显示UNKNOWN COMMAND OR FILENAME FOR INSTANCE,则添加/S是一个好注意 6、QUALREG使用环境变量%WINDIR%查找WIN9X注册表文件 7、当QUALREG设置注册表路径并复制到指定PATH后,将查找一个名为LITENET.REG的文件,若该文件存在, 将LITENET.REG导入到PATH中的注册表,LITENET.REG是在安装LITENET时自动建立的,不可以修改或删除,但可以添加信息(wait for next...)
%WINDIR%/USERCMD.BAT
6、USERCMD.BAT
QUSERMAN %HOME%
REM 该工具用来设置NETBIOS计算机名. 语法:QNETNAME [包含计算机网卡和名字的数据文件](文件默认为NETNAMES.DB,当然需要可以自己指定.)QNETNAME查找到一个数据文件(包括网卡ID和名字),然后建立一个BAT文件设置变量CHN,并将计算机的名字导入到注册表.QNETNAME 默认这个数据文件是%WINDIR%/NetNames.DB. QNETNAME 支持数据文件的语法格式:在一行开头或末尾有空格的行、开头有#标记的忽略。开头为非#的字符串,若干空格后为网卡ID为确认格式。如果QNETNAME在数据文件中没有找到网卡ID,将会挂起,并询问您是否自动为该计算机的网卡ID和名字保存在NETNAMES.DB中。 QNETNAME 将在TEMP变量对应的文件夹中建立一个文件QNETNAME.BAT. QNBNAME.BAT 必须在QNETNAME返回变量CHN的值后被调用. CHN变量可以被以后的BAT文件使用或者被QPATHCH命令替代 在%WINDIR%/usercmd.bat 中的QNETNAME.EXE和CALL %TEMP%/QNBNAME.BAT两行命令必须在WIN9X被启动之前运行. 注意:E当运行QNETNAME后,LITENT PC状态如下: 1、当QUALCNX运行连接 %DRIVE% to //%SERVER%/%SHARE% 用户名和密码。 2、如CHN变量没有设置,则QNETNAME从NETNAMES.DB中得到。 3、QNETNAME自动修改注册表以便WIN9X启动后得到正确的计算机名。 必须在 %WINDIR%/NetNAMES.DB 中填写工作站计算机的名字和网卡ID QNETNAME 使远程工作站使用同一个影象文件成为可,在QNETNAME管理下,安装多个客户非常容易:管理人员只要在NETNAMES.DB中填写NAME 和网卡ID,
REM 并在//SERVER/SHARE中建立文件夹NAME(就是工作站PC的名字) 注意:1、QNETNAME并没有复制到启动软盘中,为方便在USERCMD.BAT中开头填写一行内容即可: PATH %PATH%;C:/WINDOWS/LITENET 2、QNETNAME 必须在QUALREG.EXE启动之后,而在WIN9X启动(WIN.COM)之前运行
QSETBD %DRIVE%
IF EXIST %HOME%/PATCHED.REG GOTO NOTCHANGE
SET REG=C:/REG
REM 因为我把我一些注册表REG文件都COPY到了服务器的共享目录的REG目录下。为了方便,故设环境变量REG。
QPATCH %REG%/CHN.REG %HOME%/PATCHED.REG
REM QPATCH是DOS模式使用的一个优化文件和注册表补丁工具。
REM 语法:QPATCH
[Patched File]
REM QPATCH <源文件> [新文件名]
REM 说明:QPATCH可以在WIN32环境中使用,但要受到一些限制, QPATCH32只能在WIN32环境中(WIN9X/NT/WIN200), QPATCH32能调用WIN32中的环境变量。
REM QPATCH和QPATCH32 是文本文件补丁程序,工作方式几乎相同,除上面的区别说明外。
REM QPATCH执行后替换注册表REG文件中的所有的{%环境变量%}为环境变量的值。如{%WINDIR%}将变为C:/WINDOWS。
REM QPATCH需要两个参数:第一个为源文件.若命令行中只有一个参数,则第二个参数默认为显示器,
REM 若有两个参数, 则第二个为补丁文件名(最好不要与已经存在的文件同名(不然会被覆盖)。
REM 当启动无盘站PC,不同的PC对应由于有不同的CHN,所以使用同一个注册表文件而显示的计算机名却不同,效果很好!
REM QPATCH非常强大的工具,使得多个客户机器使用同一个文件,而每台客户机器显示的信息却又相互不同。
REM 注意:QPATCH 并没有复制到LITENET PC启动软盘中,在服务器的共享WINDOWS中
REM CHN.REG是通过把注册表中的用户信息(主要指是注册表文件USER.DAT中的.DEFAULT分支指)导出来后,然后把所有的.DEFAULT改为
REM {%CHN%}所得。
REM 对这一起步是不必要有不同的看法。有人说这一步不必要做,也许有他的理由。但我认为做这一步还是有必要的,我也曾经试着不做这一步。
REM 无盘WINDOWS 98还是可以启动的,但容易出一些莫名其妙的问题。有人讲工作站的网络配置中不能加文件及打印共享,我怀疑就是这一步没
REM 做。因为我这里是这样做的,在工作站的网络配置中也加了文件及打印共享(实其我的网络配置中什么都加了,一直是这样的),却从来都
REM 没有出过问题。当然我得声明,由于他的反面试验(工作站的网络配置中加了文件及打印共享而这一步不做)我没认真的测试过,所以只能
REM 说怀疑,并且由于不机器的硬件配制不同,所以引起问题的原因很多,由于我的条件不允许,大多的结论是理论加推测罢,不可深信,即然
REM 做为论谈,我想大家都能谈论自己的看,如有不对的地方,请大家指出、更正。如果有条件的朋友可以从正、反或不同硬件的机器来测试一
REM 下,我的主张是从实践中得到一个最本质、最普遍、最正确的结论,然后得到一个最正确的理论系统,为大家服务,这就是我论谈的宗旨。
QPATCH %REG%/USER.REG %HOME%/USER.REG
REM 用QPATCH修复注册表REG文件USER.REG,USER.REG是我做的一个用于自动登陆到WINDOWS上而不出现用户登陆信息框的REG文件。
REM 前面我已经讲了,由于QAUTOLOG.EXE产生的用于自动登陆的QAUTOLOG.REG文件有BUG,故我用USER.REG来修复。
REGEDIT %HOME%/PATCHED.REG
REGEDIT %HOME%/USER.REG
REM 把已经修复后的PATCHED.REG和USER.REG里的注册信息导入到用户的注册表。
REGEDIT %REG%/NET.REG
REM 把一些启动无盘98所必要的注册表信息由注册表REG文件NET.REG中导入到用户注册表中去(这是用动态的方法)计算机
IF EXIST %WINDIR%/SYSTEM/TWEAKUI.CPL IF EXIST A:/WINBOOT/QAUTOLOG.REG REGEDIT A:/WINBOOT/QAUTOLOG.REG
REM 把这个软件自带的自动登陆注册表REG文件QAUTOLOG.REG中的注册信息导入到用户注册表中去。
:NOTCHANGE
QRESTALL
REM 这个命令的作用不详。
REM 不过从论谈前面各位朋友的粘子上可知道一点,如果无盘98 启动后报内存不够或有病毒是由于这个命令没加的原故。
REM 由些我可猜想这个东东可能是个修复DOS内存的东西。
QVMEM S: %SERVER% %USERNAME%
REM QVMEM。EXE的作用有二个:
REM 1、把盘S连接到服务器的用户目录,使它成为一个网络驱动器。
REM 2、网络驱动器S可为WINDOWS 98虚拟内存交换文件提供硬盘空间(模拟成本地硬盘)。
REM 当然要想使无盘98能使用虚拟内存还必用这一步与SYSTEM.INI配合。
REM 在SYSTEM.INI的[386Enh]小节中必加上以下三行:
REM PagingDrive=S
REM MinPagingFileSize=100
REM MaxPagingFileSize=200
REM 并且“ PagingDrive=S "中的盘符S要与这个命令中的盘符一至。
%WINDIR%/WIN.COM
7、PROTOCOL.INI[protman$]
DriverName=protman$
priority=NDISHLP$
[ndishlp$]
DriverName=ndishlp$
Bindings=PCIND$
[data]
version=v4.10.1998
netcards=PCIND$ ;实模式下的网卡
[nwlink$] ;IPX/SPX协议
DriverName=nwlink$ ;IPX/SPX协议名
Frame_Type=4 ;帧类型为4是自动
cachesize=0 ;缓冲大小为0
Bindings=PCIND$ ;绑定到实模式下的网卡驱动程序
[PCIND$] ;实模式下的网卡驱动程序
DriverName=PCIND$ ;实模式下的网卡驱动程序名为PCIND.DOS
8、SYSTEM.INI
[386Enh]
PagingDrive=S:
MinPagingFileSize=100
MaxPagingFileSize=200
9、MINI.REG(最小注册表的REG文件)
REGEDIT4
[HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion]
"SystemRoot"="C://WINDOWS"
[HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Setup]
"WinBootDir"="A://WINBOOT"
"WinDir"="C://WINDOWS"
"SharedDir"="C://WINDOWS"
"SysDir"="C://WINDOWS//SYSTEM"
[HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Setup/WinBootDir]
"DevDir"="A://WINBOOT"
[HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Network/Real Mode Net]
"transport"="*nwlink,*netbeui,ndishlp.sys"
"netcard"="pcind.dos" ;实模式下的网卡驱动程序文件名,要改
"LoadRMDrivers"=hex:00,00,00,00
"preferredredir"=""
"SetupNPath"="C://WINDOWS//"
"StaticDrive"="C,c"
"SetupN"=hex:01
"Transition"=hex:01
[HKEY_LOCAL_MACHINE/Network/Logon]
"UserName"="LNGUEST" ;默认的登陆网络的用户名,可不改
[HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/VxD/VNETSUP]
"Workgroup"="LDLJLZW" ;工作站计算机的工作组名,建议改为NT或W2K服务器的域名
[HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/MSNP32/NetworkProvider]
"AuthenticatingAgent"="LDLJLZW" ;NT或W2K服务器的域名(最好我们装服务器时装为域控服务器),要改
[HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/NWNP32/NetworkProvider]
"AuthenticatingAgent"="LDLJLZW" ;NT或W2K服务器的域名(最好我们装服务器时装为域控服务器),要改
[HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/ComputerName/ComputerName]
"ComputerName"="LZW" ;工作站计算机的计算机名
10、NET.REG
REGEDIT4
[HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Network/Real Mode Net]
"transport"="*nwlink,*netbeui,ndishlp.sys"
"netcard"="rtsnd.dos"
"LoadRMDrivers"=hex:00,00,00,00
"preferredredir"=""
"SetupNPath"="C://WINDOWS//"
"StaticDrive"="C,c"
"SetupN"=hex:01
"Transition"=hex:01
[HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/VxD/VNETSUP]
"Workgroup"="LDLJLZW"
"StaticVxD"="vnetsup.vxd"
"Start"=hex:00
"NetClean"=hex:01
"MaintainServerList"="2"
"LMAnnounce"="0"
[HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/VxD/TCPIP]
"StaticVxD"="vtdi.386,vip.386,vtcp.386,vdhcp.386,vnbt.386"
"Start"=hex:00
[HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/MSNP32/NetworkProvider]
"AuthenticatingAgent"="LDLJLZW"
"LogonDisconnected"=hex:00,00,00,00
"Name"="Microsoft Network"
"ProviderPath"="msnp32.dll"
"Description"="Microsoft Network"
"NetID"=hex:00,00,01,00
"CallOrder"=hex:00,00,00,40
"DisableReLogin"=hex:00,00,00,00
[HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/NWNP32/NetworkProvider]
"GroupFcn"="GROUPPOL.DLL,NWGetUserGroups"
"AuthenticatingAgent"="LDLJLZW"
11、USER.REG
REGEDIT4
[HKEY_LOCAL_MACHINE/SYSTEM/CURRENTCONTROLSET/CONTROL]
"Current User"="{%CHN%}"
[HKEY_LOCAL_MACHINE/SOFTWARE/MICROSOFT/WINDOWS/CURRENTVERSION/WINLOGON]
"AutoAdminLogon"="1"
"DefaultUserName"="{%CHN%}"
"DefaultPassword"="{%CHN%}"
[HKEY_LOCAL_MACHINE/NETWORK/LOGON]
"PolicyHandler"="GROUPPOL.DLL,ProcessPolicies"
"PrimaryProvider"="MicroSoft 友好登录"
"LMLogon"=hex:01,00,00,00
"LogonValidated"=hex:01,00,00,00
"UserProfiles"=dword:00000000
"DontShowLastUser"=dword:00000000
"UserName"="{%CHN%}"
12、QAUTOLOG.REG
REGEDIT4
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Winlogon]
"AutoAdminLogon"="1"
"DefaultUserName"="WIN01"
"DefaultPassword"="WIN01"
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/RunServices]
"AutoLog"="RUNDLL32.EXE TWEAKUI.CPL,TweakLogon"
[HKEY_LOCAL_MACHINE/Network/Logon]
"DontShowLastUser"=dword:00000000
"UserName"="WIN01"
PXE无盘WIN98启动过程详解及故障解析
俞席忠
初学安装PXE无盘WIN98时,由于安装过程的疏忽,或软、硬件的兼容性,致使无盘WIN98无法正常启动,面对满屏英文提示,初学者可能会无可适从,不知如何下手解决,只能反复重装系统,浪费大量宝贵时间。自从笔者在个人网站 http://yxz.3322.net/ 开通PXE主题,一个月以来,收到近600封电子邮件,询问有关PXE安装使用问题,结合近半年的的PXE组网经验及广大网友提供的材料,精选其中最常见的二十余种故障,按启动过程的先后顺序,表述如下,若有不详之处,或有什么宝贵经验,请EMAIL至:xyyxzh@public1.xyptt.jx.cn (文中加粗字体为屏幕提示)
(一)网卡设置
按下电源开关,系统开始自检,当自检完硬盘、光驱后,出现以下提示:
Realtek RTL 8139 (A/B/C)/RTL8130 Boot Agent Press Shift-F10 to configue……
此信息默认为停留3秒钟,此时,按下SHIFT--F10进入网卡配置菜单,共有四个选择:
1. Network Boot Protocol (PXE RPL)按空格改变网络引导协议
2. Boot order (Rom Disable禁止BOOR ROM引导
Int 18h先从BIOS设置中的次序引导
Int19h先从BOOT ROM引导
PnP/BEV 从BBS引导)
3. Show config Message (Enable Disable)启动时是否显示SHIFT—F10
4. Show Message time (3 seconds 4seconds 5seconds 8seconds 10seconds) 启动时shift—f10提示信息停留的时间。
新网卡的Boot order 选项为禁止BOOT引导,所以,所有新网卡必须进入设置程序,将其设为INT18 或INT19设置完毕后,按F4保存退出。
故障1:有些主板与PXE BOOTROM不兼容,不出现SHIFT—F10提示,或者出现E—28提示BIOS结构与BOOT ROM不一致。此时便无法从芯片引导无盘WIN98。
解决方法是:更新BOOT ROM版本。另外,此类主板主要是AMI版本的BIOS,在AWORD BIOS版本上的主板则很少出现。
(二)工作站IP地址的获得
出现以下提示信息:
Intel UNDI,PXE-2.0(build 082)
Copyright(c)1977-2000 Intel corporation
By Toplan(Email:xyyxzh@163.net http://yxz.3322.net Tel:0790-6286558) RTL8139
Client Mac ADDR:00 E0 4c 39 41 4f
DHCP……片刻后工作站从服务器上获取IP地址出现
Client IP:192.168.0.35 MASK:255.255.255.0 DHCP IP:192.168.0.2 自动获取IP地址
故障2:若得不到IP地址,出现以下错误提示:
PXE-E61:Media test failure, check cable
PXE-M0F:Exiting PXE ROM.
说明:网线不通或连网设置有问题。
故障3:若此时出现如下提示:
PXE-51:NO DHCP or Proxy DHCP offers-were received.
PXE-0F:Exiting PXE ROM.
说明:DHCP配置错误,若在有盘站上能得到IP地址,说明060 class ID PXE client 错误。
解决的方法是:先删除DHCP服务,重新安装DHCP,并按正确方式配制。另外一种情况是,网络中存在其它的DHCP服务(例:WINGATE或SYSGATE等代理软件)此时,禁用它们的DHCP即可。
(三)下载启动映象
Auto-select: 自动选择启动映象
DOSUNDI
MTFPT…… 加载多点传送协议
BD……约十秒 以广播形式查找引导服务器
BOOT SERVER IP:192.168.0.2.
Requesting more DHCP options…
Downloading DOS boot diskette image…
在服务器端Configure ProxyDHCP server的Bootserver Discovery option中,不选中广播方式 Brordcast Discovery可使BD……十秒钟消除的等待时间,加快启动速度。
故障4:到这里若出现:
PXE-E11 ARP timeout
PXE-E12 could not locate boot Server
说明:工作站找不到下载映象的服务器。
处理方法:打开“PXE Configuration Utility”窗口—>右击proyDHCP Server—>configure proxyDHCP Server —>client options—>to Bootserver Discovery List—>检查Bootserver Discover(Boot Server Type/IP Address) 中对应的类型和IP地址是否正确。
故障5:若出现:
PXE-E32:TFTP open timeout
说明:服务器端的MTFTP服务没有运行。若在服务器启动时,工作站提出下传要求,此时服务器将不会自动运行MTFTP,此时必须手工启动,方法是:点击“开始”—> ”程序”—>”PXE PDK”—>“PXE PDK Configuration Program“打开PXE的配置界面,右击PXE服务器名,选Star/stop service……在M/tftp service中,单击“Start” 按钮。
故障6:工作站启动到
Requesting more DHCP options…
Downloading DOS boot diskette image… 时死机。
说明工作站下传启动映象时出错
主要原因有:
1)CMOS问题,由于,不同的主板设置不一样,所以设置项也不同。一般是时间参数的设置有问题。例在AWORD的BIOS中有些工作站的PNP/PCI CONFIGURATION 下的PCI Master 0 WS Write 设为Eanble 时,便会出现上述故障。
2)网线问题,由于网络传输速度在100M,网络的布线应遵循586A或586B标准。网线正确的排列是:橙白、橙、绿白、蓝、蓝白、绿、综白、综。
(四)实模式下的连接
工作站得到IP地址后,从服务器下载启动映象,启动映象加载到内存后,控制权限转到了工作站的虚拟A驱,系统开始引导。
1. 执行CONFIG.SYS中的命令
DOS=HIGH,UMB
DEVICE=A:/HIMEM.SYS/TESTMEM:OFF/V
DEVICE=A:/IFSHLP.SYS
Shell=a:/command.com a://p
2. 执行autoexec.bat
echo off
cd /winboot
call setvars.bat
seetvers.bat的内容为:
set windir=c:/windows 设置
set drive=c: 环境
set netxard=rtsnd.dos 变量
set server=pxefs
set share=pxefiles
call startnet.bat
startnet .bat的内容:
echo off
set comspec=a:/command.com
rem qualcnx command.com……
rem login name and a password……
..
set netbuff=124
set temp=a:/winboot
rem the next …….
rem to……
lh qualcnx lnguest lnguest
这个命令实现了实模式下的连网。用通用账号LNGUEST(默认口令也是LNGUEST)远程登陆到NT或W2K服务器上。所以我们必须在服务器首先创建用户LNGUEST,口令设为LNGUEST并设置充许远程登陆。我们通知常的做法是在服务器, 建立一个全局组PXECLASS,把用户LNGUEST和下面要用到的用户(如 P01、P02、P03.........等)都归于这个组。QUALCNX是通过WINDOWS自带的实模式下的网络命令NET.EXE来实现实模式下的连网的。它是内部通过调用以下命令来实现的:
1) SNAPSHOT.EXE /S /B:A /M:140 (说明:这个命令是设置实模式下的网络缓冲,其中124是通过上行(SET NETBUFF=124)的环境变量NETBUFF来传递的,它将设网络缓冲大小为140K)。
2) NET.EXE START IPX /Y >NUL (说明:这个命令实现在工作站上开始用IPX协议的网络服务,它会通过IPX协议实现工作站与服务器之间的连接。
3) NET.EXE LOGON LNGUEST LNGUEST/SAVEPW:NO /Y >NUL (说明:这个命令是用账号LNGUEST远程登陆到服务器上)
4) NET.EXE USE C: //服务器名/共享目录名 /Y (说明:这个命令把盘C连接到共享目录上,使C盘变成一个网络驱动器。这里的盘C是 通过上面的环境变量DRIVE来传递的;这里的服务名是通过上面的环境变量SERVER来传递的;这里的共享目录名是通过上面的环境变量SHARE来传递的。运行这个时如果网络缓冲设得太小会出现死机,并且这种死机现象是键盘还有反应。
5) NET.EXE TIME //服务器名 /SET /YES >NUL (说明:这个命令将会使工作站的时钟与服务器的时钟同步)。
6) NET.EXE CONFIG /YES >临时文件名 (说明:得到工作站的网络配制信息)。
7) QUALCNX除了通过WINDOWS自带的实模式下的网络命令NET.EXE来实现实模式下的连网外,它还要通过读取工作站的网卡节点地址、 及通过读取NETNAMES.DB(这个是在服务器共享目录下的WINDOWS目录中)文件获得无盘98入口目录来创建USERNAME.BAT的 批处理文件,这个批处理的主要功能是设置三个环境变量:USENAME(用户名)、HWA(网卡节点地址)及CHN(无盘98入口目录)。QUALCNX是否成功是实模式连网的关键。它将使用以下一些文件:
a) NET.EXE、PROTMAN.DOS、PROTMAN.EXE、SNAPSHOT.EXE及NDISHLP.SYS。注意,这些文件不能使用中文WINDOWS 98自带的,否则将会死机或实模式连网不能正常完成。一般用WINDOWS 97 或英文WINDOWS 98中的这些文件代替,
b) 最小注册表文件SYSTEM.DAT及PROTOCOL.INI。这二个反应了实模式下的网络配置信息,如果实模式下的网络配置不正确,它们反应的网络配置信息也不正确,同样会引起实模式连网不能正常完成。但要说明的是,它不会引任何的死机现象。
c) 实模式下的网卡驱动程序*.DOS(如8139的是RTSND.DOS)。
此时出现以下信息:
using 124KB net work buffer 使用网络124K工作绶冲区
loading network layers… 加载网络层
loading network client…. 加载网络客户
故障7:若此时死机或报7361错误提示
说明实模式下的驱动程序没有绑定网卡。
可以到本站下载有关十个文件,替换有盘WINDOWS目录下同名文件,并保证其无只读属性:然后,运行实模式下网卡安装向导“开始—>程序—>Qualystem—>Netword Card real mode components Install…”—>选择正确的网卡类型—>按“INSTALL”—>按FINSH完成。
为验证是否正确,应重启有盘站。并按F8进入DOS,输入以下命令:
(1) NEE START IPX 出现网卡地址,则说明正常
(2) NEE START WORKSTATION 提示输入用户名,则说明正常
看运行是否正确。若不正确,则说明你的WIN98版本可能不支持PXE(有些随机赠送的WIN98会出现此种现象)若命令正常,则在有盘站上重装LITENET,并重新生成启动盘,在服务器上重新生成映象文件。
故障8:若在Connecting C: TO file://PXEFS/PXEFILES时,要求输入密码,输入密码后,出现Error 5错误提示(PXEFS为服务器名,PXEFIES为共享目录)
说明:LNGUEST用户不存在,或LNGUEST密码。不是“LNGUEST”
此时,可以在服务器端重新设置一下此用户,并赋于应有的权限,重启无盘站即可。
Call A:/winboot/username.bat 设置用户环境变量
执行username.bat
set username=lnguest
set hwa=00e0 4c39414f
set CHN=p01
qautolog.exe 为自动登录程序
QAUTOLOG.EXE主要是实现自动登陆时所必须的。自动登陆的机理是:先用一个通用账号(如上面的LNGUEST是默认的)通过QUALCNX 在实模式下连网,QUALCNX又通过读取NETNAMES.DB(这个是在服务器共享目录下的WINDOWS目录中)文件获得无盘98入口目录来创建USERNAME.BAT的批处理文件设置环境变量CHN(无盘98入口目录),QAUTOLOG.EXE就是通过环境变量CHN,用它的值来做用用户名又一重新登陆到服务器来实现的。同时QAUTOLOG.EXE在A盘上生成二个文件:QAUTOLOG.BAT和QAUTOLOG.REG。 1)QAUTOLOG.BAT的功能是重新设置上面的三个环境变量:USENAME(用户名)、HWA(网卡节点地址)及CHN(无盘98入口目录)。2)QAUTOLOG.REG是一个注册表信息文件,它包含了在WINDOWS中用户自动登陆WINDOWS的一些注册项信息。它的主要作用是在WINDOWS 启动后不出现那个用户登陆的信息框还实现在WINDOWS中也自动登陆。
故障9:若执行以下步骤时:
connecting C: to file://pxefs/pxefiles with p01/p01 user name/password……
要求输入用户密码,无法自动登录。
说明P01的密码不是P01则无法自动登录。
按P01的密码可正常进WIN98,此时在服务器上将P01的密码改为P01时,即可自动登录。call qautolog.bat 重置用户环境变量
执行qautolog.bat
set chn=p01
set osername=p01
set hwa=00e04c39414f
set path=
set qath=c:/windows;……
set temp=c:/p01
set tmp=c:/p01
set home=c:/p01
c:
cd c:/p01
set comspec=c:/windows/commmand.com
A:/winboot/qualreg c:/p01 /r
Qualreg.exe
为dos实模式管理注册表工具,可以让win9x自动到指定文件夹中寻找启动注册表。
语法为:qulreg
/r替换system .DAT
/a替换所有的注册表 同时 system.dat和 user.dat替换
/s安全
PATH指定启动注册表路径。若指定路径上无则从共享WIN9X目录下复制一份。
Md c:/p01/tem>NUL
Directory already exists
Set temp=c:/p01/temp
Set tmp=c:/p01/temp
set comspec=c:/windows/command.com
set winbootdir=c:/widows
call c:/windows/usercmd.bat
执行usercmd.bat
path c:/windows;c:/windows/commmand;……
c:/windows/litentt
rem put…nam.exe
.
qnetname.exe
故障10:执行到此步时出现
Copying reference registry (system.dat )from C:/WINDOWS TO C:/P01
Error(Destination File):Permisino denied之后,死机。
说明该工作站对自己的目录无“完全控制”权限。
可以在服务器上用将此目录的的安全性权限设为完全控制权限附给该工作站用户。
call c:/p01/temp/qnbname.bat
执行qnbname.bat
set chn=p01
set HWA=00E04C39414F
rem plcase read……
rem pxe……
qset BD
显示
Boo t Drive was A
BootDrive is now c
rem …….
.
.regedit a:/winboot/qautolog.reg
rem………..
qrestall
choice/c:yn/t:y,03 Hit….
Qvmem s: pxefiles p01 建立虚拟目录S:用于存放交换文件WIN386.SWP
C:/windows/win.com
再次出现蓝天白云界面加载以下相关的文件,从实模式切换到保护模式下,进入WIN98界面
Vnetsup.vxd
Ndis.vxd
Ndis2sup.vxd
Javasup.vxd
C:/windows/system/vrtwd.386
C:/windows/system/vfixd.vxd
Vnetbios.vxd
Vredir.vxd
Dfs.vxd
Nwlink.vxd
Qshot.vxd
Server.vxd
Vpbiosd,vxd
Vmsgd.vxd
Msmouse.vxd
之后,进入WIN98图形界面,完成无盘启动过程
故障11:若在WIN.COM之后出现以下提示:
***SHELL***
Connet find or load requied File krnl386.exe the path was not found
原因: (1)A驱没有禁止。
(2)第二版本调整。
调整方法有两种:将第一版的NDIS.VXD替换共享目录下的windows/system下的同名文件;或使用Qualystem提供的“启动软盘补丁程序”(FTUNER),调整启动软盘并重新生成启动映象。
(3) 若本机以前可以正常运行,请检查各硬件设置是否更换,或改变了插槽。
(五)进入WIN98之后,可能出现的故障。
1、故障12:开机时,出现一个“性能警告”,内容为:计算机可能有病毒,计算机的主引导记录已修改,是否参阅有关此问题的相关信息?选择“否”后进入系统,能正常使用。怎样去掉这个提示?
答:有两种方法:
1)只要把USERCMD.BAT中的QrestAll命令前的rem去掉即可。
2)启动一台无盘工作站,例如P01 ,用“控制面板”将硬盘控制器删除,然后在服务器端将P01目录下的SYSTEM.dat复制到windows目录下。此时所有工作站便不会出现病毒警告了。
2、故障13:工作站正常启动后,过了二分钟左右,出现“假死机”现象。
答:所谓“假死机”现象就是:系统处于忙状态,此时鼠标能动,但不开任何窗口,再过四、五分钟后一切正常。这种情况一般为注册表问题,简单的解决方法是:在安装时不选中“文件和打印机共享”
3、故障14:运行较大软件时出现内存不足。
答:未设置虚拟内存,修改相应文件,添加一定的虚拟内存。
4、故障15:OFFICE2000无法正常使用。提示你重新安装,以一用户名(例如P01)登录无盘站,并将共享目录的完全控制权限附给此用户,运行OFFICE中一个程序按提示重新安装,安装完毕后,试一下各组件能否正常运行,若能正常,则关闭工作站。在服务器上,将P01目录下的二个注册表文件SYSTEM.DAT和USER.DAT复制到共享目录下的WINDOWS下,此时其它工作站即可使用OFFICE2000。
5、故障16:只能开一台工作站,开第二台时提示WIN386.SWP不能删除,提示它正在使用,按A键,能进入WIN98 ,运行时软件时提示内存不足,虚拟内存设置错误,例如:将虚拟内存设置在C:或将所有用户的虚拟内存设在同一个路径上了。
注意:QVMEM的正确语法为:QVMEM S: %SERVER% %USERNAME%
%SERVER%和%USERNAME%均为变量,不能将它改为实际的服务器名和用户名。
6、故障17:启动后,报Explorer错误无法正常使用。
将工作站个人目录下的Applecation Date目录,删除即可。