轻松实现PNP无盘WIN98-6-------PNP无盘系统的优化

第四节 PNP无盘系统的优化
在前面几个章中介绍了使用Litenet安装无盘WIN98的方法,Litenet自动为用户生一个启动软盘,用这个软盘,生成启动映象,才能以PXE方式启动无盘WIN98,因为该启动包在每次启动过程中,都要复制系统注册表,并且会进行二次登录,这样就降低了启动速度,在本节中将向读者详细介绍如何在不使 用任何Litenet的前提下,快速启动无盘WIN98,.如何使之能自动识别并安装各种PNP硬件,以及常见问题的解决方法.
一.修改已有启动包
1.删除不必要的文件
在Litenet生成的启动过程中,会要求插入E文的WIN98第二版的光盘,此时将会向软盘中写入一文件,在启动包中,这些文件,只有Litenet的一些程序才能用到,现在不使用Litenet的情况下,这些文件也相应可去掉,这些文件为:
KEYB.COM,KEYBOARD.SYS,KEYBRD2.SYS,SETVARS.BAT,TUNING.BAT
另处一些Litenet的可执行文件亦可去掉,这些文件为:
QAUTOLOG.EXE,QUALCNX.EXE,QUALREG.EXE
2.增加和替换部分文件
前面去掉了一些Litenet的文件,相应地也增加一些我们需要的文件,只有一个:SETMDIR.EXE,这个文件可以无盘WIN95的启动包中找到,再就是用WIN95A的驱动程序替换掉启动包中现有的RTL8139.SYS文件,因为用这个文件是不能实现网卡的PNP功能的,而网卡的PNP则PNP无盘WIN98中至关重要的一环.
3.修改Autoexec.bat文件将其内容修改如下
@echo off
CTTY NUL ;屏蔽所有的启动信息
cd \winboot
SET WINDIR=C:\WINDOWS
SET SERVER=Leither ;设置文件服务器名
SET SHARE=Pnp98 ;设置共享的C:所在目录
@md %WINDIR% > NUL
@md %WINDIR%\SYSTEM > NUL
COPY A:\WINBOOT\RTL8139.SYS %WINDIR%\SYSTEM > NUL
@CALL STARTNET.BAT ;转到启动网络部分
再新建STARTNET.BAT文件如下
@echo off
set comspec=a:\command.com
set temp=a:\winboot
SNAPSHOT /S /B:A /M:124
NET START IPX
NET LOGON ADMIN ADMIN PASS /YES /SAVEPW:NO ;以Admin份身登录,其口令为PASS
NET USE C: \%SERVER%%SHARE% /Y ;强行映射C:为共享目录,隐掉RAM盘
C:
set path=
path=%windir%;%windir%\command;%path%
set comspec=%windir%\command.com
setmdir /m /r:c:\Windows
set temp=%windir%\temp
set tmp=%windir%\temp
cd %windir%
Win.bat
4.编辑修改Win.bat文件
QSetBD C:
Net use D: \%Server%\SYS /y ;映射SYS共享目录为D:,在此目录存放WIN98 的源文件, ;和各种PNP硬件的驱动程序,以 方便 WIN98在启动时能 ;自动识别各种PNP硬件,并为之安装驱动程序
Net use E: \%Server%\MicroNet /y ;映射MICRONET共享目录为E:,该目录下含有所有的用户 ;目录,以方便管理登录时进行用户文件的管理
Net use F: \%Server%\APPL /y ;常 用的应用程序的安装目录
NET USE G: \%Server%\GAME /Y ;游戏
NET USE H: \%Server%\CAI /Y ;计算机辅助教学
Net use I: \%Server%\Film /Y ;电影库
Freemem
CTTY CON
%Windir%\Win.com
至此启动包部分已经完成可以放到文件服务器的PXE的启动包所在目录,但现在已经可以启动你的无盘WIN98了,你可以安装显卡声卡的的驱动程序了,但如果你这是在做模板系统(装好后可随处克隆),建议不要安装主板的驱程序,否则克隆不同芯片组的主板可能会出现一些意想不不到的问题.
5修改最小注册表,和批文件的优化
上步做好的无盘WIN98虽然可以做一些象有盘系统一样的事情,但只能限于一个用户使用,但你一启动进入后,会发现刚才射映的那些盘符全都不见了,也就是刚才在WIN.BAT中映射的网络盘在WINDOWS下全部失效,这是最小注册表的静态系统盘符不够而导致的,将下列段导入最小注册表,即可解决问题
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Network\Real Mode Net]
“transport”=“nwlink,ndishlp.sys"
“netcard”=“rtsnd.dos”
“LoadRMDrivers”=hex:00,00,00,00
“preferredredir”=“NWREDIR”
“Transition”=hex:01
“SetupN”=hex:01
“SetupNPath”=“C:\WINDOWS\”
“StaticDrive”=“C,D,E,F,G,H,I” ;此处可调整系统的静态盘符,可从C调到Z
通过上述调整后系统的盘符便可你自己要多少就有多少了,但这还不能解决多用户共用WINDOWS目录的问题,要圆满解决此问题,这里有两种方法:一是使用Litenet的QUALCNX.EXE文件,使用其能够自动对不同网卡号的计算机进行编号,在此基础上修改相应的批处理文件,便可实现;二是手动编程序,读出网卡的MAC地址,再根据现有的网卡数据库来确定机器编号,从而实现多用户登录,用这种方法,可真正实现不同用户登录,不用进行二次登录,方便管理,加快了启动的速度;下面将分别介绍这两种方法:
6.使用Litenet的的部分文件的方法
使用这种方法要重新编制现有的STARTNET.BAT和WIN.BAT文件,改写后的文件如下
STARTNET.BAT
@echo off
set comspec=a:\command.com
SET NETBUFF=124
set temp=a:\winboot
CTTY CON ;开启屏幕显示,以便调试
lh qualcnx ADMIN PASS >nul ;以用户名ADMIN,密码PASS进行登录,并生成USERNAME.BAT, ;此处可手工编程实现
CTTY NUL ;关闭屏幕显示,屏启动信息
call %TEMP%\username.bat ;USERNAME.BAT能将变量CHN设 置为用户名
QAUTOLOG ;此处为二次登录;手工编程可去掉
NET USE E: \%SERVER%%CHN% ;连接用户目录到E:
SET UserName=%CHN% ;设置用户名变量
SET Inited=NO ;设置初始化标志为NO
@if exist E:\WINDOWS\SYSTEM.DAT goto SKIPINIT ;判断用户目录下是否有SYSTEM.DAT文件,若 ;有则忽略初始化直接执行系统启动部分
CTTY CON ;开启屏幕显示,以便调试
@ECHO Starting Initialize Workstation %CHN%… ;显示初始化信息
CTTY NUL
SET PATH=
SET PATH=%windir%;%windir%\COMMAND
MD E:\WINDOWS ;在E:建立WINDOWS目录用于存放系统注册
MD E:\WINDOWS\TEMP ;在E:\WINDOWS下建立TEMP目录
set temp=E:\WINDOWS\TEMP ;将系统临时目录定向为E:\WINDOWS\TEMP
set tmp=E:\WINDOWS\TEMP
E:
lh %windir%\qualreg E:\WINDOWS /R /A ;用QUALREG复制并修改系统注册表到用户目录,此命 ;令可用COPY命代替,但后面WIN.BAT中带的部分就 ;不能去掉;此处可手工编程实现
set winbootdir=%windir%
SET Inited=YES ;设置已经完成初始化标志Inited为YES
CTTY CON ;开启屏幕显示功能
@Echo Workstation %CHN% Has Been Initiliazed! ;显示完成初始信息
:SKIPINIT ;忽略初始化跳转标号
C:
CTTY NUL
@%Windir%\Win.bat ;转到执行C:\WINDOWS\下的WIN.BAT文件
WIN.BAT文件内容如下:
set path=
path=%windir%;%windir%\command;%windir%\system
setmdir /m /r:E:\Windows ;注册表重定向到E:\WINDOWS下
set comspec=%windir%\command.com ;命令解释器重定向为C:\WI NDOWS\COMMAND.COM
IF %Inited%==NO GOTO SKIPINIT ;根据初始化标志,判断是否跳转
MD E:\我的文档 ;在E:\建站"我的文档"目录,用于存放文档
QPATCH %Windir%\Client.reg E:\Windows%CHN%.REG ;若在前面的STARTNET.BAT文件中用 ;了带的部分则此部分便可不要,后面带
也可以不要;此处可手 ;工编程实,亦可模仿华教的笨方法,用ECHO命令
*Regedit E:\Windows%CHN%.REG ;导入客户端配置注册表文件
*regedit %Windir%\Policies.POL ;导入系统策略文件
:SKIPINIT ;忽略初始化跳转标号
QSetBD %DRIVE% ;设置启动盘符为C:,此处暂无程序代替
Net use D: \%SERVER%\SYS /y ;映射SYS共享目录为D:,在此目录存放WIN98 的源文件, ;和各种PNP硬件的驱动程序,以 方便 WIN98在启动时能
;自动识别各种PNP硬件,并为之安装驱动程序
Net use F: \%Server%\APPL /y ;常 用的应用程序的安装目录
NET USE G: \%Server%\GAME /Y ;游戏
NET USE H: \%Server%\CAI /Y ;计算机辅助教学
Net use I: \%Server%\Film /Y ;电影库
NET USE H: \%Server%\Music /Y ;音乐库
Freemem ;消除内存中的A:可用QRESTALL代替
CTTY CON ;开启屏幕显示功能准备进入WINDOWS
%Windir%\Win.com ;运行WIN.COM,进行入WINDOWS;
至此,使用Litenet部分文件来达到不同用户登录共享WINDOWS目录无盘启动的方法,已经介绍完毕,在使用之前还必须将那些在STARTNET.BAT和WIN.BAT中使用过的文件复制到相应的目录中,否则系统将出现问题,或者不能启动,或者启动不正常…
7.自己手编程序
要手工编程序实现Litenet能实现的上述功能,就必须写出和Litenet功能相同或相似的程序出来,要用到手工编程的地方,笔者已经在上述方法已经有了注解,本书附录中将有,要用到的各种程序的源代码,用的是Tuobo Pascal v6.0,至于实现方法和上面大同小异,这里就不缀述了,下面将分别列出上面要用到的一些注册表文件的内容,这些文件在手工编程方法中是必不可少的.
以下为Client.reg文件的内容:
REGEDIT4
[HKEY_LOCAL_MACHINE\Software\Mpsoft]
[HKEY_LOCAL_MACHINE\Software\Mpsoft\Smenu]
“computernum”=”{%CHN%}"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Winlogon]
“AutoAdminLogon”=“{%CHN%}”
“DefaultUserName”=“{%CHN%}”
“DefaultPassword”=“{%CHN%}”
[HKEY_LOCAL_MACHINE\Network\Logon]
“DontShowLastUser”=dword:00000000
“UserName”=“{%CHN%}”
“password”=“{%CHN%}”
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Winlogon]
“DefaultUserName”=“{%USERNAME%}”
“AutoAdminLogon”=“1”
“DefaultPassword”=“{%USERNAME%}”
“DefaultDomainName”=“{%SERVER%}”
[HKEY_USERS.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]
“AppData”=“E:\Application Data”
“Recent”=“E:\Recent”
“Cache”=“E:\Temporary Internet Files”
“Cookies”=“E:\Cookies”
“History”=“E:\History”
“Personal”=“E:\我的文档”
[HKEY_USERS.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]
“AppData”=“E:\Application Data”
“Recent”=“E:\Recent”
“Cache”=“E:\Temporary Internet Files”
“Cookies”=“E:\Cookies”
“History”=“E:\History”
“Personal”=“E:\我的文档”
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProfileList\00]
“ProfileImagePath”=“E:\”
[HKEY_USERS.DEFAULT\Software\Microsoft\Windows\CurrentVersion\ProfileReconciliation\AppData]
“DefaultDir”=“E:\Application Data”
[HKEY_USERS.DEFAULT\Software\Microsoft\Windows\CurrentVersion\ProfileReconciliation\Cookies]
“DefaultDir”=“E:\Cookies”
[HKEY_USERS.DEFAULT\Software\Microsoft\Windows\CurrentVersion\ProfileReconciliation\History]
“DefaultDir”=“E:\History”
[HKEY_USERS.DEFAULT\Software\Microsoft\WAB\WAB4\Wab File Name]
@=“E:\Application Data\Microsoft\Address Book\{%USERNAME%}.wab”
[HKEY_USERS.DEFAULT\Identities{301ABAC0-E92B-11D3-943B-B04AD1204F5B}\Software\Microsoft\Outlook Express\5.0]
“Store Root”=“E:\Application Data\Identities\{301ABAC0-E92B-11D3-943B-B04AD1204F5B}\Microsoft\Outlook Express\”
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName]
“ComputerName”=“{%USERNAME%}”
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]
“ComputerName”=“{%USERNAME%}”
“Workgroup”=“MicroNet”
“Comment”=“MicroNet PXE Client”
“StaticVxD”=“vnetsup.vxd”
“Start”=hex:00
“NetClean”=hex:01
以下为Policies.POL文件的内容
REGEDIT4
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Network\Real Mode Net]
“StaticDrive”=“C,D,E,F,G,H,I”
[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\Tcpip\Parameters]
“DisableDHCPMediaSense”=dword:00000001
[HKEY_LOCAL_MACHINE\Config\0001\Enum\ACPI*PNP0700\0]
“FloppyFastBoot”=hex:01,00,00,00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices]
“AutoLog”=“RUNDLL32.EXE TWEAKUI.CPL,TweakLogon”
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Net\0000]
“DevLoader”=“*ndis”
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies]
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Network]
“DisablePwdCaching”=dword:00000001
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Ratings]
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
“LinkResolveIgnoreLinkInfo”=dword:00000001
“NoFolderOptions”=hex:01
“NoDriveTypeAutoRun”=hex:95,00,00,00
@=hex:00,00,00,00
“NoRecentDocsHistory”=hex:01,00,00,00
“NoFavoritesMenu”=hex:01,00,00,00
“NoRecentDocsMenu”=hex:01,00,00,00
“NoDrives”=dword:0000002d
“CDRAutoRun”=hex:00,00,00,00
“NoDesktop”=dword:00000000
“NoNetHood”=dword:00000001
“NoSetTaskbar”=dword:00000001
“NoSetFolders”=dword:00000001
“LinkResolveIgnoreLinkInfo”=dword:00000001
“NoLogoff”=hex:01,00,00,00
“NoActiveDesktopChanges”=hex:01,00,00,00
“NoFind”=hex:01,00,00,00
“NoRun”=hex:01,00,00,00
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System]
“DisableRegistryTools”=dword:00000001
[HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Main]
“Default_Page_URL”=“http://www.163.com”;
“CompanyName”=“全微网络有限公司”
“Wizard_Version”=“5.00.2614.3500”
“FullScreen”=“yes”
“Window Title”=“全微网络,无盘先锋”

最垃圾的文章!

为什么啊,很好啊。

这些事我是我试过的文章!还好用。。。。

呵呵,我根据此文做了自己的启动包,非常感谢。