我试图WinPE预操作系统启动笔记本电脑的鬼11.5,我需要将网卡设置为100_full与交换机的兼容性。 我发现如何通过修改inf文件来做到这一点,但有多个驱动程序匹配笔记本电脑的NIC的供应商ID。 有没有办法确定哪个驱动程序(或将要)由WinPE使用,这样我只需要编辑一个inf文件而不是所有可能的匹配项?
这是假设您的意思是Ghost Solution Suite 2.5,它是包含真正的Ghost映像工具的两个Symantec产品之一。 请注意,最好是指实际的产品,而不是产品中可执行文件的版本,因为有多个使用这些可执行文件的产品,而且它们不一定都具有相同的部分。
无论如何,尽pipeWindows INF文件的格式是有logging的,而且众所周知的,但PnP驱动程序安装过程中用来select最佳可能匹配的精确algorithm不容易放松,所以精确地确定从外部select什么是困难的。 最好启动并查看结果。
Ghost Solution Suite 2.5包含一些不同的Windows PE 2.0版本; 一个是非常简单的在低级机器上运行,而不包括WMI。 另一个更广阔的Windows PE构build包括更多的驱动程序,还包括WMI子系统。 但是,虽然它包含WMI并包含Windows Script Host,但它没有安装WMI脚本命名空间提供程序,所以按照正常的方式执行此操作即是使用某个脚本,但在GSS 2.5中这不是一个简单的选项build立WinPE。
这就解决了这个问题,即引导系统,然后检查registry以确定PNP安装过程实际上做了什么。 启动WinPE并启动RegEdit.EXE,您可以检查PNP枚举过程的结果。 原始枚举的结果都在HKLM\SYSTEM\CurrentControlSet\Enum\里面, DeviceDesc值恰好列出了PNP硬件检测过程匹配的特定INF文件,通常在PCI子树下其他地方; nVidianetworking适配器使用自定义总线枚举驱动程序)。
除了通过枚举拖网外,您还可以查看设备类在HKLM\SYSTEM\CurrentControlSet\Control\Class下的HKLM\SYSTEM\CurrentControlSet\Control\Class ,其中设备类由GUID标识。 networkingGUID很容易find,但交互式地导航到HKLM\SYSTEM\CurrentControlSet\Control\Class最简单,然后使用Control-Fsearchnetcfgx ,这是networking驱动程序的类安装程序。 这应该把你放在正确的类的GUID,在这个类下将是驱动程序实例ID号。 在这些应该看到所有驱动程序信息包括链接到“Enum”树下的path和一个名为InfPath的值(将类似于DeviceDesc )链接到用于安装networking适配器和InfSection的特定匹配的INF一个复杂的INF的右子path。
一旦习惯了浏览registry的驱动程序区域,您就可以很容易地使用registry来识别哪个INF和哪个特定的部分在特定的机器上匹配,给定一个特定的WinPE驱动程序加载。