Поправка: vt-x не е наличен (verr_vmx_no_vmx)

Някои потребители получават съобщението за грешка на  VT-x (verr_vmx_no_vmx)  всеки път, когато се опитват да стартират някоя от своите VM (виртуални машини) с помощта на VirtualBox или подобен софтуер.

Какво причинява vt-x не е налично (verr_vmx_no_vmx) грешка

Проучихме проблема, като се опитахме да го пресъздадем и разгледахме различни потребителски отчети. От това, което успяхме да съберем, има няколко сценария, които ще доведат до появата на това съобщение за грешка:

  • VT-X не е активиран в настройките на BIOS - VT-X може да бъде деактивиран от настройките на BIOS ръчно или дистанционно от някои приложения на трети страни.
  • Процесорът на машината не поддържа VT-X - Въпреки че тези случаи са редки, има случаи, в които се появява грешка, тъй като въпросният компютър просто не е оборудван да поддържа технологията VT-X.
  • Виртуализацията Hyper-V е активирана в Windows - Това е може би най-честата причина за възникването на тази грешка. Тъй като технологията Hyper-V на Microsoft е в конфликт с VT-X, операционната система автоматично ще деактивира VT-x, ако е активирана виртуализацията Hyper-V.
  • Актуализацията на Avast деактивира VT-X - Както се оказа, Avast пусна актуализация, която ефективно деактивира VT-x, докато защитата в реално време е активна, освен ако потребителят не разреши вложена виртуализация от менюто с настройки.
  • Core Isolation е активирана - Core isolation е опция за защита на Windows Defender, за която е известно, че влиза в конфликт с VT-X, докато е активирана.

Ако се мъчите да разрешите този конкретен проблем, тази статия ще ви предостави списък с проверени стъпки за отстраняване на неизправности. По-долу имате колекция от методи, които други потребители в подобна ситуация са използвали, за да разрешат проблема.

Тъй като методите по-долу са подредени по сложност и ефективност, най-добре е да ги следвате в реда, в който са представени и да продължите, докато не намерите решение, което е ефективно за вашия конкретен случай.

Метод 1: Деактивиране на виртуализацията Hyper-V

Тъй като това е един от най-често срещаните сценарии, нека започнем, като се уверим, че виртуализацията Hyper-V не пречи на VT-x. Всеки път, когато се активира виртуализацията Hyper-V, тя автоматично ще деактивира еквивалента на виртуализацията VT-x.

Може да се справите с този проблем след инсталиране на приложение като Docker. Имайте предвид, че в повечето случаи, дори ако деинсталирате приложението, което е активирало Hyper-V, технологията ще остане активирана - предотвратявайки работата на VT-x.

Нека тестваме този сценарий, като деактивираме Microsoft Hyper V. Има няколко начина, по които можете да деактивирате виртуализацията Hyper-V, но нека улесним нещата възможно най-лесно. Ето как да деактивирате Microsoft Hyper V от повишен команден ред:

  1. Натиснете клавиша Windows + R, за да отворите диалоговия прозорец Изпълнение. След това въведете „ cmd “ и натиснете Ctrl + Shift + Enter, за да отворите повишен команден ред. Когато бъдете подканени от прозореца UAC (User Account Control), щракнете върху Да .
  2. В повишения команден ред поставете следната команда, за да деактивирате Microsoft Hyper V и натиснете Enter :
    dism.exe / Online / Disable-Feature: Microsoft-Hyper-V Натиснете клавиша ENTER bcdedit / задайте хипервизор стартирайте натиснете клавиша ENTER
  3. След като командата се изпълни успешно, затворете повишения команден ред и рестартирайте компютъра.
  4. При следващото стартиране отворете отново машина Virtualbox и вижте дали все още получавате същото съобщение за грешка.

Ако все още виждате, че  грешката VT-x не е налична (verr_vmx_no_vmx),  когато се опитате да стартирате VM, преминете надолу към следващия метод по-долу.

Метод 2: Активиране на вложената виртуализация от менюто Настройки на Avast (ако е приложимо)

Ако използвате Avast, имайте предвид, че актуализацията на приложението, пусната през юни 2017 г., добавя автоматична функция, която автоматично ще попречи на VT-X да работи в системата ви, ако са изпълнени определени условия.

За щастие има начин да се коригира този проблем, без да се деинсталира клиентът за сигурност на трета страна. Много потребители съобщават, че са могли да разрешат проблема, след като са отишли ​​в Настройки на Avast> Отстраняване на неизправности и активиране на квадратчетата за отметка, свързани с Използване на вложена виртуализация, когато е налично,  и Активиране на хардуерно подпомагана виртуализация.

Ако този метод не е приложим за вашия конкретен сценарий, преминете към следващия метод по-долу.

Метод 3: Деактивирайте изолацията на ядрото от Windows Defender

Core Isolation е опция за защита на Windows Defender Device, за която е известно, че влиза в конфликт с VT-X. Ако получавате  грешка VT-x не е налична (verr_vmx_no_vmx)  и използвате Windows Defender като опция за защита по подразбиране, препоръчваме ви да извършите необходимите разследвания, за да определите дали изолацията на ядрото е активирана.

Ето как да направите това:

  1. Отворете иконата за старт в долния ляв ъгъл и потърсете Windows Defender. След това щракнете върху Центъра за защита на Windows Defender, за да отворите вградената опция за защита.
  2. След като влезете в Центъра за защита на Windows Defender, щракнете върху записа за защита на устройството от лявото странично меню.
  3. В менюто Защита на устройството кликнете върху Детайли за изолация на ядрото (под Изолация на ядрото ).
  4. Вътре в менюто за изолиране на ядрото се уверете, че превключвателят, свързан с целостта на паметта, е изключен .
  5. След като настройката е деактивирана, рестартирайте компютъра си и вижте дали проблемът е разрешен при следващото стартиране.

Ако все още не можете да стартирате виртуална машина Virtualbox, без да  получите грешка VT-x (verr_vmx_no_vmx)  , преминете надолу към крайния метод.

Метод 4: Активирайте VT-X от настройките на BIOS

Ако сте стигнали толкова далеч без резултат, вероятно причината, поради която получавате  VT-x, не е налична (verr_vmx_no_vmx)  е, че технологията е деактивирана от настройките на BIOS. Имайте предвид, че някои приложения на трети страни могат да заменят тези настройки, така че не отхвърляйте този метод, преди да проверите дали този сценарий е верен.

Стъпките за достъп до настройките на BIOS и проверка дали VT-X е активиран ще се различават в зависимост от производителя на дънната ви платка. Но обикновено можете да намерите тази настройка в Security (System Security), посочена като Virtualization Technology  или VTx / VTd .

Ако всички горепосочени методи се окажат разрушителни, много вероятно е вашата машина да не е оборудвана да поддържа VT-X. Можете да видите дали този сценарий е приложим за вашата ситуация, като инсталирате и стартирате този инструмент, разработен от Microsoft ( тук ), за да видите дали вашият процесор поддържа HAV (технологията зад VT-X).