大家好,我是陈景序,今天我们来聊聊Windows搜索驱动的那些事儿。你是不是经常遇到驱动安装不成功的情况,想知道背后的原理?那就跟紧我的脚步,一起探究Windows搜索驱动的奥秘吧!
什么是驱动包?
首先,我们要明确一个概念,那就是driver.cab和SP2(SP3).cab,其实它们就是驱动包。微软为了节省磁盘空间,把驱动的文件打包成了这种格式。
drvindex.inf的作用
接下来,我们来看看drvindex.inf,它实际上是对这两个驱动包的索引。而XPE是组件化的,驱动包中的文件已经被拆成组件了,所以不再有CAB格式的驱动包了。
Windows是如何查找驱动的?
那么,Windows是如何查找驱动的呢?其实,Windows找的不是查找驱动阶段,而是直接找inf文件。默认的搜索位置是在注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion的DevicePath中定义的,也就是%SystemRoot%\inf(windows\inf)文件夹下。当然,还要算上添加新硬件向导所搜索的可移动磁盘、CDROM和软盘。
找到INF文件后,就会开始进入安装阶段,比如写注册表、拷贝文件、注册组件、注册服务等等。这些操作都是按照INF文件中的定义去做的。
文件搜索的顺序
那么,拷贝文件时从哪里搜索本地的文件呢?首先从INF所在的目录搜索,之后是windows\i386。这些都是默认的位置,当然,在INF文件中你也可以指定文件所在的相对目录的位置。
缺少的系统文件
本贴中所列出来的缺少文件全都是系统文件。这些文件不应该由驱动的开发者提供。
好了,今天的内容就到这里。如果你对Windows搜索驱动原理还有其他疑问,欢迎在评论区留言,我会尽力为你解答。最后,记得关注「websoft网络软件专家」(www.phpwebsoft.com),了解更多技术知识。
