解決 Windows 64-bit 強制驅動程式(driver)數位簽章

最近幾天,把網站的電腦換成 64-bit 的系統,跑起來還蠻順的,apache、php 及 mysql 等一干軟體也都升級為 64-bit 版本,本站跑起來有比較快嗎?但是,電腦中有一片舊的 DVB-T 電視卡,沒有 64-bit 認證的驅動程式,雖然裝 XP 64-bit 的 driver 還是可以用,但有點問題…

64-bit 的 Vista 或 Windows 7 系統中,driver 的數位簽章是強制的,微軟強制要求裝載的內核模式軟體(kernel mode software),如設備驅動程式、篩選器驅動程式和服務,要有內核模式代碼簽名 Kernel Mode Code Signing (KMCS)。如果安裝的 driver 沒有 WHQL (Windows Hardware Quality Labs) 認證,則在開機的過程中就會出現中止畫面。除非在 “進階開機選項” (Advanced Boot Options) 中再手動選擇 “停用驅動程式數位簽章增強” (Disable Driver Signature Enforcement),才可順利開機。

在 64-bit Vista SP1 之前,聽說用
bcdedit -set loadoptions DDISABLE_INTEGRITY_CHECKS
可以解除這個限制。但在 SP1 之後已經失效。

幸好有人寫了 ReadyDriverPlus,它就是把上述手動選擇的過程自動化,以避開 64-bit 強制數位簽章的問題。只要裝好它就會在開機時自動選擇 “停用驅動程式數位簽章增強”。

Update 10/2016

Windows 10 中試試 EasyBCD,在 advanced session 中編輯 boot menu,選:”Allow use of unsigned drivers on 64 bits windows”

附錄:什麼是已簽署的驅動程式?

已簽署的驅動程式是包含了數位簽章的裝置驅動程式軟體。數位簽章是個電子安全標記,可以指出軟體的發行者,以及是否有人變更過此驅動程式軟體套件的原始內容。如果發行者已經使用憑證授權驗證驅動程式的身分並已簽署此驅動程式,您即可確信驅動程式軟體確實是來自於該發行者,且未遭修改。

如果驅動程式軟體未經簽署、發行者未使用憑證授權驗證驅動程式的身分就簽署驅動程式軟體,或是驅動程式軟體發行後已遭修改,Windows 將會顯示以下其中一個訊息:

Windows 無法驗證此驅動程式軟體的發行者
此驅動程式軟體可能沒有數位簽章,或是使用未經憑證授權驗證的數位簽章來簽署。您應該僅安裝從原始製造商光碟或系統管理員取得的驅動程式軟體。

此驅動程式軟體已更改
此驅動程式軟體在驗證的發行者數位簽署後已遭修改。本套件可能已遭修改,而包含了可能會損害電腦或竊取資訊的惡意軟體。合法的發行者的確會在數位簽署驅動程式軟體套件後修改內容,不過這種情況很少見。您應該僅安裝從原始製造商光碟取得的已修改驅動程式軟體。

Windows 無法安裝此驅動程式軟體
無法將缺少有效數位簽章或簽署後遭修改的驅動程式軟體,安裝在 x64 為主的 Windows 版本上。因此,如果您執行的是 x64 為主的 Windows 版本,只會看到此訊息。

如果當您試圖安裝驅動程式軟體時,看到以上任一訊息,請瀏覽裝置製造商的支援網站,以取得裝置的數位簽署驅動程式軟體。

(Visited 46,204 times, 8 visits today)

在〈解決 Windows 64-bit 強制驅動程式(driver)數位簽章〉中有 4 則留言

  1. 請問一下,在vista下,為了加強BT下載速度(為了更改TCP),而使用disable signature enforcement 是否會對系統或著平時的使用上產生不好的作用,比如說某些程式無法順利啟動?系統錯誤?易中毒之類的嗎?(我是電腦白痴,請幫幫我吧)

    回覆

發佈回覆給「tify」的留言 取消回覆