分享

PnP PNP是Plug-and-Play(即插即用)的缩写

 兴安书馆 2012-03-04

PNP是Plug-and-Play(即插即用)的缩写。它的作用是自动配置(低层)计算机中的板卡和其他设备,然后告诉对应的设备都做了什么。PnP的任务是把物理设备和软件(设备驱动程序)相配合,并操作设备,在每个设备和它的驱动程序之间建立通信信道。换种说法,PnP分配下列资源给设备和硬件:I/O地址、IRQ、DMA通道和内存段。

编辑摘要
PNP:Plug and Play,即插即用,它是Window98的一个重要技术特性。所谓即插即用是指将符合PNP标准的PC插卡等
(图)PnPPnP
外围设备安装到电脑时,操作系统自动设定系统结构的技术。这就是说,当用户安装新的硬件时,不必再设置任何跳线器开关,也不必用软件配置中断请求(IRQ)、内存地址或直接存储器存取(DMA)道,Windows98会向应用程序通知硬件设备的新变化,并会自动协调IRQ、内存地址和DMA通道之间的冲突。

PnP - 解析


PnP是即插即用的意思。
在PnP技术出现之前,中断和I/O端口的分配是由人手工进行的,您想要这块声卡占用中断5,就找一个小跳线在卡上标着中断5的针脚上一插。这样的操作需要用户了解中断和I/O端口的知识,并且能够自己分配中断地址而不发生冲突,对普通用户提出这样的要求是不切实际的。
PnP技术就是用来解决这个问题的,PnP技术将自动找到一个不冲突的中断和I/O地址分配给外部设备,而完全不需要人工干预。但是如果您读懂了上面关于中断冲突的那一部分,您就应该了解,在中断资源非常紧张的今天,即使是PnP技术,也不一定能找到一个合适的中断分配给您刚刚插入的设备,所以尽量释放那些没有必要的中断,对PnP正常工作也是很有帮助的。
有些PnP冲突来源于主板的设计。许多主板上有一个AGP插槽、五个PCI插槽和两个ISA插槽,而其中的AGP插槽一般是和一个PCI插槽共用一个中断的,也就是这两个槽的中断可以是合理的任何值,但必须是相同的,当您在AGP槽上插了显示卡,如果您还在同中断的PCI槽上插了一块声卡的话,就一定会产生中断冲突。对大多数五个PCI插槽的主板而言,第一和第五插槽是和AGP槽共用中断的,第四插槽是和USB共用中断的,虽然可以在BIOS设置中强制给每个PCI槽位分配中断,但这对于大多数用户来说都是一个比较困难的事情,而且由于第二和第三插槽没有和其它设备共用中断,所以,在大多数情况下,显卡插在AGP槽上,声卡和其它PCI插卡,比如网卡,应该插在第二和第三PCI插槽上,也就是从AGP插槽向ISA插槽方向数的第二和第三PCI插槽上,这样一般都不用改变BIOS中的PnP设置,就能让这些卡正常工作。
在BIOS中“PNP/PCI CONFIGRATION”中有一条“PNP OS Installed”一项,应该设为“Yes”,让您的Windows能够得到BIOS的PnP设置。

PnP - PnP的应用

  即插即用是一个用于自动处理PC机硬件设备安装的工业标准,由Intel和Microsoft联合制定。通常,当您需要安装新的硬件时,往往要考虑到该设备所使用的DMA和IRQ资源,以避免设备之间因竞争而出现冲突,甚至导致机器无法正常工作。
  有了“即插即用”(PnP),它使得硬件设备的安装大大简化,您无须再做跳线,也不必使用软件配置程序,但是您所安装的新硬件必须是符合PnP规范的,否则是行不通的。

  即插即用代表着最近接口技术的主要进展。但它不是一个全新的概念。它是MCA与EISA接口设计的关键特性,但是MCA和EISA有限的吸引力使得它没有成为行业标准。因此,主流PC用户仍然为I/O地址,DMA通道以及IRQ的设置担忧。早期基于PCI的系统也使用了一种PnP配置的方式,但由于没有提供PCI插卡和ISA插卡冲突的管理措施,许多用户仍然为一些配置问题而烦恼。但现在即插即用规范可用于基于ISA、PCI、SCSI、IDE和PCMCIA的系统中,所有新计算机的购买者不用再担心硬件设置了。

  为了使即插即用正常工作,需要以下的部件:
  ·即插即用硬件。
  ·即插即用BIOS。
  ·即插即用操作系统。
  这些部件都要求兼容即插即用,意味着它们要服从即插即用规范。

  1.硬件部件
  硬件部件包括计算机系统与适配卡。这并不意味着在即插即用系统中不能使用较老的ISA适配卡。可以使用这些插卡,实际上,即插即用BIOS自动围绕存在的遗留部件重新指定即插即用兼容插卡的设置。另外,许多后期的ISA插卡也可以转换到即插即用模式下。即插即用适配卡同系统BIOS和操作系统通信来传播关于所需系统资源的信息。然后,BIOS和操作系统解决冲突(如果有的话)并通知适配卡应当使用哪些特定资源。适配卡便改变其自身的配置以使用特定的资源。

  2.BIOS部件
  BIOS部件意味着多数较老PC机的使用者需要升级他们的BIOS,或者购买新的具有PnP BIOS的机器。BIOS要成为兼容的,必须支持13个附加的系统功能调用,它们可以被即插即用系统的操作系统部件使用。PnP BIOS规范由Compaq、Intel和Phoenix Technologies共同发展。

  BIOS的PnP特性通过一个扩展的POST实现。BIOS负责鉴别、隔离和配置PnP适配卡。BIOS通过以下的步骤实现这些任务:

  (1)禁用所有主板和适配卡上配置的设备。
  (2)鉴别所有PnP PCI或ISA设备。
  (3)为端口、IRQ、DMA及存储器生成一个最初的资源分配图。
  (4)启用I/O设备。
  (5)扫描ISA设备的ROM。
  (6)配置最初的载人程序设备,用于后来启动系统。
  (7)通过通知分配了哪些资源来启用可配置的设备。
  (8)开始载人启动程序。
  (9)将控制传递给操作系统。

  3.操作系统部件
  操作系统部件可以通过多数新系统实现,如Windows 9x/Me/2000/XP。有时,系统供应商为其指定的硬件提供了对操作系统的扩展,如在笔记本系统中更是如此。如果系统需要,要保证这些扩展已经安装在系统中。

  通知用户不能由BIOS解决的冲突是操作系统的责任。依靠使用操作系统的经验,用户可以手工设置冲突的插卡,或者关闭系统并在插卡上设置开关。当系统重启后,系统检测保持的(或新的)冲突,这些都提示用户要注意。通过这样的过程,可以解决所有的系统冲突。

PnP - PnP无盘

做过无盘95网络的网友都知道,原来的rpl95安装过程是非常麻烦的,稍有不注意,安装就会失败,如果在你的网络中三种以上的配置,如果是两年前我一定会建议你这样的网络最好不要做无盘网络,因为rpl95对于不同配置的工作站,要求每种工作站配置都要安装和设置一遍,原来的安装技术真让人受不了,连微软都放弃了这种技术,后来针对做无盘中存在的问题,国外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 - PNP无盘特点

多:能轻松提供一套专业级别的80G的网络在线游戏+80G的硬盘游戏+80G的影视节目。

  快:CS游戏(反恐精英)建网只要20秒,加入游戏只要18秒,CS达到专业高手要求的每秒90帧。我们修改程序使系统更稳定,调整参数使游戏更快速,您的玩家更舒心。单台服务器带60台无盘站运行速度可与有盘站媲美。如使用千兆换机及千兆网卡(本站提供以百兆的价格享受千兆的速度,一台24口千兆交换机(带两个千兆口及两个千兆插槽)加一块网卡仅卖2200元)带80台机与有盘站比在速度上没有什么差别。

  好:有盘站让你每天都在手忙脚乱的克隆硬盘,安装程序,设置系统。无盘系统内含自动还原功能,可10秒自动修复系统,不怕随意开关机、误操作、甚至破坏,有优异的系统稳定性和安全性。游戏的安装和升级仅需一次。采用最新的网吧管理记费软件,网吧收支一目了然。最重要的如果有硬盘经常不正常开关机使硬盘很快损坏。

  省: 构造专业网吧,倡导高档配置,豪华服务,根据网吧构建的经验和实践,网吧只有专业才有市场,高档才有竞争力,豪华才有效益。可无盘系统以让您省下硬盘投入去提升你的机器档次,装修您的网吧环境。而我们则使您的网吧系统更专业,让脏乱黑差的业余网吧无生存之地。整体提升广大网吧形象、使网吧行业进入良性循环的轨道。

  易:无盘网络可以做到零维护,只要服务器上安装好后,不需要专业人员维护,不怕破坏,在安装新软件及游戏时更加方便,只要在一台机上安装好之后,重启其他机子按住设定的一个键,5分钟就可以全部安装好,在有盘机上要一台一台机的安装,费时费力。

PnP - PNP无盘98攻略

 对于许多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方面又得到进一步的发展。

  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"=""

  "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"=""

  "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了,你可以在无盘下安装显卡和声卡的驱动程序了!

  在前面几个章中介绍了使用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: http://www.360doc.com/file://%25server%25/%25SHARE%25 /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: http://www.360doc.com/file://%25server%25/SYS /y ;映射SYS共享目录为D:,在此目录存放WIN98 的源文件, ;和各种PNP硬件的驱动程序,以 方便 WIN98在启动时能 ;自动识别各种PNP硬件,并为之安装驱动程序

  Net use E: http://www.360doc.com/file://%25server%25/MicroNet /y ;映射MICRONET共享目录为E:,该目录下含有所有的用户 ;目录,以方便管理登录时进行用户文件的管理

  Net use F: http://www.360doc.com/file://%25server%25/APPL /y ;常 用的应用程序的安装目录

  NET USE G: http://www.360doc.com/file://%25server%25/GAME /Y ;游戏

  NET USE H: http://www.360doc.com/file://%25server%25/CAI /Y ;计算机辅助教学

  Net use I: http://www.360doc.com/file://%25server%25/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: http://www.360doc.com/file://%25server%25/%25CHN%25 ;连接用户目录到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: http://www.360doc.com/file://%25server%25/SYS /y ;映射SYS共享目录为D:,在此目录存放WIN98 的源文件, ;和各种PNP硬件的驱动程序,以 方便 WIN98在启动时能

  ;自动识别各种PNP硬件,并为之安装驱动程序

  Net use F: http://www.360doc.com/file://%25server%25/APPL /y ;常 用的应用程序的安装目录

  NET USE G: http://www.360doc.com/file://%25server%25/GAME /Y ;游戏

  NET USE H: http://www.360doc.com/file://%25server%25/CAI /Y ;计算机辅助教学

  Net use I: http://www.360doc.com/file://%25server%25/Film /Y ;电影库

  NET USE H: http://www.360doc.com/file://%25server%25/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:

PnP - PNP的由来

对于许多PC用户而言,如果需要为你的PC增加一些新的功能,比如欣赏CD唱盘、看VCD影碟、收发传真等等,那么就得为你的PC机增加一些新的设备,如声卡、CD-ROM、MPEG硬件解压卡、FAX/MODEM传真卡等一系列新设备,通常而言,安装新设备的过程为:

  (1)按照所购买设备的说明来设置开关和跳线。

  (2)正确地将新设备按规定的要求插入主板扩展槽中。

  (3)安装随新设备所配的驱动程序。

  (4)重新引导系统。

  然后,你很有可能得花费大量的时间和精力来处理安装过程中所出现的种种问题。比如手工改变设备的开关或跳线,跟踪CONFIG。SYS文件以解决内部驻留程序的冲突等等。原因在于一台PC机至少有一个或者多个总线设备(BUSDEVICE),而多个总线设备则有可能共享相同的系统总线(SYSTEMBUS),于是这就不可避免地产生硬件资源上的冲突。轻者是新安装的设备无法使用或系统无法启动,严重的话就会导致系统的崩溃。怎样去解决这个问题?人们希望系统应该能提供对底层硬件资源包括IRQ(中断请求)、I/O(输入/输出)端口、DMA(直接内存存取)通道以及内容等的智能管理能力,免除用户因安装新的硬件设备而带来的烦恼。

  随着微软推出WINDOWS95/98,它也宣传了WINDOWS95/98为用户提供的底层硬件资源的智能管理能力,即WINDOWS95/98具有即插即用(PNP:PlugandPlay)的功能,由此即插即用才为人们广泛重视。

  即插即用这个概念很久以前就已被提出,它的标准则始于几种洞庭湖的解决PC硬件配置问题的方案,其中包括IBM的微通道总线以及COMPAQ公司在EISA(扩展标准工业系统总线)上的不懈努力。

  MICROSOFT制订即插即用的规范的时间从1991年才开始,促使MICROSOFT发展即插即用是APPLE公司在其广告中宣称MICROSOFTWINDOWS系统列在易于配置和使用方面远远比不上APPLE公司的MACOS操作系统,APPLE公司的MACINTOSH微机上修改系统的设置简单到你只需插入或拔出扩展卡,机器就可以在其SYSTEM系列操作系统下很好地工作,从而省去了再设置开关、跳线或分配系统资源的烦恼,可以说是现阶段下完全的即插即用。传说固然归于传说,然而归根结底的原因还是因为技术的进步使得MICROSFT欲垄断个人PC机的操作系统。

  而欲使系统在易于使用上有一个飞跃,那么它就必须解决多个总线设备共享系统总线时所带来的系统底层资源的分配和再分配问题。MICROSFOT同INTEL和COMPAQ的结盟促使其在1993年以后相继颂了即插即用的规范,包括其他总线类型如ISA、EISA、PCMCIA、PCI、VESA以及SCSI等,但是就现阶段而言,完全意义上的即插即用恐怕还需要一段时间才能够进一步完善。

  MICROSFOT在WINDOWSFORWORKGROUPS和WINDOWSNT上就已开始尝试一些设备检测和配置方面的试验。在WINDOWSFORWORKGROUPS中,操作系统可自动检测出视频适配卡、鼠标、键盘及网络适配卡等的类型。WINDOWSNT则更进一步,它可以检测出SCSI设备及其他一些硬件,到了WINDOWS95/98,则几乎可以实现全自动的安装和系统的动态重配置。

  尽管WINDOWS95不可能对所有旧设备都能正确地识别,甚至有时也会求助于用户,但就即插即用本身而言,这已经是一个真正的飞跃了。现在的WIDNOWS98/2000在PNP方面又得到进一步的发展。

  在PnP技术出现之前,中断和I/O端口的分配是由人手工进行的,您想要这块声卡占用中断5,就找一个小跳线在卡上标着中断5的针脚上一插。这样的操作需要用户了解中断和I/O端口的知识,并且能够自己分配中断地址而不发生冲突,对普通用户提出这样的要求是不切实际的。

  PnP技术就是用来解决这个问题的,PnP技术将自动找到一个不冲突的中断和I/O地址分配给外部设备,而完全不需要人工干预。但是如果您读懂了上面关于中断冲突的那一部分,您就应该了解,在中断资源非常紧张的今天,即使是PnP技术,也不一定能找到一个合适的中断分配给您刚刚插入的设备,所以尽量释放那些没有必要的中断,对PnP正常工作也是很有帮助的。

  有些PnP冲突来源于主板的设计。许多主板上有一个AGP插槽、五个PCI插槽和两个ISA插槽,而其中的AGP插槽一般是和一个PCI插槽共用一个中断的,也就是这两个槽的中断可以是合理的任何值,但必须是相同的,当您在AGP槽上插了显示卡,如果您还在同中断的PCI槽上插了一块声卡的话,就一定会产生中断冲突。对大多数五个PCI插槽的主板而言,第一和第五插槽是和AGP槽共用中断的,第四插槽是和USB共用中断的,虽然可以在BIOS设置中强制给每个PCI槽位分配中断,但这对于大多数用户来说都是一个比较困难的事情,而且由于第二和第三插槽没有和其它设备共用中断,所以,在大多数情况下,显卡插在AGP槽上,声卡和其它PCI插卡,比如网卡,应该插在第二和第三PCI插槽上,也就是从AGP插槽向ISA插槽方向数的第二和第三PCI插槽上,这样一般都不用改变BIOS中的PnP设置,就能让这些卡正常工作。

  在BIOS中“PNP/PCICONFIGRATION”中有一条“PNPOSInstalled”一项,应该设为“Yes”,让您的Windows能够得到BIOS的PnP设置。

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多