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