二、原理分析
这是为什么呢?来对比一下联想官方提供的显卡驱动打包情况以及驱动文件:这是联想官方提供的独显驱动包(新机D盘上的driver备份驱动文件夹中的驱动和官网上提供的驱动包内容以及版本是一模一样的),其中包括四个文件夹,每个文件夹下面其实都是一个完整的ATI显卡催化剂驱动安装程序。分析INF文件可知,其实PRO/PRONONSG文件夹就Y460的Mobility Radeon HD 5650显卡驱动的安装程序目录,而XT/XTNONSG文件夹则 是Y560的Mobility Radeon HD 5730显卡驱动的安装程序目录:
显卡驱动的安装程序目录
以PRO文件夹为例,对比AMD官方发布的催化剂10.4驱动。分析一下。
联想提供的驱动:
根目录-Bin
-Bin64
-Config
-Images
-Packages-Apps-CCC
-CIM
-PXProfile
-VC8RTx64
-VC8RTx86
-Drivers-Display-W7_INF-B_92876
-Intel
-W76A_INF-B_92876
-Intel
AMD官方催化剂10.4驱动32位:
根目录-Bin
-Config
-Images
-Packages-Apps-CCC
-CIM
-VC8RTx86
-Drivers-Display-W7_INF-B_98282
AMD官方催化剂10.4驱动64位:
根目录-Bin64
-Config
-Images
-Packages-Apps-CCC
-CIM
-VC8RTx64
-Drivers-Display-W76A_INF-B_98282
解释:
Bin/Bin64文件夹:存放催化剂驱动安装程序的组件,64即为64位版本;
Config文件夹:存放催化剂驱动安装程序对应不同语言版本操作系统的语言文件;
Images文件夹:存放催化剂驱动安装程序安装时显示的图片广告(基本上不是新卡就是新功能或者新游戏)
Packages文件夹:存放催化剂驱动安装到系统的各项组件;
Packages-App文件夹:存放催化剂控制面板、Microsoft Visual C++ 2008等软件组件;
Packages-Drivers文件夹:很明显,就是存放驱动文件的。其中下面的W7_INF存放32位版本驱动,W76A_INF则存放64位版本驱动。
对比发现,原来联想官方的驱动是64位和32位合在一块打包的,并且加入了PXProfile和Intel两个文件夹。很自然可以猜想到:是不是联想官方提供的独显驱动是特殊打包过合并了独显与集显驱动?加入了PXProfile是不是和显卡切换有关的呢?而Intel文件夹所装的是不是Intel集显驱动呢?答案是肯定的!
下面来分析下联想官方提供的驱动包中Intel文件夹与Intel官方发布的集显驱动中的文件异同:
32位版本(左边是Intel的驱动,右边是联想的驱动):
32位版本对比
32位版本对比
各位聪明眼利的同学恐怕已经发现,联想官方的驱动中,32位版本多出了ig4dev32.dll这个文件,而64位版本则多出了ig4dev32.dll和ig4dev64这两个文件.dll;而Intel官方的驱动中则多出了igdlh.inf(64位版本为igdlh64.inf)和igdlh.cat签名文件两个文件。并且在联想的驱动包中,所有文件的后缀名最后一个字符都被改成了下划线,这点与ATI催化剂驱动文件的打包方式不谋而合。另外分析Lang文件夹下面的文件,两边是一模一样的。很显然联想的驱动多出的文件必然和显卡切换有关。分析ATI独显驱动文件夹则可以发现联想官方的驱动和AMD官方发布的公版移动版显卡驱动是一样的。
众眼看驱动
大家都知道Windows安装驱动其实就是查找INF文件中的硬件ID和对应的硬件设备名称、驱动程序文件以及数字签名文件,然后复制这些驱动程序文件到Windows\System32目录或者Windows\System32\Driver目录,最后创建相应的注册表项和服务项的。那联想驱动中为啥要去掉Intel的INF文件和证书呢?我们打开联想驱动中的INF文件,惊奇地发现里面赫然出现了Intel(R) Graphics MediaAccelerator HD的字样,并且包含了Intel集显驱动所要复制的文件以及创建的注册表项和系统服务项。
至此真相大白,我们可以推论出:联想官方驱动是通过将Intel集显驱动整合到ATi独显驱动中,合并INF文件来实现同时安装驱动,并添加了显卡切换功能相应的驱动文件,来达到独显与集显均可工作并且可以彼此切换的目的。也正因为这样,Intel集显才会显示与ATI独显一样的厂商、驱动版本、日期和数字签名了。
至此大家也应该明白了,要安装最新的Intel集显驱动,必须借助联想官方驱动包,将新驱动的文件替换掉联想官方驱动中的集显驱动文件,然后借联想官方驱动安装程序,安装独显驱动同时顺带安装上最新的集显驱动,这样才能同时安装上独显、集显驱动以外的与显卡切换相关的驱动文件,使得显卡切换功能不受影响。至于为什么单独安装集显与独显驱动不能使用显卡切换以及覆盖安装新的移动版催化剂驱动不会影响显卡切换的原因也显而易见了。