是否能夠對硬件提供良好的支持,是Windows7面臨的一個嚴峻考驗,同時也是用戶是否選擇Windows7的一個重要指標。所謂的硬件支持,說到底就是設備的驅動問題。Windows7在硬件的驅動方面有哪些新的特性?如何在Windows7中進行驅動故障排錯?我想這都是用戶所關系的問題,筆者將結合自己的Windows7使用體驗及其自己的理解,就Windows7的設備驅動問題進行一個比較深入的解析,希望對大家有所幫助。
1、Windows7的設備驅動文件解讀
在Windows7中包含了一個覆蓋范圍很廣的身邊驅動程序庫。在該操作系統的基本安裝中,這些驅動程序都會保存在驅動程序存儲區中,它們位於%SystemRoot%System32DriverStoreFileRepository目錄下。另外,在DriverStore文件夾中還保存了對應本地化後的驅動程序信息的子文件夾,對於在系統上配置的每個語種,在這裡都有一個對於的子文件夾。例如,筆者安裝的是Windows7的英文版,有關本地化的英語驅動程序信息就位於en-us子文件夾中。
在驅動程序存儲區中,每個設備驅動程序都經過了認證,並確保可以與Windows7系統完全兼容,通過還帶有微軟的數字簽名,這可以確保驅動程序在操作系統中絕對可用。在安裝新的兼容性即插即用設備時,Windows7會在驅動程序存儲區中檢查可用的兼容設備驅動程序。如果找到,則操作系統就會自動安裝該設備。
每個設備驅動程序都有一個相關聯的安裝信息文件,該文件以.inf作為擴展名,其中包含了關於正在安裝的設備的詳細配置信息。另外,還有信息文件標識出的每個驅動程序要使用的所有源文件,這些文件以.sys為擴展名。驅動程序還與組件清單文件相關聯,清單文件使用可擴展標記語言編寫,其中包含了有關驅動程序數字簽名的詳細信息,並且還可能包含對自身進行配置,以便自動使用該設備的即插即用信息。
Windows7系統安裝的每個驅動程序的源文件.sys都會保存在%SystemRoot%System32Dirvers目錄下。在安裝新的設備驅動程序時,該驅動程序會被寫入%SystemRoot%System32Dirvers的子文件夾中,並且會有配置信息保存在注冊表中。驅動程序的.inf文件可用於控制安裝和要寫入注冊表的設置信息。如果所需要驅動程序沒用保存在驅動程序存儲區中,或者沒用.inf文件,或缺少其他有個的系統文件,這種情況下,驅動程序的.inf文件和其他相關的文件在安裝設備時會被寫入到%SystemRoot%System32DriverStoreFileRepository下的子文件夾中。
2、應當重視的Windows7設備驅動簽名信息
對於Windows7來說,能否對周邊設備提供良好的支持是其面臨的嚴峻挑戰。毫無例外地,為了保證系統的穩定性及設備的良好運行,微軟建議用戶選擇包含數字簽名是設備驅動程序版本。這對於用戶來說非常重要,因為Windows7畢竟是一個新的系統平台,各方面有待於進一步的檢驗或者考驗,而這一般為不少用戶所忽略。帶有微軟數字簽名的設備驅動程序不會讓系統崩潰或者變得不穩定,同時帶有微軟數字簽名還可以確保設備驅動程序未被篡改,這能夠杜絕驅動級木馬危害系統。
反之,如果用戶強制使用沒有數字簽名的驅動程序,則很有可能導致Windows7的不響應或者崩潰,這甚至比在操作系統上安裝普通程序導致的問題更加嚴重。筆者曾經有這樣的體驗,另外論壇中這樣的因為驅動造成Windows7崩潰的案例也非常多。因此,對於Windows7用戶來說建議盡量使用經過簽名的驅動程序。當然,在某些情況下,我們可能會發現特定是設備不包含簽名的驅動程序。此時,建議大家在設備制造商是網站上搜索是否有可用的帶有簽名的驅動程序。因為有時可能有帶有簽名的驅動程序,但並沒有包含到設備的的驅動光盤或者Windows7的安裝盤中。
如果沒有可用的帶有簽名的驅動程序,那麼只能使用未簽名的驅動程序。在Windows7中,如果安裝未簽名的驅動程序,一定要小心謹慎,並對系統進行密切監控。如果發現系統遇到未知的不響應或者崩潰,這就可能是未簽名的驅動程序導致的,這時需要回滾驅動程序或卸載有問題的驅動程序。同時需要注意,任何類型的設備,即使是顯卡、網卡或者聲卡,如果對應的驅動程序有問題,都可能會導致操作系統遇到問題。有時候,為了防止未簽名的驅動程序導致更嚴重的問題,在默認情況下,當我們嘗試安裝未簽名的驅動程序時,Windows7會發出警告。當然,我們也可配置以取消該警告,或者完全禁止安裝未簽名的驅動程序。
3、Windows7驅動文件排錯
當硬件的驅動安裝錯誤後,不僅不能夠驅動該設備,而且會有可能造成系統的不穩定甚至崩潰。Windows7內置的硬件診斷功能可以檢測各種類型的硬件設備故障,從而據此可進行驅動文件的排錯。通常情況下,如果系統檢測到問題,那麼我們將會看到一個問題報告和解決方案提示的氣泡通知。單擊該氣泡通知即可打開問題報告和解決方案控制台。另外,我們也可以在Windows7的控制面板中單擊“系統和維護”鏈接,並單擊“問題報告和解決方案”打開該控制台。在問題報告和解決方案窗口中,單擊“查看問題以檢查”鏈接以查看現有的問題,或單擊“檢查解決方案”鏈接,從微軟網站上搜索已知問題的可能解決方案。
另外,我們還可以按照下列步驟直接對設備驅動進行排錯:打開設備管理器,選擇“設備管理器”節點,用鼠標右鍵單擊要排錯的設備,選擇“屬性”,在“常規”選項卡上單擊“檢查解決方案”,單擊“查看詳細信息”選項,了解有關問題的更多信息。當然,我們也可以將該問題發送給微軟尋求解決方案,只需單擊“發送信息”即可。需要注意的是,如果身邊驅動程序安裝不正確,那麼就不會有“檢查解決方案”選項,而是只有“重新安裝設備驅動”選項。此外,當設備安裝不正確或有問題時,設備管理器會顯示警告圖標,表示該設備出現問題。如果雙擊該設備,在設備的屬性對話框的“常規”選項卡中還會顯示相關錯誤代碼,我們可以從微軟的網站上查看相關的參考文檔進行排錯。比如錯誤代碼16,表示Windows無法識別該設備使用的所有資源。解決方法是:檢查該設備是否帶有簽名的可用驅動程序。如果有,並且已經安裝,可能需要管理該設備的資源,在設備屬性對話框的“資源”選項卡下進行設置。