функция аппаратной виртуализации включена но не поддерживается вашим хостом что делать
Что делать, если в VirtualBox появляется ошибка «Аппаратное ускорение (VT-x AMD-V) недоступно в вашей системе»
VirtualBox – замечательный программный инструмент, позволяющий устанавливать и запускать операционные системы и приложения в изолированной безопасной среде, а также выполнять различные тестирования их функций. Но может случится так, что в один момент при запуске виртуальной машины вы получите ошибку «Аппаратное ускорение (VT-x AMD-V) недоступно в вашей системе» и установленная на VirtualBox система не сможет запуститься.
В таких случаях пользователи нередко начинают искать причины неполадки в самом VirtualBox, изменять его настройки, переустанавливать и тому подобное, но корень проблемы обычно скрывается глубже. Если вы зайдете в настройки виртуальной машины в разделе «Система», то увидите, что вкладка «Ускорение» неактивна. Указанная ошибка редко возникает вдруг, «ни с того ни с сего», обычно ей предшествуют критические сбои, изменения системных настроек или аппаратные неполадки.
Также обратите внимание на следующий момент. Если на ноутбуке используется гибернация, в BIOS после выключения лэптопа вы можете не попасть, вместо этого у вас начнется загружаться система. Причина — изменение параметров электропитания, а именно, действия кнопок питания. Используйте перезагрузку или измените действие таким образом, чтобы при нажатии «Завершении работы» компьютер действительно выключался.
Схему управления питанием при этом лучше выбрать «Сбалансированная».
Но есть и другая причина, по которой VirtualBox может не видеть аппаратного ускорения. Такое бывает, если на ПК активен системный компонент Hyper-V. Откройте окно управления компонентами Windows, отыщите пункт Hyper-V и, если напротив него установлены галочки, снимите их, примените новые настройки и перезагрузите компьютер.
После этого созданные в VirtualBox машины должны начать запускаться. Ну и напоследок не помешает проверить настройки аппаратной виртуализации в самом виртуалбоксе. Галочки VT-x AMD-V и Nested Paging на вкладке «Ускорение» должны быть установлены.
Ломаем BIOS: включение поддержки виртуализации VT-x на нетбуке Acer Aspire One
В данной статье мы расскажем вам пошагово о том, как допилить напильником свой нетбук или ноутбук, в котором по какому-то недоразумению выключен и залочен в таком состоянии бит 2 в MSR 0x3A — попросту говоря, у вас есть в процессоре поддержка виртуализации, но она заблокирована биосом.
ПРЕДУПРЕЖДЕНИЕ: всё, описанное в этой статье, рассчитано на то, что вы знаете, что делаете. Всё на свой страх и риск! Если не уверены — не пытайтесь повторить это дома.
Итак, в чем же проблема?
Вот такое сообщение вы можете видеть при попытке запуска виртуалки с числом процессоров, большим чем 1:
Аналогичное сообщение об ошибке вы также получаете, если собираетесь запускать 64-битную виртуальную машину (например, Debian amd64) с 32-разнядной хост ОС, например WinXP.
Можно ли вылечить это?
На этот вопрос можно ответить, проверив некоторые биты в некоторых словах состояния процессора. Самый простой способ убедиться, что в вашем случае проблема лечится — это посмотреть на то, что показывает программа SecurAble. В моем случае это выглядело так:
Итак, если у вас программа показывает такую же картинку, как показанная выше, то вы можете вылечить эту проблему. Однако нюанс заключается в том, что это установить нужный бит в регистре процессора можно только в БИОСе, поскольку вредный БИОС вашего ноутбука его выставляет в ноль, потом включает блокирующий бит и изменение этого бита более невозможно (до перезагрузки компа, где БИОС во время POST опять его сбросит и залочит).
Биос на нетбуке Acer Aspire производства Insyde, настройки его очень скудны и по F2 естественно мы не можем зайти в программу редактирования настроек БИОСа и включить виртуализацию там. Это было бы слишком просто.
Поэтому, мы будем дизассемблировать БИОС и менять его код, чтобы у нас бит был выставлен в 1. Если готовы, то читаем далее.
Что нужно знать до начала работы
Итак, некоторая техническая информация — чтобы понимать, что мы делаем и зачем.
Современные процессоры, по крайней мере многие из них, имеют поддержку виртуализации. За нее отвечает бит №5 в слове ECX при вызове команды CPUID с параметром EAX=01H. Именно этот способ проверки — единственно верный, поскольку, как показывает практика, сайт Intel врет, например, для моего процессора Intel Atom N570. По этой ссылке написано:
Однако мы-то знаем, что это неправда. Для тех, кто на «ты» с программированием на ассемблере, не составит труда выяснить это, написав нечто вроде
и проверив потом 5-й бит регистра ECX.
Мне же было лень этим заниматься, поэтому я скачал опенсорсовую программу CPUID Explorer, запустил ее и посмотрел результат. К слову, CPU-Z тут непригодна — она дает результат слишком «юзер френдли» — нам же нужно было узнать точное значение бита. Вот как это выглядело в моем случае:
В кружочек обведен интересующий нас бит VMX. Он выставлен в 1, он есть, несмотря на то, что говорит нам сайт Intel.
Документация по командам процессора на стр. 215 говорит нам про команду CPUID, что
Bit #5 VMX Virtual Machine Extensions. A value of 1 indicates that the processor supports this technology
Но это еще не все. Чтобы гипервизоры второго типа смогли пользоваться командами поддержки виртуализации (VMX), необходимо явным образом разрешить эти инструкции в MSR (специальном регистре процессора) номер 0x3A. Вот что говорит нам документация по этому регистру на стр. 237:
регистр 3Ah: IA32_FEATURE_CONTROL
Бит 0: lock bit — если он выставлен, то дальнейшие модификации этого регистра не допускаются, до следующей перезагрузки.
Бит 1: VMX в SMX — safer mode extensions. Работа функций виртуализации в SMX допускается только тогда, когда процессор поддерживает SMX — это указывается в соседнем слева, 6-м бите в ECX при вызове команды CPUID.01H — на картинке выше этот бит равен нулю, наш процессор Atm N570 не поддерживает SMX — поэтому и в MSR 0x3A бит №1 должен быть нулевым.
Бит 2: VMX не в SMX — это, собственно, и есть бит, отвечающий за поддержку виртуализации. Он соответствует обведенному в кружочек биту в CPUID и именно он должен быть выставлен в 1.
Как проверить содержимое MSR 0x3A
Чтобы убедиться, что мы все про наш компьютер поняли верно, нужно посмотреть, что на самом деле у нас хранится в MSR 0x3A. Для этого я использовал пакет msr-tools в Debian (реальном, не виртуальном. В виртуальном результат неверный). Вот так вы сможете проверить значение этого бита:
— ребутаемся в Debian, потом:
Девять. Девять это 00001001. Как видим, наш BIOS использует недокументированный бит №3 в специальном слове регистра 0x3A — по документации, этот бит Reserved. Но это не суть. Суть в том, что у нас включен lock bit и выключен наш VMX бит №2 — так что все верно, программа SecurAble не врет и у нас действительно поддержка виртуализации отключена на уровне BIOS, хотя и поддерживается процессором.
Почему эту проблему нужно решать
Дело в том, что при отключенной поддержке виртуализации (VMX) в процессорном слове 0x3A ваши виртуальные машины в VirtualBox работают в режиме паравиртуализации. Они, не имея возможности перевести гипервизор в VMX Root и виртуальную машину в VMX Non-root operation, вынуждены делать трансляцию процессорных инструкций НА ЛЕТУ. Проблему представляют 17 инструкций процессора, которые не «VM-safe», т.е. они используют единственные на весь компьютер регистры или блоки данных (таблицы) в процессоре. Эти команды: SGDT, SIDT, SLDT, SMSW, PUSHF/POPF, LAR, LSL, VERR/VERW, CALL, JMP, INT n, INTO, RET, STR и даже банальная MOV! Все эти инструкции изменяются на лету, чтобы виртуальная машина выполнила их в безопасном для системы виде. Подробнее про эту проблему описано тут (англ.). Из-за этого страдает быстродействие виртуальной машины.
Что нам потребуется
Я проверил этот способ, залив таким образом стандартный биос с сайта производителя (другой версии, чем стоял у меня до этого) — действительно, работает, версия биоса обновилась.
Таким же способом я решил в итоге заливать в систему и прохаченный биос.
Итак, начинаем:
Распаковываем биос из SFX-архива, скачанного с сайта производителя. Сам иос будет иметь имя файла что-то вроде ZE6.fd и иметь размер 2 мегабайта ровно.
Далее нам необходимо распаковать БИОС, поскольку он сжат. Для этого используется программа PhoenixTool.exe. В первое поле в ее окошке мы указываем этот сжатый биос, и программа сама его декомпиляет на, в моем случае, целых 609 исходных файлов, имеющих имена в формате GUID.ext. Часть из этих файлов — конфигурационные, а часть — двоичные, но все с расширением ROM. Некоторые двоичные файлы содержат программы со стандартным виндовским PE заголовком.
Наша задача — среди этих 609 файлов найти файл, содержащий нужную нам инструкцию
оказалось, что искать команду MOV EAX, 3AH перед командой WRMSR бессмысленно — в моем биосе WRMSR оформлена как отдельная функция и принимает параметры через стек. Поэтому я делал это так (мне показалось то проще, чам в IDA): установил на Linux пакет nasm, который включает в себя ndisasm. Потом дизассемблировал все файлы *.ROM командой
И потом простым поиском нашел команду wrmsr в них — таких файлов оказалось 29. Потом пришлось каждый из ни загружать в IDA и искать там нужный код, который лочит регистр 3AH.
Такой код нашелся только в одном файле с именем 62D171CB-78CD-4480-8678-C6A2A797A8DE.MOD, и выглядел этот код так (после некоторой моей работы по переименованию функций в более понятные, и добавлении пары комментов):
По определению, код, который лочит регистр, делает это один раз. Потому это самое удачное место для того, чтобы сделать наш хак: меняем цифру 1 на цифру 5 в инструкции:
Это приведет к тому, что одновременно с выставлением lock bit мы выставляем бит VMX (бит #2). Заметим тут, что мы не имеем права выставлять бит #1, поскольку набор инструкций SMX у нас в процессоре не поддерживается (это говорит CPUID.1H:ECX bit 6.
Менять будем не совсем в файле *.ROM, а в оплетке *.MOD, которая содержит этот файл. Для этого нужно в программе PhoenixTool.exe, которая у нас уже открыта и биос в нее уже загружен, нажать на кнопку Structure, и инайти ветку с нашим именем файла:
Нажимаем кнопку Extract, получаем файл *.MOD (который состоит из заголовка + тела файла *.ROM), и правим наш бит именно в этом файле MOD. Смотрим в IDA, какой двоичный код соответствует окрестности инструкции, которую мы меняем, и в HEX редакторе открываем файл, ищем это место в коде, и меняем всего 1 байт с 01 на 05. Сохраняем модифицированный файл *.MOD. Потом в PhoenixTool нажимаем Replace, выбираем модифицированный MOD, и нажимаем Exit. Всё. Программа сама пересобрала биос и упаковала его для нас, при этом назвала его тем же именем, что и было (старый файл сохранен с расширением OLD).
Всё. Теперь заливаем единственный файл с новым биосом на USB HDD (можно и на USB флешку), и выполняем описанную выше процедуру аварийного восстановления биоса. Она прошьет комп этом новым биосом и всё будет готово.
Вот как теперь выглядит вывод программы SecurAble:
Теперь VirtualBox запускает виртуалки с 4 ядрами (а не с одним, как было раньше). Теперь я из-под своей основной 32-разряной операционной системы могу запускать 64-битные операционки в виртуалках.
И, что самое главное, теперь виртуалки на самом деле виртуализованные (гипервизор использует инструкции VMX), а не паравиртуализованные.
P.S. В биосах других производителей (не Insyde) есть возможность править не сам BIOS, а только его настройки, извлекаемые программой SYMCMOS.EXE. Там процесс такой же, за исключением того, что в дизассемблированном биосе находится номер настройки, которая используется для запрещения или разрешения VMX, и потом эта настройка правится непосредственно в CMOS биоса. В моем же биосе таких настроек нет, или программа symcmos их не находит, поэтому такой путь допиливания напильником не подходит в моем случае. Путь непосредственного хака биоса выглядит надежнее: мы таким образом просто игнорируем какие бы то ни было настройки биоса, просто выставляем бит VMX и лочим регистр 0x3A после этого.
Счастье есть 🙂 Спасибо, что дочитали до конца.
Ошибка в программе VirtualBox. Аппаратное ускорение (VT-x AMD-V) недоступно в вашей системе. Что делать?
При работе с программным продуктом виртуализации VirtualBox, нередко возникают проблемы и неполадок, связанные с установкой на виртуальную машину той или иной операционной системы. Причины возникновения ошибок в работе могут быть разные и с одной из них, где говорится о том, что «аппаратное ускорение (VT-x AMD-V) недоступно в вашей системе», мы будем разбираться в данной статье.
В данном случае, такая проблема возникла при установке операционной системы windows 8, хотя когда производилась установка ОС windows 7, такой ошибки не возникало. Как же нам решить данную проблему? Узнаем ниже.
Итак, в первую очередь мы должны убедиться в том, что процессор поддерживает функцию VT-x/AMD-V, для это прочитайте статью Как проверить поддерживает ли ваш процессор аппаратную виртуализацию Intel VT-x/VT-d и AMD-V. А для её включения, необходимо перейти в BIOS материнской платы. Для это перезагружаем компьютер и переходим в BIOS нашей системы.
Для того, что бы перейти в BIOS, нам нужно при включение компьютера нажимать клавишу Delete на клавиатуре. (Если не заходит с помощью клавиши delete попробуйте F1, F2) При включении компьютера на начальном экране обычно видно какая клавиша ведет в BIOS.
В результате мы попадаем в BIOS нашего компьютера. Далее выбираем вкладку «Advanced». Там мы видим вкладку «CPU Configuration» выбираем её и нажимаем «Enter»
Попадаем в меню конфигураций, где видим вкладку «Secure Virtual Machine Mode», напротив стоит значение «Disabled», что означает отключено, нам просто надо её включить, для этого нажимаем на вкладку и выбираем значение «Enabled».
Как мы видим на рисунке значение поменялось, теперь нам надо сохранить внесённые изменения.
Для сохранения внесённых изменений переходим на вкладку «Exit», далее выбираем вкладку «Exit & Save Changes». В открывшемся окошке где нам предлагают сохранить внесенные изменения, нажимаем «OK» и ждем пока компьютер перезагрузится.
Далее открываем программу VirtualBox, заходим в «настройки» той системы которую хотели установить, в моём случае это Windows 8.1.Нажимаем на вкладку «система», далее «ускорение», ставим галочки напротив указанных на картинке пунктов и нажимаем «OK».
Всё! Ошибка больше не выскакивает, можно начинать установку. И в заключении хочу порекомендовать единственный в своем роде телеграмм канал наших добрых знакомых, где они выкладывают программы для windows абсолютно бесплатно.
О ставляйте своё мнение о данной статье, ну и конечно же задавайте свои вопросы если у вас что то вдруг пошло не так.
Сообщение об ошибке виртуализации с аппаратной программой в режиме Windows XP в виртуальном компьютере с Windows на компьютере с Windows 7
Проблемы
Виртуальный компьютер с Windows и режим Windows XP устанавливаются на компьютер под управлением Windows 7. При попытке запустить или настроить режим Windows XP на виртуальном компьютере с Windows вы получаете одно из следующих сообщений об ошибке:
Обратите внимание, что при попытке запустить или настроить любую другую виртуальную машину в виртуальном компьютере с Windows может появиться одно из следующих сообщений об ошибке.
Не удается запустить виртуальный компьютер с Windows, так как виртуализация с аппаратной программой отключена
Это сообщение об ошибке указывает на то, что функция виртуализации с поддержкой оборудования (HAV) не включена на вашем компьютере.
Не удается запустить процесс виртуальных компьютеров с Windows. Дополнительные сведения можно посмотреть в журнале системных событий
Это сообщение об ошибке указывает на то, что процессор не поддерживает функцию HAV.
Не удается запустить виртуальный компьютер с Windows, так как этот компьютер не поддерживает виртуализацию с поддержкой оборудования
Это сообщение об ошибке вы получаете при попытке запустить или настроить виртуальную машину, которая не работает в режиме Windows XP. Это сообщение об ошибке указывает на то, что процессор не поддерживает функцию HAV.
Причина
Виртуальный КОМПЬЮТЕР Windows и режим Windows XP поддерживаются только на компьютерах, процессоры которых поддерживают функцию HAV. Поэтому, если процессор не поддерживает функцию HAV или эта функция отключена, вы не сможете запускать виртуальные машины на виртуальном компьютере с Windows.
Решение
Важно, это обновление поддерживает только виртуальные машины Windows XP Пакет обновления 3.
Обратите внимание, что это обновление входит в пакет виртуального ПК с Windows для систем с Windows 7 Пакет обновления 1: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=3702Для решения этой проблемы выполните следующие
С помощью средства обнаружения виртуализации, поддерживаемого оборудованием Майкрософт, определите, поддерживает ли процессор функцию HAV. Чтобы скачать это средство, посетите следующий веб-сайт Корпорации Майкрософт:
Если процессор поддерживает функцию HAV, но эта функция не включена, средство обнаружения виртуализации с поддержкой оборудования корпорации Майкрософт отображает следующее сообщение об ошибке:Чтобы включить эту функцию в
ФУНКЦИИ БИЗ, выполните инструкции на следующем веб-сайте корпорации
Майкрософт:
Если процессор не поддерживает функцию HAV, средство обнаружения виртуализации, поддерживаемое оборудованием Корпорации Майкрософт, выведет следующее сообщение об ошибке:Важно, рекомендуем установить это обновление только в том случае, если процессор не поддерживает
Известная проблема после установки этого обновления может оказаться невозможной скопировать и вкопировать файлы между Windows 7 и Windows XP Mode (или любой другой
виртуальной машиной). Чтобы обойти эту проблему, скопируйте и вкопируйте общие диски Windows 7, к ним можно получить доступ с виртуальной машины. Для этого выполните следующие действия:
Убедитесь, что вы включаете функции интеграции в виртуальной машине. Дополнительные сведения о том, как включить эти функции, можно найти на следующем веб-сайте корпорации Майкрософт:
На виртуальной машине откройте проводник и скопируйте или вкопируйте файлы между диском виртуальной машины и общим диском Windows 7.
Обратите внимание, что общий диск Windows 7 отображается в как буква диска>на имени >.
Сведения об обновлении
Получение обновления
В Центре загрузки Майкрософт доступны для скачивания следующие файлы:
Все поддерживаемые 32-разрядные (x86) версии Windows 7
скачайте пакет обновления.
Все поддерживаемые 64-разрядные (x64) версии Windows 7
скачайте пакет обновления.
Дополнительные сведения о загрузке файлов поддержки корпорации Майкрософт см. в следующей статье базы знаний Майкрософт:
119591 Как получить файлы поддержки Майкрософт от веб-служб, которые корпорация Майкрософт проверяла этот файл
на вирусы. Корпорация Майкрософт использует самые последние на момент публикации файла версии антивирусного программного обеспечения. Файл хранится на защищенных серверах, что предотвращает его несанкционированное изменение.
Предварительные условия
Чтобы применить это обновление, необходимо использовать Windows 7 наряду с виртуальным компьютером с Windows.
Сведения о внесении изменений в реестр
Чтобы использовать обновление из этого пакета, не требуется вносить изменения в реестр.
Требование перезагрузки
После установки этого обновления может потребоваться перезагрузить компьютер.
Сведения о замене обновлений
Это обновление не заменяет ранее выпущенное обновление.
Сведения о файлах
Глобальная версия этого исправления устанавливает файлы с атрибутами, которые указаны в приведенных ниже таблицах. Даты и время для файлов указаны в формате UTC. Даты и время для этих файлов на локальном компьютере отображаются с учетом часового пояса и перехода на летнее время. Кроме того, даты и время могут изменяться при выполнении определенных операций с файлами.
Заметки о файлах Windows 7
Файлы, которые относятся к определенному продукту, вехе (RTM, SP n)и ветви обслуживания (LDR, GDR), можно определить, изучив номера версий файлов, как показано в следующей таблице:
Ошибка в программе VirtualBox. Аппаратное ускорение (VT-x AMD-V) недоступно в вашей системе. Что делать?
При работе с программным продуктом виртуализации VirtualBox, нередко возникают проблемы и неполадок, связанные с установкой на виртуальную машину той или иной операционной системы. Причины возникновения ошибок в работе могут быть разные и с одной из них, где говорится о том, что «аппаратное ускорение (VT-x AMD-V) недоступно в вашей системе», мы будем разбираться в данной статье.
В данном случае, такая проблема возникла при установке операционной системы windows 8, хотя когда производилась установка ОС windows 7, такой ошибки не возникало. Как же нам решить данную проблему? Узнаем ниже.
Итак, в первую очередь мы должны убедиться в том, что процессор поддерживает функцию VT-x/AMD-V, для это прочитайте статью Как проверить поддерживает ли ваш процессор аппаратную виртуализацию Intel VT-x/VT-d и AMD-V. А для её включения, необходимо перейти в BIOS материнской платы. Для это перезагружаем компьютер и переходим в BIOS нашей системы.
Для того, что бы перейти в BIOS, нам нужно при включение компьютера нажимать клавишу Delete на клавиатуре. (Если не заходит с помощью клавиши delete попробуйте F1, F2) При включении компьютера на начальном экране обычно видно какая клавиша ведет в BIOS.
В результате мы попадаем в BIOS нашего компьютера. Далее выбираем вкладку «Advanced». Там мы видим вкладку «CPU Configuration» выбираем её и нажимаем «Enter»
Попадаем в меню конфигураций, где видим вкладку «Secure Virtual Machine Mode», напротив стоит значение «Disabled», что означает отключено, нам просто надо её включить, для этого нажимаем на вкладку и выбираем значение «Enabled».
Как мы видим на рисунке значение поменялось, теперь нам надо сохранить внесённые изменения.
Для сохранения внесённых изменений переходим на вкладку «Exit», далее выбираем вкладку «Exit & Save Changes». В открывшемся окошке где нам предлагают сохранить внесенные изменения, нажимаем «OK» и ждем пока компьютер перезагрузится.
Далее открываем программу VirtualBox, заходим в «настройки» той системы которую хотели установить, в моём случае это Windows 8.1.Нажимаем на вкладку «система», далее «ускорение», ставим галочки напротив указанных на картинке пунктов и нажимаем «OK».
Всё! Ошибка больше не выскакивает, можно начинать установку. И в заключении хочу порекомендовать единственный в своем роде телеграмм канал наших добрых знакомых, где они выкладывают программы для windows абсолютно бесплатно.
О ставляйте своё мнение о данной статье, ну и конечно же задавайте свои вопросы если у вас что то вдруг пошло не так.