Estoy empezando a trabajar con Docker y después de algunas horas de intentar hacerlo funcionar, descubrí que mi BIOS lo estaba bloqueando y que necesitaba ajustar la configuración del BIOS. Me dijeron que el BIOS está relacionado de alguna manera con la placa base.
¿Cómo puede el BIOS bloquear este tipo de proceso, anulando el sistema operativo?
bios
virtualization
operating-systems
docker
Alvaro Joao
fuente
fuente
Respuestas:
No es que la CPU esté bloqueando un programa; no tiene un concepto de aplicaciones a ese nivel bajo. El problema es que Docker en sistemas operativos que no son Linux puede requerir virtualización de hardware. No ha especificado su sistema operativo, pero hice un poco de espionaje y descubrí que probablemente usa Windows.
La virtualización de hardware es una característica de la CPU que, como se puede adivinar por el nombre, permite que la CPU ayude con la virtualización. En muchas máquinas, debe habilitarlo en el BIOS. Esto es, en parte, para evitar problemas de seguridad . Básicamente, no pudo iniciar un programa porque intentó usar una función que estaba efectivamente ausente en lugar de bloqueada activamente.
fuente
a tiny bit of snooping
Ja..haLa respuesta de Ben N es claramente la más útil y clara.
Para aquellos que aún se preguntan, aquí está la historia completa.
La virtualización se logra con asistencia de hardware desde la CPU. Dado que un sistema operativo virtualizado interferiría con el host, ya que compiten por los mismos recursos, se necesita un mecanismo para evitar que el invitado tenga acceso incontrolado al hardware. Esto puede reducirse con software, lento, técnicas o con asistencia de la CPU.
La virtualización asistida por hardware se implementa con instrucciones específicas opcionales , puede leer sobre ella en los Capítulos 23, 24, 25, 26, 27 y 28 del Manual Intel 3B Parte 3 . El software primero debe verificar que estas instrucciones sean compatibles, antes de intentar usarlas.
Por razones de seguridad, la CPU tiene un registro especial, es un MSR , llamado IA32_FEATURE_CONTROL que contiene bits que dicen con la función para habilitar o deshabilitar.
Citando
El punto fundamental es que una vez que el registro está bloqueado, no se puede desbloquear hasta que se enciende .
Dado que BIOS / UEFI es lo primero, tiene el poder de deshabilitar la virtualización al borrar los bits apropiados y bloquear el registro antes de que cualquier sistema operativo pueda evitarlo. Cuando la función de virtualización se deshabilita de esta manera, la CPU informa que falta la extensión de instrucción opcional (y en realidad falla si se usan) y, por lo tanto, el software no puede usar la virtualización de hardware.
fuente