Ben N ответ, безусловно, самый полезный и ясный.
для тех, кто до сих пор интересно, однако вот полная история.
виртуализация достигается с помощью аппаратной помощи от процессора. Поскольку виртуализированная ОС будет мешать хосту, поскольку они конкурируют за одни и те же ресурсы, необходим механизм, чтобы остановить гостя от неконтролируемого доступа к оборудованию.
Это может быть вниз с програмным обеспечением, медленным, методами или с помощью центрального процессора.
аппаратная виртуализация реализована с конкретным,дополнительно инструкции, вы можете прочитать об этом в главах 23, 24, 25, 26, 27 и 28 Intel Manual 3B Part 3.
Программное обеспечение должно сперва проверить для этих инструкций, который нужно поддержать, перед попыткой используя их.
по соображениям безопасности, процессор имеет специальный регистр, это MSR, под названием IA32_FEATURE_CONTROL то держит биты говоря с характеристикой для того чтобы включить или выключить.
Quoting
бит 0-бит блокировки. Если этот бит ясен, VMXON вызывает исключение общей защиты. Если установлен бит блокировки,
WRMSR к этому MSR вызывает исключение общей защиты;МСР нельзя доработать до возврата включения питания
условие. Системный BIOS может использовать этот бит, чтобы обеспечить опцию настройки для BIOS, чтобы отключить поддержку VMX. К
включение поддержки VMX на платформе, BIOS должен установить бит 1, бит 2, или оба (см. ниже), а также бит блокировки.
принципиальный момент заключается в том, что после того, как реестр заблокирован, он не может быть разблокирован до питания.
Так как BIOS / UEFI на первом месте, он имеет право отключить виртуализацию, очистив соответствующие биты и блокировки регистра, прежде чем любая ОС может предотвратить это.
Когда функция виртуализации отключена таким образом, ЦП сообщает, что это необязательно расширение инструкции отсутствует (и на самом деле неисправности, если они используются), и поэтому программное обеспечение не может использовать аппаратную виртуализацию.