Как BIOS может блокировать виртуализацию?

Я начинаю работать с Docker и через несколько часов, пытаясь заставить его работать, я узнал, что мой BIOS блокирует его, и что мне нужно настроить параметры BIOS. Мне сказали, что BIOS как-то связан с материнской платой.

Как BIOS может блокировать такого рода процесс, отменяя операционную систему?

29
задан psmears
08.03.2023 11:46 Количество просмотров материала 3612
Распечатать страницу

2 ответа

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

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

37
отвечен Ben N 2023-03-09 19:34

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 на первом месте, он имеет право отключить виртуализацию, очистив соответствующие биты и блокировки регистра, прежде чем любая ОС может предотвратить это. Когда функция виртуализации отключена таким образом, ЦП сообщает, что это необязательно расширение инструкции отсутствует (и на самом деле неисправности, если они используются), и поэтому программное обеспечение не может использовать аппаратную виртуализацию.

41
отвечен Margaret Bloom 2023-03-09 21:51

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх