這用來給自己的日記,將來遇到一樣的問題就不用再到處Google
有一些軟體需要打開VTx才能「正常」運行的,如Vmware、Virtualbox、Nox、BlueStacks等等,但有的時候好死不死會踩到就算從Bios開啟了VTx還是顯示無法使用。
我的情境:
幾年前就從Bios打開VTx,我用的是Aorus主機板所以是SVM,本質是一樣的。就一直用Vmware和Virtualbox到現在,然後今天突然就無法打開了。
無法打開的原因大概是因為我安裝了Windows 10的WSL2後又刪除,這過程碰到了一些神秘的東西導致VTx失效。
失敗的解決方法:
1. 從Bios關閉VTx後再重新打開,失敗。
2. 從Windows Features把Hyper-V/Windows Hypervisor Platform打開後再關閉,失敗。
3. 用一個叫「LeoMoon CPU-V」的軟體檢查,在關閉VTx的狀態下,左邊的AMD-v Support是打勾的,右邊的AMD-v Enabled是打x,下面改圖範例:
而在Bios把VTx(SVM)打開了過後,兩個都會變成打X,一頭霧水。我的CPU原本支援AMD-v,開啟了VTx反而不支援,怎麼可能。
找到的解決方法:
在因緣際會下,找到了這篇 https://stackoverflow.com/questions/33552810/virtualbox-virtualization-is-enabled-but-not-working , 解決方法就是投票最高的解答。
1. 首先用管理員運行cmd
2. 執行bcdedit
最下面圈起來的「hypervisorlaunchtype」會顯示為「Auto」,上圖顯示off是因為我改過了
3. 執行bcdedit /set hypervisorlaunchtype off
4. 重啟
就這樣解決了。
猜想可能造成的原因是安裝/卸載wsl2的時候,Windows某個參數被修改後導致的異常,具體是什麼也懶得追,有可能hypervisorlaunchtype原本是Auto,然後wsl某個地方會調用到hypervisor,這時就變成On,即使卸載了wsl2也不會變成off,才造成了我遇到的問題。猜兇手是Windows features里「Windows Hypervisor Platform」的bug造成的
注:請不要在工作的電腦安裝wsl和tensorflow,絕對會把環境搞到一團糟XDDDD