что делать если процессор не поддерживает виртуализацию

990x.top

Простой компьютерный блог для души)

Как включить виртуализацию если ее нет в биосе?

На самом деле такого быть не может. Если в биосе нет нигде функции включения виртуализации процессора, значит всего два варианта:

К сожалению нечем утешить — кроме биоса активировать виртуализацию больше никак нельзя. Первое что вам нужно сделать — узнать точную модель процессора, после — погуглить характеристики и проверить, точно ли ваш проц поддерживает эту опцию.

Приложения для проверки наличия виртуализации. SecurAble — эта утилита проверяет наличие технологий безопасности, одной из которых выступает виртуализация, она легко покажет присутствует она или нет:

что делать если процессор не поддерживает виртуализацию. Смотреть фото что делать если процессор не поддерживает виртуализацию. Смотреть картинку что делать если процессор не поддерживает виртуализацию. Картинка про что делать если процессор не поддерживает виртуализацию. Фото что делать если процессор не поддерживает виртуализацию

Программа CPU-Z — показывает много характеристик процессора, одна из которых это поддерживаемые технологии, среди которых, при наличии — будет отображено название рассматриваемой функции:

что делать если процессор не поддерживает виртуализацию. Смотреть фото что делать если процессор не поддерживает виртуализацию. Смотреть картинку что делать если процессор не поддерживает виртуализацию. Картинка про что делать если процессор не поддерживает виртуализацию. Фото что делать если процессор не поддерживает виртуализацию

AIDA64 — это мощная программа, показывает очень много информации о железе ПК, включая характеристики процессора, если галочка стоит — значит нужная нам опция присутствует:

что делать если процессор не поддерживает виртуализацию. Смотреть фото что делать если процессор не поддерживает виртуализацию. Смотреть картинку что делать если процессор не поддерживает виртуализацию. Картинка про что делать если процессор не поддерживает виртуализацию. Фото что делать если процессор не поддерживает виртуализациюПрограмма платная, но есть бесплатный триальный период. Посмотреть данные можно в разделе Системная плата > CPUID > Функции виртуализации.

Надеюсь данная информация оказалась полезной. Удачи и добра.

Источник

С помощью программы VirtualBox и подобных ей инструментов можно симулировать наличие аппаратного обеспечения для запуска приложений в безопасной среде. Это позволяет избежать конфликтов ПО с другими программами, а также утечки данных из-за вирусов. Если функция аппаратной виртуализации включена, но не поддерживается вашим хостом, то начинаются проблемы, и непонятно, что делать в такой ситуации. Не все ОС могут использовать данную функцию. Хост в данной ситуации – это операционная система.

Однако ее при желании можно и поменять. Поэтому для начала убедитесь в том, что ваш процессор поддерживает аппаратную виртуализацию. Для этого сверьтесь с заводской наклейкой, содержащей техданные. Если она отсутствует или надпись неразличима, зайдите в «Свойства» своего компьютера. Забейте модель процессора в поисковик и почитайте про ее особенности.

Если данное оборудование не поддерживает виртуализацию, то просто отключите эту функцию. Для работы машины Virtual Box она не нужна.

Что делать, если функция аппаратной виртуализации включена, но не поддерживается вашим хостом

Если вы снова получили прежнее оповещение об ошибке, попробуйте другой подход. Выключите виртуализацию в настройках Virtual Box, если она не поддерживается хостом.

Нажмите « ОК », чтобы применить изменения. Теперь можно приступить к установке нужного вам ПО. Однако если вы продолжаете получать уведомление об ошибке, нужно вмешаться в работу БИОС.

Подробнее через эту ОС читайте в статье: Как войти в BIOS на компьютере с Windows 7

Каким образом решить проблему через BIOS, если функция не поддерживается хостом

Если аппаратная виртуализация включена, но ваш хост ее не поддерживает, поменяйте настройки БИОС. Чтобы это сделать, переведите на « Disabled » параметр « Intel Virtual Technology ». В результате функция виртуализации в BIOS отключится. Рассмотрим, как именно это делается.

Чтобы зайти в настройки БИОС на устройстве с ОС Windows 7 и 8, во время загрузки системы нажимайте ответственную за это кнопку. На разных моделях компьютера за переход в BIOS могут отвечать клавиши ESC, Delete, F1, F2, F3, F4 или F8. В результате вместо обычной загрузки Виндовз вас перебросит в Биос. Что же делать в таком случае? Давайте разбираться.

В Windows 10 откройте « Настройки »:

Источник

Как включить виртуализацию в BIOS — технологии Intel VT и AMD V

В этой статье мы рассмотрим, как включить виртуализацию в БИОС. Разберемся с такими технологиями, как Intel VT (Intel Virtualization Technology) и AMD-V ( часто ее называют SVM — Secure Virtual Machines), а также найдем решение некоторых возможных проблем.

По умолчанию, в настройках BIOS материнских плат, аппаратная виртуализация отключена. Чтобы ее включить, необходимо перейти в соответствующий раздел, который называется у каждого производителя биоса по своему. Например, «Virtualization Technology» или “Intel Virtualization Technology”. Для запуска, необходимо изменить значение опции с «Disabled» на «Enabled».

что делать если процессор не поддерживает виртуализацию. Смотреть фото что делать если процессор не поддерживает виртуализацию. Смотреть картинку что делать если процессор не поддерживает виртуализацию. Картинка про что делать если процессор не поддерживает виртуализацию. Фото что делать если процессор не поддерживает виртуализацию

Зачем нужна технология виртуализации обычному пользователю

Данная технология помогает расширить возможности компьютера и повысить эффективность используемого аппаратного обеспечения. Особенно широкое применение она получила в тестовых целях: перед запуском новую программу нужно “обкатывать” на различных устройствах, устраняя ошибки.

Виртуализация на домашнем ПК является настоящей необходимостью, если вы занимаетесь программированием под iOS или Android. При желании изучать Linux, используя операционную систему Windows, виртуализация избавит вас от необходимости стирать имеющуюся ОС и устанавливать другую с переносом данных.

Без этой технологии, пришлось бы устанавливать на один компьютер две и более операционных систем, делать загрузчик для них всех и запускать каждую ОС поочередно, что очень не удобно и отнимает много времени.

Виртуализация позволяет обойти все эти недостатки. Используя ее, можно запускать несколько OS одновременно и работать параллельно в той или иной среде выполняя соответствующие задачи.

Технология виртуализации носит разное название у производителей процессоров для ПК. У процессоров Intel – это Intel VT, у AMD — AMD–V.

Включение виртуализации в БИОС на процессоре Intel

Для пользователей процессоров Intel будет актуальна следующая инструкция ⇒

Включение виртуализации в БИОС на процессоре AMD

Инструкция для устройств, использующих AMD, немного отличается ⇒

Решение возможных проблем

Попытка включения нужной функции чаще всего сопровождается следующими проблемами ⇒

С первыми двумя проблемами пользователи сталкиваются, когда виртуализация не поддерживается имеющимся процессором. Чтобы убедиться в этом, следует найти на официальном сайте информацию о характеристиках процессора. Там всегда указывается, поддерживает ли данный CPU технологию виртуализации или нет.

В тех случаях, когда на вашем ПК отсутствует возможность включения виртуализации, не нужно пытаться активировать ее с помощью каких-либо программ. Подобные действия ухудшат работу ПК и не дадут результатов.

Бывают случаи, когда процессор осуществляет поддержку необходимой нам функции, но она неактивна и в БИОС отсутствует строка для ее включения. Теоретически в данной ситуации может помочь обновление БИОС. Возможно, что после обновления строка появится.

В третьем описанном случае неполадка, скорее всего, кроется во включении виртуальной машины Hyper-V или “Песочницы”.

Попробуйте такое решение ⇒

Если проблема по-прежнему не решена, то есть еще один способ. От имени администратора вызовите командную строку. В строчке нужно ввести следующее ⇒

bcdedit /set hypervisorlaunchtype off

После закрытия командной строки, потребуется перезагрузка ПК.

Виртуализация – действительно удивительная технология. Мы заставляем программное обеспечение принимать вид и поведение другого обеспечения, с иными, подчас более значительными преимуществами в возможностях, производительности и прочих спектрах. Получается, что технология виртуализации делает реальным то, что существует в абстракции.

Как видите, используя пошаговую инструкцию можно активировать виртуализацию на ПК без каких-либо трудностей. После активации этой технологии, вы сможете приступать к работе с гипервизорами или менеджерами виртуальных машин, сможете одновременно управлять различным количеством вычислительных процессов в нескольких оболочках.

Источник

Как включить виртуализацию на ПК в ОС Windows

Виртуализация — технология, позволяющая создавать на компьютере виртуальную среду, в которой можно запускать различные рабочие процессы, изолированные от основной операционной системы. Эта среда отделена от ОС таким образом, что процессы, происходящие внутри виртуальной среды, не затрагивают Windows.

Благодаря этой технологии, внутри операционной системы Windows можно запустить другие операционные системы: различные версии Windows, Linux, Android, macOS и т. д. Виртуальная среда использует ресурсы ПК одновременно с основной системой.

Если вам потребуется запустить на компьютере виртуальную машину или другой эмулятор, то для этого необходимо использовать технологию виртуализации. В связи с этим, у многих пользователей возникает вопрос о том, как включить виртуализацию, или как включить аппаратную виртуализацию на устройстве.

Технология аппаратной виртуализации на ПК обеспечивает высокую производительность программной эмуляции виртуальных сред. Аппаратная виртуализация включается в BIOS или UEFI, при условии, что эту технологию поддерживает центральный процессор вашего компьютера, а в интерфейсе BIOS/UEFI имеется соответствующая настройка.

Часто бывает, что аппаратная виртуализация включена в БИОС, а для работы функции Virtualization Technology (VT) нужно включить соответствующий компонент в операционной системе Windows.

В большинстве случаев, технология виртуализации используется для запуска различных виртуальных машин или приложений-эмуляторов ОС Android, типа BlueStacks. Вы можете использовать на своем ПК другую операционную систему внутри установленной на вашем устройстве Windows, запускать приложения, которые не работают на вашем компьютере, решать другие задачи при помощи соответствующего программного обеспечения.

Перед тем, как включить виртуализацию в Windows 10, необходимо обратить внимание на следующие обстоятельства:

Без поддержки процессором аппаратная виртуализация не будет работать на данном ПК. В UEFI или BIOS функция виртуализации может быть включена или выключена по умолчанию.

Чтобы воспользоваться технологией виртуализации на компьютере нужно выполнить следующий порядок действий:

Технология виртуализации может называться по-разному: Virtualization Technology, Vanderpool Technology, VT Technology, Virtualization, Intel VT-x (Intel Virtualization Technology), Virtual Machine eXtension, AMD-V, SVM (Secure Virtual Machines).

В этом руководстве вы найдете инструкции о том, как включить аппаратную виртуализацию на ПК в Windows и как получить информацию о поддержке данной технологии на вашем устройстве.

Как узнать поддержку процессором технологии виртуализации

Пользователь может использовать два пути: самостоятельно узнать спецификацию оборудования, чтобы по марке процессора узнать о поддержке процессором тех или иных технологий на официальном сайте Intel или на веб-сайтах продавцов компьютерного оборудования.

По типу процессора нужно найти поддерживаемые технологии, среди них «Технология виртуализации Intel (VT-x)».

что делать если процессор не поддерживает виртуализацию. Смотреть фото что делать если процессор не поддерживает виртуализацию. Смотреть картинку что делать если процессор не поддерживает виртуализацию. Картинка про что делать если процессор не поддерживает виртуализацию. Фото что делать если процессор не поддерживает виртуализацию

Другой метод: использование программного обеспечения, например, в бесплатной программе SecurAble:

что делать если процессор не поддерживает виртуализацию. Смотреть фото что делать если процессор не поддерживает виртуализацию. Смотреть картинку что делать если процессор не поддерживает виртуализацию. Картинка про что делать если процессор не поддерживает виртуализацию. Фото что делать если процессор не поддерживает виртуализацию

В параметре «Hardware Virtualization» отображается одно из трех значений: «Yes» (Да), «No» (Нет), «Locked OFF» (Заблокировано, отключено). С первыми двумя значениями все понятно, а параметр «Locked OFF» указывает на то, что поддержка аппаратной виртуализации имеется, но она отключена.

После установки программы на компьютер, в окне «ПО для идентификации процессоров Intel®» откройте раздел «Технологии ЦП», в котором можно увидеть поддерживаются ли процессором различные технологии, в том числе «Технология виртуализации Intel®» и «Технология Intel® VT-x с таблицами Extended Page Tables».

что делать если процессор не поддерживает виртуализацию. Смотреть фото что делать если процессор не поддерживает виртуализацию. Смотреть картинку что делать если процессор не поддерживает виртуализацию. Картинка про что делать если процессор не поддерживает виртуализацию. Фото что делать если процессор не поддерживает виртуализацию

Имейте в виду, что в некоторых случаях флажок в пункте технологии виртуализации может быть снят из-за того, что на данном ПК используется другое программное обеспечение с включенным гипервизором. Проверьте состояние этой функции в Диспетчере задач Windows.

Как посмотреть состояние виртуализации в Windows 10

Прежде, чем выполнять те или иные действия, необходимо удостовериться включена ли функция виртуализации в операционной системе Windows 10. Если это так, то дальнейшие действия по запуску этой технологии на ПК не потребуются.

что делать если процессор не поддерживает виртуализацию. Смотреть фото что делать если процессор не поддерживает виртуализацию. Смотреть картинку что делать если процессор не поддерживает виртуализацию. Картинка про что делать если процессор не поддерживает виртуализацию. Фото что делать если процессор не поддерживает виртуализацию

Как включить виртуализацию в Windows

В состав операционных систем Windows 10, Windows 8.1, Windows 8 входит компонент виртуализации Hyper-V, который нужно установить на компьютер. Включение гипервизора также требуется для использования другой изолированной среды — Песочницы в Windows 10.

Сейчас мы рассмотрим, как включить виртуализацию на Виндовс 10, чтобы использовать на компьютере гипервизор Microsoft.

Пройдите последовательные шаги:

что делать если процессор не поддерживает виртуализацию. Смотреть фото что делать если процессор не поддерживает виртуализацию. Смотреть картинку что делать если процессор не поддерживает виртуализацию. Картинка про что делать если процессор не поддерживает виртуализацию. Фото что делать если процессор не поддерживает виртуализацию

Как включить аппаратную виртуализацию в БИОС

У многих пользователей возникают вопросы о том, как включить аппаратную виртуализацию в BIOS. На компьютерах используются разные версии программного обеспечения BIOS. Кроме того, сам БИОС может быть старой версии — BIOS Legacy, или новой — UEFI.

Поэтому на ПК применяются разные способы для входа в БИОС, в зависимости от версии BIOS/UEFI или от компании — производителя оборудования. Существуют различные комбинации клавиш на клавиатуре чтобы войти в БИОС, ознакомьтесь с ними в специальной статье на этом сайте.

Для перемещения меду настройками параметров BIOS используйте клавиши со стрелками: «←», «→», «↑», «↓». Чтобы выбрать нужную настройку необходимо нажать на клавишу «Enter». При настройке опции необходимо выбрать один из двух параметров: «Enabled» (Включить) или «Disabled» (Отключить).

В интерфейсе UEFI поддерживается использование мыши.

Параметры для включения виртуализации могут находится в разных разделах БИОС, с отличающимися друг от друга названиями, в зависимости от используемой версии BIOS на ноутбуке или стационарном ПК: «BIOS Features», «Advanced BIOS Features», «Advanced», «Advanced — CPU Configuration», «Configuration», «Virtualization support», «Security».

Сама виртуализация в параметрах может называться: «Virtualization», «Intel Virtualization», «Intel Virtualization Technology», «Virtual Technology (VTx/VTd)», «SVM Mode», «AMD-V». Если в настройках БИОС имеются два параметра «Intel Virtualization Technology»: «VT-x» и «VT-d», включите обе опции.

Ознакомьтесь с действиями, выполняемыми в некоторых версиях БИОС: в старом и современном вариантах.

На компьютерах с Award BIOS:

что делать если процессор не поддерживает виртуализацию. Смотреть фото что делать если процессор не поддерживает виртуализацию. Смотреть картинку что делать если процессор не поддерживает виртуализацию. Картинка про что делать если процессор не поддерживает виртуализацию. Фото что делать если процессор не поддерживает виртуализацию

что делать если процессор не поддерживает виртуализацию. Смотреть фото что делать если процессор не поддерживает виртуализацию. Смотреть картинку что делать если процессор не поддерживает виртуализацию. Картинка про что делать если процессор не поддерживает виртуализацию. Фото что делать если процессор не поддерживает виртуализацию

что делать если процессор не поддерживает виртуализацию. Смотреть фото что делать если процессор не поддерживает виртуализацию. Смотреть картинку что делать если процессор не поддерживает виртуализацию. Картинка про что делать если процессор не поддерживает виртуализацию. Фото что делать если процессор не поддерживает виртуализацию

На ноутбуках с БИОС InsydeH2O:

что делать если процессор не поддерживает виртуализацию. Смотреть фото что делать если процессор не поддерживает виртуализацию. Смотреть картинку что делать если процессор не поддерживает виртуализацию. Картинка про что делать если процессор не поддерживает виртуализацию. Фото что делать если процессор не поддерживает виртуализацию

На устройствах ASUS с UEFI:

что делать если процессор не поддерживает виртуализацию. Смотреть фото что делать если процессор не поддерживает виртуализацию. Смотреть картинку что делать если процессор не поддерживает виртуализацию. Картинка про что делать если процессор не поддерживает виртуализацию. Фото что делать если процессор не поддерживает виртуализацию

На компьютере с UEFI BIOS, используемых на материнских платах Gigabyte, поддерживается русский язык интерфейса:

что делать если процессор не поддерживает виртуализацию. Смотреть фото что делать если процессор не поддерживает виртуализацию. Смотреть картинку что делать если процессор не поддерживает виртуализацию. Картинка про что делать если процессор не поддерживает виртуализацию. Фото что делать если процессор не поддерживает виртуализацию

Почему нет технологии виртуализации на ПК

В некоторых случаях, пользователь может увидеть в БИОС, что там нет пункта для включения технологии виртуализации, или этот параметр не активен. Это значит, что на данном компьютере центральный процессор не поддерживает эту технологию.

В других случаях, технология включена в БИОС, но виртуальная машина сообщает, что этой функции нет на данном ПК. Причина в том, что в операционной системе Windows 10, Windows 8.1, Windows 8 в это время включен гипервизор Hyper-V, который препятствует работе сторонних эмуляторов и виртуальных машин.

Необходимо отключить Hyper-V в настройках компонентов Windows. Для этого, нужно снять флажок напротив соответствующего пункта, а после отключения компонента перезагрузить компьютер.

Выводы статьи

Некоторые пользователи ищут ответ на вопрос о том, как включить виртуализацию на ПК, работающем в операционной системе Windows. Технология виртуализации используется для запуска на компьютере виртуальных машин или других эмуляторов. Пользователю необходимо узнать, поддерживает ли процессор компьютера виртуализацию, включить этот компонент в настройках операционной системы Windows, или активировать аппаратную виртуализацию в BIOS/UEFI.

Источник

Ломаем 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 после этого.

Счастье есть 🙂 Спасибо, что дочитали до конца.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *