當前位置:編程學習大全網 - 源碼下載 - 關於PnP技術的問題

關於PnP技術的問題

這題在那見過 。。考試題?

PNP技術介紹

PNP是由Microsoft提出的,英文Plug and play的縮寫,中譯即插即用;意思是系統自動偵測周邊設備和板卡並自動安裝設備驅動程序,作到插上就能用,無須人工幹預,是Windows自帶的壹項技術.早在兩年前就已應用到我們的系統中,大大提高了我們系統的兼容性、易用性和易維護性,現在已成為無盤技術的基本要求。

PNP無盤介紹

做過無盤95網絡的網友都知道,原來的rpl 95安裝過程是非常麻煩的,稍有不註意,安裝就會失敗,如果在妳的網絡中三種以上的配置,如果是兩年前我壹定會建議妳這樣的網絡最好不要做無盤網絡,因為rpl 95對於不同配置的工作站,要求每種工作站配置都要安裝和設置壹遍,原來的安裝技術真讓人受不了, 連微軟都放棄了這種技術,後來針對做無盤中存在的問題,國外Intel、3com等公司開發出的新的pxe 技術來支持安裝無盤9x 系統,國內比較出名的張裕飛開發的rpl98x 和啟明星公司的pxe 和rpl 無盤98、華教的PXE及RPL技術。客觀來說pxe 技術要比rpl 技術好用壹些,但pxe 存在對硬件兼性差的缺點,即有些主板和網卡不能使用pxe 技術,自從win98出來以後,除了pxe可以支持98外,rpl基本上不支持無盤98了,於是有了假98(也就是啟動畫面是98的界面,這只是替換了壹個logo.sys文件而已)我們的無盤技術就是吸引pxe 和rpl 技術的優點開發出點的,做出的無盤98是真正的無盤98,使得這套無盤具備了pxe 技術的穩定、高效,同時又具有rpl 的良好兼容性。現在越來越多的網吧選用了我們的無盤系統。

PNP無盤特點

追月網絡廣大網吧老板提供全套網絡解決方案,追月網絡技術工程師為妳設身處地的著想,在網吧管理,節約初裝成本,節約運行成本方面做了大量的工作,現在本司全面提供壹套適合於所有網吧的無盤解決方案,這套方案具有以下五個優點可以用“多、快、好、省、易”來概括。

多;我們為您提供壹套專業級別的80G的網絡在線遊戲+80G的硬盤遊戲+80G的影視節目。我們還時刻升級系統使您的玩家永遠感受最新的遊戲刺激和影視享受。

快; CS遊戲(反恐精英)建網只要20秒,加入遊戲只要18秒,CS達到專業高手要求的每秒90幀。我們修改程序使系統更穩定,調整參數使遊戲更快速,您的玩家更舒心。單臺服務器帶60臺無盤站運行速度可與有盤站媲美。如使用千兆換機及千兆網卡(本站提供以百兆的價格享受千兆的速度,壹臺24口千兆交換機(帶兩個千兆口及兩個千兆插槽)加壹塊網卡僅賣2200元)帶80臺機與有盤站比在速度上沒有什麽差別。

好; 有盤站讓妳每天都在手忙腳亂的克隆硬盤,安裝程序,設置系統。我們系統內含自動還原功能,可10秒自動修復系統,不怕隨意開關機、誤操作、甚至破壞,有優異的系統穩定性和安全性。遊戲的安裝和升級僅需壹次。采用最新的網吧管理記費軟件,網吧收支壹目了然。最重要的如果有硬盤經常不正常開關機使硬盤很快損壞。

省; 我們構造專業網吧,倡導高檔配置,豪華服務。根據我們建網吧的經驗和實踐,深感網吧只有專業才有市場,高檔才有競爭力,豪華才有效益。追月網絡可以讓您省下硬盤投入去提升妳的機器檔次,裝修您的網吧環境。而我們則使您的網吧系統更專業,讓臟亂黑差的業余網吧無生存之地。整體提升廣大網吧形象,使網吧行業進入良性循環的軌道。

易;追月無盤網絡可以做到零維護,只要服務器上安裝好後,不需要專業人員維護,不怕破壞,在安裝新軟件及遊戲時更加方便,只要在壹臺機上安裝好之後,重啟其他機子按住設定的壹個鍵,5分鐘就可以全部安裝好,在有盤機上要壹臺壹臺機的安裝,費時費力。

PNP無盤98攻略

Windows與BIOS 如何使用pnp

什麽是pnp

即插即用(PNP)的由來

對於許多PC用戶而言,如果需要為妳的PC增加壹些新的功能,比如欣賞CD唱盤、看VCD影碟、收發傳真等等,那麽就得為妳的PC機增加壹些新的設備,如聲卡、CD-ROM、MPEG硬件解壓卡、FAX/MODEM傳真卡等壹系列新設備,通常而言,安裝新設備的過程為:

(1) 按照所購買設備的說明來設置開關和跳線。

(2) 正確地將新設備按規定的要求插入主板擴展槽中。

(3) 安裝隨新設備所配的驅動程序。

(4) 重新引導系統。

然後,妳很有可能得花費大量 的時間和精力來處理安裝過程中所出現的種種問題。比如手工改變設備的開關或跳線,跟蹤CONFIG。SYS文件以解決內部駐留程序的沖突等等。原因在於壹臺PC機至少有壹個或者多個總線設備(BUS DEVICE),而多個總線設備則有可能***享相同的系統總線(SYSTEM BUS),於是這就不可避免地產生硬件資源上的沖突。輕者是新安裝的設備無法使用或系統無法啟動,嚴重的話就會導致系統的崩潰。怎樣去解決這個問題?人們希望系統應該能提供對底層硬件資源包括IRQ(中斷請求)、I/O(輸入/輸出)端口、DMA(直接內存存取)通道以及內容等的智能管理能力,免除用戶因安裝新的硬件設備而帶來的煩惱。

隨著微軟推出WINDOWS 95/98,它也宣傳了WINDOWS95/98為用戶提供的底層硬件資源的智能管理能力,即WINDOWS95/98具有即插即用(PNP:Plug and Play)的功能,由此即插即用才為人們廣泛重視。

即插即用這個概念很久以前就已被提出,它的標準則始於幾種洞庭湖的解決PC硬件配置問題的方案,其中包括IBM的微通道總線以及COMPAQ公司在EISA(擴展標準工業系統總線)上的不懈努力。MICROSOFT制訂即插即用的規範的時間從1991年才開始,促使MICROSOFT發展即插即用是APPLE公司在其廣告中宣稱MICROSOFT WINDOWS系統列在易於配置和使用方面遠遠比不上APPLE公司的MAC OS操作系統,APPLE公司的MACINTOSH微機上修改系統的設置簡單到妳只需插入或拔出擴展卡,機器就可以在其SYSTEM系列操作系統下很好地工作,從而省去了再設置開關、跳線或分配系統資源的煩惱,可以說是現階段下完全的即插即用。傳說固然歸於傳說,然而歸根結底的原因還是因為技術的進步使得MICROSFT欲壟斷個人PC機的操作系統。而欲使系統在易於使用上有壹個飛躍,那麽它就必須解決多個總線設備***享系統總線時所帶來的系統底層資源的分配和再分配問題。MICROSFOT 同INTEL和COMPAQ的結盟促使其在1993年以後相繼頌了即插即用的規範,包括其他總線類型如ISA、EISA、PCMCIA、PCI、VESA以及SCSI等,但是就現階段而言,完全意義上的即插即用恐怕還需要壹段時間才能夠進壹步完善。

MICROSFOT在WINDOWS FOR WORKGROUPS和WINDOWS NT上就已開始嘗試壹些設備檢測和配置方面的試驗。在WINDOWS FOR WORKGROUPS中,操作系統可自動檢測出視頻適配卡、鼠標、鍵盤及網絡適配卡等的類型。WINDOWS NT則更進壹步,它可以檢測出SCSI設備及其他壹些硬件,到了WINDOWS95/98,則幾乎可以實現全自動的安裝和系統的動態重配置。盡管WINDOWS95不可能對所有舊設備都能正確地識別,甚至有時也會求助於用戶,但就即插即用本身而言,這已經是壹個真正的飛躍了。現在的WIDNOWS98/2000在PNP方面又得到進壹步的發展。

第二節 以非PNP方式驅動網卡

1.查看系統是否已經偵測到網卡

進入系統屬性,點選設備管理器,查看其中的未知設備表中是否有"PCI Ethernet Controler",若沒有則說WIN98未檢測到妳的網卡,網卡可能未正確安裝,或已經損壞,如圖5-02,其中的未知設備為正常情況下顯未的尚未驅動的網卡。

2.保存現有的網卡的註冊表項

單擊“開始”,選取“運行”,輸入“regedit”,進入註冊表編輯器,找到如下主鍵

[HKEY_LOCAL_MACHINE\Enum\PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10]

將其導出,存為文件PCI8139.REG

3.替換網卡驅動程序

找到以前的版本的WIN95A的RTL8139網卡的驅動,將其中的RTL8139.SYS復制到網卡盤上的WIN98目錄,覆蓋現有NDIS5的RTL8139的網卡驅動程序。

4.安裝替換後的網卡驅動程序

按正常的方式安裝已經替換的網卡驅動程序,仍使用網卡盤上的WIN98目錄,安裝好再添加其它的網絡協議如IPX,但建議不要安裝那些根本用不的上的網絡協議,如NETBETUI,MS DLC,因為如非必要這些協議是用不上,裝了反而會影響網的速度,裝好後新啟動計算機。

5.修改註冊表項

運行Regedit進入註冊表編輯器,找到如下方鍵

[HKEY_LOCAL_MACHINE\Enum\PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10]

將其導出,存為PNP8139.REG,編緝PNP8139.REG文件,將其中主鍵中的PCI、VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10和BUS_00&DEV_08&FUNC_00分別以ROOT、NET和0000替換並將PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10\BUS_00&DEV_08&FUNC_00\LogConfig]

下的鍵值刪除,並保存,以下為修改前後的範例文件的內容

修改前的PNP8139.REG

REGEDIT4

[HKEY_LOCAL_MACHINE\Enum\PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10]

[HKEY_LOCAL_MACHINE\Enum\PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10\BUS_00&DEV_08&FUNC_00]

"Capabilities"=hex:14,00,00,00

"HardwareID"="PCI\\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10,PCI\\VEN_10EC&DEV_8139&SUBSYS_813910EC,PCI\\VEN_10EC&DEV_8139&REV_10&CC_0200,PCI\\VEN_10EC&DEV_8139&CC_020000,PCI\\VEN_10EC&DEV_8139&CC_0200"

"CompatibleIDs"="PCI\\VEN_10EC&DEV_8139&REV_10,PCI\\VEN_10EC&DEV_8139,PCI\\VEN_10EC&CC_020000,PCI\\VEN_10EC&CC_0200,PCI\\VEN_10EC,PCI\\CC_020000,PCI\\CC_0200,PCI\\VEN_10EC&DEV_8139&SUBSYS_813910EC"

"DeviceDesc"="Realtek RTL8139(A/B/C/8130) PCI Fast Ethernet NIC"

"HWRevision"="016"

"Class"="Net"

"ConfigFlags"=hex:10,00,00,00

"ClassGUID"="{4d36e972-e325-11ce-bfc1-08002be10318}"

"Driver"="Net\\0000"

"Mfg"="Realtek"

[HKEY_LOCAL_MACHINE\Enum\PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10\BUS_00&DEV_08&FUNC_00\LogConfig]

"0000"=hex:00,04,00,00,00,30,00,00,10,00,00,00,04,00,00,00,03,00,00,00,ff,ff,\

00,00,30,00,00,00,01,00,00,00,01,00,14,00,00,00,80,d4,ff,00,80,d4,01,00,00,\

00,00,ff,ff,ff,00,01,00,00,00,00,00,00,ff,ff,ff,ff,01,00,00,00,14,00,00,00,\

24,00,00,00,02,00,00,00,01,00,0c,00,00,e8,ff,e8,00,00,ff,00,00,ff,00,01,00,\

00,ff,ff,00,00,ff,00,10,00,00,00,30,00,00,00,01,00,00,00,01,00,14,00,00,c0,\

0c,00,ff,5f,0d,00,00,00,00,00,ff,ff,ff,ff,00,a0,00,00,00,c0,0c,00,ff,5f,0d,\

00,00,00,00,00,ff,00,00,00,00,00,00,00

[HKEY_LOCAL_MACHINE\Enum\PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10\BUS_00&DEV_08&FUNC_00\Bindings]

"NWLINK\\0000"=""

"MSTCP\\0000"=""

修改後的PNP8139.REG

REGEDIT4

[HKEY_LOCAL_MACHINE\Enum\ROOT\NET]

[HKEY_LOCAL_MACHINE\Enum\ROOT\NET\0000]

"Capabilities"=hex:14,00,00,00

"HardwareID"="PCI\\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10,PCI\\VEN_10EC&DEV_8139&SUBSYS_813910EC,PCI\\VEN_10EC&DEV_8139&REV_10&CC_0200,PCI\\VEN_10EC&DEV_8139&CC_020000,PCI\\VEN_10EC&DEV_8139&CC_0200"

"CompatibleIDs"="PCI\\VEN_10EC&DEV_8139&REV_10,PCI\\VEN_10EC&DEV_8139,PCI\\VEN_10EC&CC_020000,PCI\\VEN_10EC&CC_0200,PCI\\VEN_10EC,PCI\\CC_020000,PCI\\CC_0200,PCI\\VEN_10EC&DEV_8139&SUBSYS_813910EC"

"DeviceDesc"="Realtek RTL8139(A/B/C/8130) PCI Fast Ethernet NIC"

"HWRevision"="016"

"Class"="Net"

"ConfigFlags"=hex:10,00,00,00

"ClassGUID"="{4d36e972-e325-11ce-bfc1-08002be10318}"

"Driver"="Net\\0000"

"Mfg"="Realtek"

[HKEY_LOCAL_MACHINE\Enum\ROOT\NET\0000\Bindings]

"NWLINK\\0000"=""

"MSTCP\\0000"=""

6.導入網卡註冊項

導入PNP8139.REG文件,刪除註冊表中原有的網卡註冊項即

[HKEY_LOCAL_MACHINE\Enum\PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10]

同時導入PCI8139.REG文件,導入這個文件是為了讓WINDOWS啟動時不再把網卡作為壹個新的PNP的設備來看待,而作為壹個已有的未知設備,就不會再去尋找該設備的驅動程序,這樣,在無盤啟動時就不會因更新驅動程序而發生網絡中斷;而前面導入的PNP8139.REG文件是沒有中斷信息的,我們的目的也就是讓WINDOWS把網卡當作壹種非PNP設備來驅動,下次WINDOWS再次找到相同的硬件設備,但中斷信息卻不同時,就可以將該設備作為壹個非PNP設備,調用現有的驅動程序,來強行驅動該設備,在找不到新的驅動程序時,就不會更新現有的驅動程序,這樣在任何主板上的任何可用插槽上,WINDOWS都可以強行驅動這種網卡,這樣就實現了無盤WIN98對這種網卡的即插即用,在換主板或者是換插槽時就不會出現"Can't Find Krnl386.exe"之類的錯誤,而不能進入WINDOWS的GUI界面了。

7.清除現有的網卡的驅動信息

將註冊表中,WIN98系統目錄中所有關於RTL8139的驅動信息,並將能找到網卡驅動信息的搜索路徑清除掉重啟系統。

至此此硬盤系統已經對任何主板的任何可用的PCI插槽中的網卡進行強行驅動,並正常 連接網絡

第三節 上傳本地文件

上壹節已經裝好可驅動基於本地硬盤的PNP系統下面就是要借助於Litenet的上傳 工作,將本地文件上傳至文件服務器

1.修改AUTOEXEC.BAT文件,其內容如下

@EHCO OFF

SET WINDIR=C:\WINDOWS ;設置WINDOWS所在目錄

SET DRIVE=C: ;設置WINDOWS所在驅動器

SET NETCARD=RTSND.DOS ;設置實模下的網卡驅動程序

SET SERVER=LEITHER ;設置文件服務器的NETBIOS名稱

SET SHARE=PNP98 ;設置上傳的目標目錄,即其享的WINDOWS目錄

2.建立、導入SNAPSOT.REG文件,並復制SNASHOT,VXD文件

以下為SNAPSHOT.REG內容

REGEDIT4

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\SNAPSHOT]

"NetClean"=hex:01

"Start"=hex:00

"StaticVxD"="SNAPSHOT.VXD"

建立SNAPSOT.REG文件後即可導入註冊表中,隨後將SNAPSHOT.VXD文件復制C:\WINDOWS\SYSTEM目錄下。

3.建立Litenet.reg文件如下

REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Qualystem\LiteNET PC]

"Step"="2"

"Version"="1.15"

導入Litenet.reg文件,這壹步主要是為了正常使用Litenet的上傳 工具,因為QSYNCH.EXE在運行是要判斷系統的中的是否已經安裝Litenet,導入這個文件便可以騙過QSYNCH.EXE,使它不鬧別扭。

4.復制Litenet的所用文件到WINDOWS目錄下,重新啟動系統,運行Qsynch.exe將本地文件上傳 。

5.用WIN95A的驅動程序RTL8139.SYS替換用Litenet制作的軟件中的RTL8139.SYS.

如果妳到這裏壹直很順利,那麽恭喜妳,妳的客啟端的WIN98已經安裝完成,用現有的啟動包已經可以啟動真正的PNP的無盤WIN98了,妳可以在無盤下安裝顯卡和聲卡的驅動程序了!

第四節 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:\WINDOWS\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:\\Cook

  • 上一篇:aBey是什麽貨幣?
  • 下一篇:HTML代碼和CSS代碼有什麽區別大神們幫幫忙
  • copyright 2024編程學習大全網