AMD於近期調查了卡頓的原因並:卡頓是由Ryzen處理器內寘的固件可信平臺模塊(fTPM)引起的。
Intermittent System Stutter Experienced with fTPM Enabled on Windows® 10 and 11 | AMD
TPM是這次Ryzen處理器系統卡頓的根因,我們需要從以下幾個方面來處理:
1.首先理解一下TPM到底是什麼?
在提到TPM之前,我們首先要知道系統安全中分為軟件安全和硬體安全兩部分。 軟件安全的概念其實並不難理解,系統上的殺毒軟體、安全啟動系統、證書本質都是軟件安全的一部分。 它們都是由可以編輯的程式碼構成,但是軟件就意味著有很多辦法可以破解或者繞過。 硬體安全則通過硬編碼的形式來對整個系統進行加密,對於攻擊者而言,除非知道硬編碼的金鑰否則很難發起有效的攻擊。 而TPM(可信平臺模塊)就是一種硬體安全設備,簡單來說是一種安全加密處理器。 這種安全加密處理器會使用加密金鑰保護電腦,在引導作業系統的時候TPM會驗證固件和作業系統是否被未經授權的協力廠商修改,如果是則拒絕啟動。 同時TPM還會和電腦上的安全系統進行通信,無論是指紋讀取還是Windows Hello,都需要和TPM配合後才能允許我們訪問設備,這樣可以拒絕協力廠商肆意訪問我們的Windows Hello數據。 此外,TPM還會負責作業系統級別的檔案加密功能,比如Windows下的BitLocker,能更安全地保護我們的數據。 也正因為 TPM可以做到在系統啟動之前做到硬體層面的系統安全加密而且會時時與系統的安全模塊溝通,囙此Windows 11的系統要求中必須包含TPM,不再僅靠軟件保護我們的系統,而是從硬體上額外加了一道更安全的「鎖」。
2.為什麼fTPM會導致系統卡頓?
正因為微軟要求Windows 11的設備中必須啟用TPM 2.0,囙此無論是主機板廠商還是處理器廠商都在硬體中包含的TPM。 主機板上或者可以單獨購買的TPM被稱為獨立TPM(dTPM),它使用獨立的板載NVRAM1 存儲金鑰; 而處理器內部的TPM,比如Intel的平臺信任科技(PTT)和本次事件的主角AMD的fTPM,則把金鑰存儲在主機板上的SPI2 閃存中,SPI閃存也常常被稱為BIOS晶片。 當系統安全模塊與TPM進行數據溝通時,系統其他部分也在同時訪問記憶體,為了保證讀取/寫入/修改數據時不發生衝突的前提下,系統會使用一種名叫記憶體事務3的方法,提升對應操作的效能。 而AMD的fTPM就是在記憶體事務上翻了車,只要系統安全模塊與fTPM進行資料交換,剩下的硬體需要等到fTPM的事務執行完成後才能繼續使用其他的記憶體,所以電腦就會卡頓。
3.那麼如何解决fTPM的系統卡頓問題?
根據現時用戶的迴響情况,AMD其實也給出了相應的解決辦法,當然這裡我們可以先針對不同的系統採用不同的解決辦法。
a.針對運行Windows 10的AMD Ryzen處理器設備
對於打開了fTPM並運行Windows 10的AMD Ryzen處理器設備,由於Windows 10並非強制要求TPM,囙此我們可以採取直接在BIOS中關閉fTPM的管道來暫時規避,雖然這在硬體安全方面或許存在一定的風險,但考慮到系統運行流暢性或許短時間內的最佳解決辦法。
首先我們需要登入系統去查看一下BitLocker是否已經啟用,首先打開傳統控制台(蒐索控制台就可找到),選擇「BitLocker驅動器加密」,在管理介面中選擇要解密的磁片,選擇「關閉BitLocker」等待完成數據解密。 如果你在解鎖BitLocker以前關閉了TPM,會導致所有的數據不可逆轉地遺失。 之後使用Windows鍵+ R打開運行,輸入「tpm.msc」打開TPM管理,在窗格中選擇「關閉TPM」以顯示關閉TPM安全硬體頁面,在「關閉TPM安全硬體」對話方塊中選擇一種方法以輸入所有者密碼並關閉TPM。 最後重啓並進入到BIOS設定,找到「AMD fTPM Switch」選項,選擇Disable完成關閉即可。
b.針對運行Windows 11的AMD Ryzen處理器設備
而對於運行Windows 11的AMD Ryzen處理器設備,由於Windows 11強制要求TPM,囙此想要解决問題只有兩個方案:
如果主機板中包含硬體TPM,或者支持插入硬體TPM模塊,則可以關閉fTPM並直接啟用硬體TPM模塊,在切換過程中需要在系統中首先關閉BitLocker以及TPM開關(步驟如本文中Windows10中關閉TPM相同)之後再從BiOS中關閉fTPM並啟用單獨的硬體TPM,之後再根據此前的關閉順序逐步在系統開啟BitLocker和TPM。