共用方式為


驅動程式套件選取程式概觀

Windows 將 驅動程式封裝 表示為 驅動程式節點,其中包含裝置的所有軟體支援,例如任何檔案、服務和登錄項目。 裝置的服務包括函式驅動程式,以及任何上層和較低層級的裝置篩選驅動程式。

某些裝置需要廠商提供的驅動程式套件,該套件專為該裝置或支援一系列裝置而設計。 不過,其他裝置可由系統提供的驅動程式套件驅動,該套件支援一系列裝置或指定裝置設定類別的所有裝置,。 Windows 會選取最符合裝置的驅動程式套件。 如果 Windows 找不到這類驅動程式套件,它會從越來越通用的驅動程式套件中選取。

Windows 搜尋驅動程式套件的方式

Windows 會在特定位置搜尋符合裝置 驅動程式套件。 如果下列條件成立,驅動程式套件會比對裝置:

  • 相容標識符的其中一個 硬體標識符或 兼容標識符,裝置的總線驅動程式會比對 INF Models 段中的 hw-id兼容標識符 字符串。

  • TargetOSVersion 裝飾在包含相符專案的 INF Models 區段 中,適用於將要安裝裝置的操作系統版本。

    如需有關 TargetOSVersion 標註的詳細資訊,請參閱 平臺擴充與操作系統版本的結合

如需 Windows 搜尋比對驅動程式之位置的詳細資訊,請參閱 Windows 搜尋驅動程式的位置

Windows 如何對驅動程式套件進行排序

Windows 會為每個適用的 驅動程式套件 建立所有相符項目的列表,並為每個相符項目指派一個排名。 如果驅動程式套件在其 INF Models 區段中有多行 專案符合該裝置,則單一驅動程式套件可能包含多個相符的專案。 Windows 以整數值顯示每個驅動程式套件配對的排名,且該數值大於或等於零。

如需排序過程的詳細資訊,請參閱 Windows 排序驅動程式套件

從 Windows Vista 開始,Windows 也會根據驅動程式套件是否經過數位簽署來排名驅動程式套件。 Windows 會根據數位簽名來排名驅動程式套件,如下所示:

  • 如果停用 AllSignersEqual 群組原則,Windows 會將以 Microsoft 簽章簽署的驅動程式套件排在優於使用 Authenticode 簽章簽署的驅動程式套件之上。 即使使用 Authenticode 簽章簽署的驅動程式套件在各方面都更符合裝置的需求,這種排名仍會發生。

  • 如果已啟用 AllSignersEqual 組策略,Windows 會以同樣方式排列所有數位簽署的驅動程式套件。

注意

從 Windows 7 開始,預設會啟用 AllSignersEqual 組策略。 在 Windows Vista 和 Windows Server 2008 中,預設會停用 AllSignersEqual 組策略。 IT 部門可以啟用或停用 AllSignersEqual 組策略,以改變預設的排序行為。

來自 Windows 簽署機構的簽章包括以下內容:

  • 進階 Windows 硬體質量實驗室 (WHQL) 簽章和標準 WHQL 簽章

  • 收件匣驅動程式套件的簽章

  • Windows 持續性工程 (Windows SE) 簽名

  • 符合驅動程式套件裝置設定類別的 LowerLogoVersion 值或更高版本的 Windows 版本 WHQL 簽章

Windows 選取驅動程式套件的方式

Windows 會將符合最低排名值的 驅動程式套件 選為裝置的最佳相符專案。

不過,如果有多個具有相同優先順序的驅動程式套件同時是某裝置的最佳匹配,Windows 會根據驅動程式套件的日期和版本來選擇驅動程式。 驅動程式的日期與版本是由驅動程式套件 INF檔案中所包含的 INF DriverVer 指示詞 所指定。

Windows 會使用下列準則來選取裝置的驅動程式套件比對:

  • Windows 會選擇排名值最低的驅動程式套件作為裝置的最佳配對。

  • 針對具有相等排名的驅動程式套件,Windows 會選取具有最新日期的驅動程式套件。

  • 對於排名和日期相等的驅動程式套件,Windows 會選取具有最高版本的驅動程式套件。

  • 對於排名、日期和版本相等的驅動程式套件,Windows 可以選取任何驅動程式套件。

謹慎

即使驅動程式套件中的日期的優先順序高於版本,但建議每當驅動程式套件發生變更時,版本和日期都會更新。 如需詳細資訊,請參閱 命名和版本設定 INF 檔案 的最佳做法。