如何檢查處理器是否支援第二層位址轉譯 SLAT
問題的來龍去脈
近期微軟的新產品,像是 Windows 8 的 Hyper-V 或是 Windows Phone SDK 8.0 中的 Windows Phone 8 模擬器,需要可支援第二層位址轉譯(Second Level Address Translation, SLAT)的處理器,如果我想要檢查處理器是否有支援 SLAT,該如何進行檢查?
問題的發生原因
想要知道處理器是否支援第二層位址轉換,有相當多的方法可以取得資訊,例如內建的 systeminfo 與 msinfo32,微軟提供的工具 Coreinfo 都可以做到。
請注意如果您已經開啟虛擬化功能,例如您在 Windows 8 已經開啟 Hyper-V 功能,則您使用指令或工具將無法檢測處理器是否支援 SLAT。
如下圖所示,由於已經開啟 Hyper-V 導致 hypervisor 已經被使用,所以會出現【Hyper-V 需求:偵測到 hypervisor。將不會顯示 Hyper-V 所需的功能】。
而這也表示您的處理器具備了 SLAT,因此這些需要 SLAT 的功能才能被啟用。
問題的解決方法
使用 systeminfo
1. 開啟【命令提示字元】,輸入 systeminfo 按 Enter 鍵。
2. 在【Hyper-V 需求】中,可以得知處理器是否支援【第二層位址轉譯】。
使用 msinfo32
1. 按【Win 視窗鍵】+【R】,出現【執行】視窗,輸入 msinfo32 按 Enter 鍵。
2. 此時出現【系統資訊】,您可以從【Hyper-V - 第二層位址轉譯延伸】得知是否支援 SLAT。
使用 Coreinfo 工具
1. 連結至網址:http://technet.microsoft.com/zh-tw/sysinternals/cc835722.aspx 下載 Coreinfo,並且解壓縮取得 Coreinfo.exe。
2. 請【以系統管理員身分】執行【命令提示字元】。
3. 如果出現【使用者帳戶控制】視窗,請按【是】。
4. 切換至您 Coreinfo.exe 資料夾下,輸入 Coreinfo.exe /v 按 Enter 鍵。
5. 如果您是第一次使用,會出現如下畫面,請按【Agree】。
6. 您可以在【Supports Intel extended page tables (SLAT)】中,得知是否支援 SLAT,如果是 * 表示支援,如果是 - 表示不支援。