打造自已的PNP无盘系统.docx
- 文档编号:29623799
- 上传时间:2023-07-25
- 格式:DOCX
- 页数:12
- 大小:194.24KB
打造自已的PNP无盘系统.docx
《打造自已的PNP无盘系统.docx》由会员分享,可在线阅读,更多相关《打造自已的PNP无盘系统.docx(12页珍藏版)》请在冰豆网上搜索。
打造自已的PNP无盘系统
打造自已的PNP无盘系统
名智几乎占尽了中国的无盘市场,也让盗版贩子们小发了一笔,不过也正是他们让名智系统的“盗版”普及到了广大无盘爱好者的手中,一时间名智几乎就成了无盘98的代名词,更有人误传名智采用超过了RPL、PXE的第三代无盘系统-PNP,真是太搞笑了。
其实上所谓的PNP技术是指即插即用技术,这项技术标准早在win95时代就被制定,我们所使用的win98系统本身就据有自动发现新硬件并配置驱动的功能,但为什么我们用早期的pxe张裕飞启明星等软件安装的无盘98都不能实现pnp?
要求我们网络中的工作站硬件必须全部相同,并且网卡的插槽位置也要相同,否则就会出现无法启动的问题;其实问题的根源就在网卡的资源占用上,当我们用传统方式装的无盘98在启动中会有一段实模式向windows保护模式过渡的过程,在这中过程中网络会因为pci网卡的资源分配而发生暂时中断,如果原系统注册表中保留的网卡地址中断信息与实际占用的资源不同,网络就无法在这个过渡过程中再次接上启动将会失败,因此我们以前在做无盘98时,都会事先调所有工作站的网卡调整到同一插槽,遇到主板不同时还得再做一次上传。
为了解决这个烦人的问题,我们必须让工作站的网卡无论什么情况占用的中断地址资源不变,如何能实现这一点呢?
本站将从即日起连载《打造自已的PNP无盘系统》今天我首先介绍就是“安装一块无资源的网卡”:
一、安装有盘win98样本;
按照常规方式,对硬盘进行分区格式化,安装win98简体中文第二版,具体的安装过程我这里不作详细累述,安装完成后进入桌面不要急于驱动那些未知的硬件设备,更不要习惯性的去安装什么主板的补丁,让我们先看看98的设备管理器(如下图):
注意看“其它设备”中“pciethernetcontroller” 这一项就是没有安装驱动的RTL8139网卡,因为重新
安装的win98并不能自动识别它,因此在这里它被列为了其它设备(未知设备)。
在“运行”输入regedit打
开“注册表编辑器” 展开键值[HKEY_LOCAL_MACHINE\Enum\PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_
10] 这一段就是未驱动的8139网卡在win98注册表中的记录信息,有兴趣你可以仔细看一下这一段键值的结
构(如下图)
选中[HKEY_LOCAL_MACHINE\Enum\PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10] 整段键值,选择“导出注册表文件” 取一个文件名如PCI一定要把这段未装驱程时的注册表键值保存好,留它有大用处。
如下图:
保存好上面的键值后就可开始安装网卡的驱动程序,不过这次的驱动程序一定要是专用的,本站及很多无盘站点都可以下载到
完美8139无盘驱动程序,解压驱动程序包将安装路径指向.DOC\NTRPL\DRVIER(如下图)完成后重启电脑。
可以为添加一些必要的网络协议,一般不要安装“文件与打印机共享服务”,
可以注意看一下,查看网卡8139的属性,系统清楚的在“资源”中显示了这块此时占用的中断与内存地址输入输出范围的信息,这也在传统情况下网卡正常工作所必须记录的信息,非常关键的一点;如果我们更换了网卡插槽或主板,这些信息就会发生变化,网卡必须重新驱动才能正工作,正是这个原因导至了早期无盘安装中硬件配置不同时工作站无法启动,所以要想让不同配置的工作站(但网卡必须相同)都能直接启动,首先要搞定就是样本机的网卡,我们需要是一块没有“资源”的网卡。
打开注册表编辑器,找到刚才的[HKEY_LOCAL_MACHINE\Enum\PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10]键,因为已经安装了驱动程序与网络协议,键值已经发生了变化,其中就记录这块网卡的驱动信息与资源信息
我们需要再次导出这段注册表键值,选择菜单中的“导出注册表文件”定一个文件名如pnp<保存>
用写字板打开保存的pnp.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_09&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"
"DeviceDesc"="RealtekRTL8139PCIFastEthernet"
"HWRevision"="016"
"Class"="Net"
"ConfigFlags"=hex:
10,00,00,00
"ClassGUID"="{4d36e972-e325-11ce-bfc1-08002be10318}"
"Driver"="Net\\0001"
"Mfg"="Realtek"
[HKEY_LOCAL_MACHINE\Enum\PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10\BUS_00&DEV
_09&FUNC_00\LogConfig]
"0000"=hex:
00,04,00,00,00,30,00,00,10,00,00,00,04,00,00,00,03,00,0b,00,ff,ff,\
00,00,30,00,00,00,01,00,00,00,01,00,14,00,00,00,00,e8,ff,00,00,e8,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,dc,ff,dc,00,00,ff,00,00,ff,00,01,00,\
00,ff,ff,00,00,ff,00,10,00,00,00,00,00,00,00
[HKEY_LOCAL_MACHINE\Enum\PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10\BUS_00&DEV
_09&FUNC_00\Bindings]
"NWLINK\\0000"=""
"MSTCP\\0001"=""
对其进行一点小手术,将其中主键中的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]
下的键值删除
下面是修改过的范例,大家可以比较一下;
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"
"DeviceDesc"="RealtekRTL8139PCIFastEthernet"
"HWRevision"="016"
"Class"="Net"
"ConfigFlags"=hex:
10,00,00,00
"ClassGUID"="{4d36e972-e325-11ce-bfc1-08002be10318}"
"Driver"="Net\\0001"
"Mfg"="Realtek"
[HKEY_LOCAL_MACHINE\Enum\ROOT\NET\0000\Bindings]
"NWLINK\\0000"=""
"MSTCP\\0001"=""
修改完成后将其导入注册表,我们打开注册表编辑器,比较一下,实际这样的修改的目的只是把8139的键值从[HKEY_LOCAL_MACHINE\Enum\PCI]移动到了[HKEY_LOCAL_MACHINE\Enum\ROOT\NET]这个移动正是关键所在,的目的就是让WINDOWS把网卡当作一种非PNP设备来驱动,下次WINDOWS再次找到相同的硬件设备,但中断信息却不同时,就可以将该设备作为一个非PNP设备,调用现有的驱动程序,来强行驱动该设备,在找不到新的驱动程序时,就不会更新现有的驱动程序,这样在任何主板上的任何可用插槽上,WINDOWS都可以强行驱动这种网卡
再导入一个我们先前导出的pci.reg注册表文件(未驱动网卡前导出的),避免系统下次重启时提示找到新网卡。
重新启动计算机,进入系统属性查看你网卡,(如下图如示)你的网卡可以正常工作,却没有占用资源,再换个插槽试一试,系统一启动就提示找到了新硬件,但你可以选择取消不安装,网卡一样能用,能不能让系统启动永远不再提示找到网卡呢?
以下关点仅为笔者个人看法、错漏之处敬请原谅:
办法倒是有,关键还是在注册表上,有兴趣的朋友可以把名智工作站[HKEY_LOCAL_MACHINE\Enum\PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10]的键值导出来分析一下,或者索性直接借用它们的罢了,如果你没有名智工作站此段注册表,我们可以提供下载,还有一点注意为了永绝后患,一定删除windows\inf&windows\inf\other中关于8139的驱动信息文件名一般应是MicrosoftNETRTS.INF、NETRTS.INF,最好搜一下注册表其中关于驱动安装路径之类的键值统统删除。
到此我们的样本机已经完工,下一步就是上传到服务器,今天先介绍到这里,本工作室将连继刊载余后内容,谨请关注哦!
不要骂我卖关子。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 打造 自已 PNP 系统