如果Kernel-mode Hardware-enforced Stack Protection 關閉且無法打開,那麼這篇文章一定能幫助您解決問題。
內核模式硬件強制堆棧保護已關閉。您的設備可能容易受到攻擊。
對於某些用戶,切換到內核模式硬件強制堆棧保護的開關變灰。而且,對於其他人來說,切換開關在打開後立即關閉。這更有可能是由不兼容的驅動程序和/或反作弊軟件附帶的應用程序引起的。雖然該功能作為強制性安全更新的一部分自動安裝,但用戶發現他們的系統默認禁用內核模式硬件強制堆棧保護,而且他們無法打開它。
什麼是內核模式硬件強制堆棧保護
內核模式硬件強制堆棧保護是 Windows 11 22H2 的一項安全功能,可與受支持的處理器一起使用。它是最近 Microsoft Defender 更新的一部分,有助於保護您的系統免受堆棧緩衝區溢出攻擊和各種其他內存攻擊。此功能取代了 Windows 安全中的 LSA(本地安全機構)保護功能。
內核模式硬件強制堆棧保護已關閉
如果內核模式硬件強制堆棧保護已關閉在 Windows 11 系統中關閉且無法打開,請使用以下解決方案:
檢查 CPU 是否支持內核模式硬件強制堆棧保護在 BIOS 中打開 CPU 虛擬化檢查不兼容的驅動程序並更新它們卸載有問題的應用程序啟用Kernel-mode Hardware-enforced Stack Protection using RegistryEnable Data Execution Prevention (or DEP)Update BIOS。
讓我們一一看看這些解決方案。
1] 檢查 CPU 是否支持 Kernel-mode Hardware-enforced Stack Protection
Kernel-mode Hardware-enforced Stack Protection 功能需要 Shadow Stacks(臨時內存堆棧),這進一步需要 Intel 的控制流執行技術 (CET) 技術。因此,這是一種基於硬件的安全功能,適用於較新的 CPU(或處理器),例如 AMD Zen3 CPU 或更高版本以及 Intel Tiger Lake 處理器。如果您的設備不包含受支持的 CPU,則您無法使用或打開此功能。因此,首先,檢查您的 CPU 規格以確定您的 CPU 是否支持內核模式硬件強制堆棧保護。如果是,您可以使用下面這篇文章中介紹的解決方案將其打開。
2] 在 BIOS 中打開 CPU 虛擬化
與受支持的 CPU 一起,內核模式硬件強制堆棧保護需要 BIOS 中的 CPU 虛擬化(一項硬件功能)才能工作。否則,您將無法開啟它。因此,如果您的 CPU 支持,您必須在 Windows BIOS 中啟用硬件虛擬化。
因此,首先,將 Windows 計算機啟動到 UEFI 或 BIOS 固件,然後切換到 Advanced 選項卡或 Configuration 選項卡或 System Configuration選項卡(取決於您使用的設備,如 HP、Acer 等)。查找顯示虛擬化或虛擬化技術的選項,使用 Enter 鍵,選擇已啟用選項,然後按 F10 鍵。使用“是”選項確認更改。
啟用 CPU 虛擬化後,您應該能夠打開該功能。
3] 查看不兼容的驅動程序並更新它們
某些設備驅動程序與 Windows 11 的此安全功能不兼容。因此,除非有不兼容的驅動程序,無法打開內核模式硬件強制堆棧保護選項。值得慶幸的是,有一種方法可以解決此問題,因為該功能本身提供了一個不兼容的驅動程序列表,您可以查看這些驅動程序以進行更新。
請注意,只有在內核模式硬件-可以使用強制堆棧保護切換。如果該選項顯示為灰色,則需要檢查其他解決方案。
首先,打開 Windows 安全應用程序,訪問此功能,然後使用可用於此功能的開關將其打開。開關或按鈕將立即自動關閉。之後,點擊查看不兼容的驅動程序選項(如上圖所示)。現在將顯示 BEDaisy.sys、vgk.sys 等不兼容驅動程序列表。主要是,該列表包含與遊戲相關的驅動程序,但您也可能會發現與其他應用程序有衝突的驅動程序。
注意:對於某些用戶,不兼容的驅動程序部分是空的,並且沒有顯示列表中的所有驅動程序。但是,如果您看到此類驅動程序的列表,將更容易解決問題。
從列表中選擇一個驅動程序,您可以看到與該驅動程序關聯的程序或應用程序、產品名稱以及驅動程序版本。它不提供更新可能修復不兼容問題的驅動程序的選項,因此您需要手動執行此操作。
要在 Windows PC 上更新驅動程序,您可以從官方下載所需驅動程序的最新版本網站或製造商的網站或使用“設置”應用中 Windows 更新的“可選更新”部分來檢查是否可以下載和安裝驅動程序更新。
重新啟動您的電腦並查看您是否能夠打開內核-mode 硬件強制堆棧保護功能。這應該工作。如果沒有,請按此功能正下方可用的再次掃描 按鈕以檢查其他不兼容的驅動程序並更新它們。您也可以禁用或卸載不兼容的驅動程序,但這會使關聯的設備停止工作。
4] 卸載有問題的應用程序
這是當您遇到問題時的有效解決方案之一無法打開內核模式硬件強制堆棧保護。如開頭所述,有一些驅動程序或應用程序(尤其是帶有反作弊系統的遊戲,如 Riot Vanguard (vgk.sys)、BattleEye (BEDaisy.sys)、Genshin Impact、Bloodhunt、GameGuard 等)不兼容此安全功能。因此,為了順利運行,此類應用可能會干擾此功能並將其禁用。如果是這種情況,那麼您需要卸載衝突的應用程序/程序,重新啟動您的設備,看看這是否有助於解決問題。
打開設置應用程序 (Win+I),訪問應用類別,然後選擇已安裝的應用部分。單擊與此安全功能衝突的應用程序或程序的更多圖標(三個垂直點),然後按卸載選項。在確認彈出窗口中,使用“卸載”按鈕將其從系統中刪除。
5] 使用註冊表啟用內核模式硬件強制堆棧保護
您還可以使用註冊表編輯器訪問或創建覆蓋功能設置的註冊表項,以啟用具有特定功能值的內核相關保護數據編號。在這種情況下,我們將訪問或創建相同的註冊表項,然後輸入啟用內核模式硬件強制堆棧保護功能所需的值數據。在您使用此選項之前,我們建議您備份您的 Windows 註冊表。之後,按照下面添加的步驟操作:
在 Windows 11 搜索框中鍵入 regedit,然後按 Enter 打開註冊表編輯器訪問 Memory Management 註冊表項,其中包含多個與內存相關的設置(例如啟用/disable paging executive、分頁文件、分頁池大小等)。跳轉到此鍵的路徑是:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management 在右側部分,查找FeatureSettingsOverride DWORD 值。如果它不存在,則手動創建它。右鍵單擊空白區域,新建菜單,然後單擊DWORD(32 位)值 選項。創建此值時,將其命名為 FaureSettingsOverride 要啟用內核模式硬件強制堆棧保護功能,您需要設置 FeatureSettingsOverride 值的值數據。為此,雙擊該值出現一個小彈出窗口。在這裡,將 9 放入值數據中按確定按鈕關閉註冊表編輯器。
如果需要,請重新啟動系統。現在,內核模式硬件強制堆棧保護功能不應再變灰,您可以將其打開。
6] 啟用數據執行保護(或 DEP)
DEP 或數據執行保護是 Windows PC 中內置的系統級內存保護功能,可將某些內存區域標記為不可執行,以防止利用緩衝區溢出。而且,內核模式硬件強制堆棧保護功能還可以防止內存攻擊。因此,如果 DEP 在您的系統上被禁用,那麼這可能是您看到一條警告的原因,即內核模式硬件強制堆棧保護已關閉並且您無法將其打開。在這種情況下,您首先需要在您的 PC 上啟用數據執行保護。
以管理員身份打開命令提示符並執行以下命令:
bcdedit.exe/set {current} nx AlwaysOn
Here BCDEdit 是一個命令行工具,可以在您的系統上為所有服務和程序啟用 DEP 或不執行 (NX)。重新啟動 PC 並嘗試打開內核模式硬件強制堆棧保護功能。您的問題現在應該消失了。
7] 更新 BIOS
此選項適用於遇到相同問題的用戶之一。因此,如果上述選項沒有幫助,那麼您應該更新 Windows 計算機上的 BIOS,然後嘗試是否可以打開內核模式硬件強制堆棧保護。
希望這會會有幫助。
如何關閉硬件堆棧保護?
要在 Windows 11 PC 上打開/關閉內核模式硬件強制堆棧保護功能,請打開“設置”應用> 隱私和安全 > Windows 安全 > 然後單擊打開 Windows 安全。打開 Windows 安全應用程序後,切換到設備安全類別,然後單擊核心隔離詳細信息選項。在內存完整性部分下方,存在內核模式硬件強制堆棧保護部分。使用可用按鈕將其關閉或打開。
雖然存在打開/關閉此功能的選項,但它是一項至關重要的安全功能。它通過阻止惡意代碼從內存中執行來防止基於返回導向編程 (ROP) 的緩衝區溢出攻擊。因此,建議保持此功能處於打開狀態以提高安全性,以保護您的系統免受此類攻擊。
閱讀下一步:如何啟用或禁用核心隔離和內存完整性在 Windows PC 中。