Я начинаю работать с Docker и после нескольких часов попыток заставить его работать, я обнаружил, что мой BIOS блокирует его, и что мне нужно настроить параметры BIOS. Мне сказали, что BIOS как-то связан с материнской платой.
Как BIOS может блокировать этот процесс, переигрывая операционную систему?
bios
virtualization
operating-systems
docker
Альваро Жоао
источник
источник
Ответы:
Дело не в том, что процессор блокирует программу; у него нет концепции приложений на этом низком уровне. Проблема в том, что Docker в операционных системах, отличных от Linux, может потребовать аппаратной виртуализации. Вы не указали свою ОС, но я немного отыскал и обнаружил, что вы, вероятно, используете Windows.
Аппаратная виртуализация - это функция ЦП, которая, как можно догадаться из названия, позволяет ЦП помочь с виртуализацией. На многих машинах вы должны включить его в BIOS. Это частично предотвращает проблемы безопасности . По сути, вы не могли запустить программу, потому что она пыталась использовать функцию, которая фактически отсутствовала, а не активно блокировалась.
источник
a tiny bit of snooping
Ха..хаОтвет Бен Н, безусловно, самый полезный и понятный.
Для тех, кто все еще задается вопросом, однако, вот полная история.
Виртуализация достигается с помощью аппаратного обеспечения от процессора. Поскольку виртуализированная ОС будет мешать хост-системе, поскольку они конкурируют за одни и те же ресурсы, необходим механизм, позволяющий запретить гостю иметь неконтролируемый доступ к оборудованию. Это может быть связано с программным обеспечением, медленной техникой или с помощью процессора.
Аппаратная виртуализация реализована с помощью специальных дополнительных инструкций, о которых вы можете прочитать в главах 23, 24, 25, 26, 27 и 28 Руководства Intel 3B, часть 3 . Программное обеспечение должно сначала проверить, поддерживаются ли эти инструкции, прежде чем пытаться их использовать.
По соображениям безопасности, CPU имеет специальный регистр, это MSR , называемый IA32_FEATURE_CONTROL, который содержит биты, сообщающие с возможностью включения или выключения.
квотирование
Принципиальным моментом является то, что, как только регистр заблокирован, он не может быть разблокирован до включения питания .
Поскольку на первом месте стоит BIOS / UEFI, он может отключить виртуализацию, очистив соответствующие биты и заблокировав регистр, прежде чем любая ОС сможет это предотвратить. Когда функция виртуализации отключена таким образом, ЦПУ сообщает, что отсутствует дополнительное расширение инструкции (и фактически происходит сбой, если они используются), и поэтому программное обеспечение не может использовать аппаратную виртуализацию.
источник