Pasando el módulo TPM a una máquina virtual usando Linux Virtual Machine Manager (virt-manager)
Hola a todos,
Hoy, veremos cómo pasar el módulo TPM (Trusted Platform Module) de nuestra máquina a una máquina virtual de QEMU/KVM usando la herramienta Virtual Machine Manager de Linux. También modificaremos un archivo de configuración de AppArmor para permitir acceso a este módulo. Esto aplica mayormente si queremos usar Windows 11 como una máquina virtual, a menos que uses un método para parchear una imagen ISO de Windows 11 para poder instalarlo.
Una vez Windows 11 esté instalado, el módulo TPM no es requerido, pero estos pasos harán que aparezca en la máquina virtual de todas formas, ofreciendo mejor seguridad al sistema.
Añadiendo el módulo TPM a nuestra máquina virtual
Comenzaremos lanzando la herramienta Virtual Machine Manager:
Ahí, haremos doble click a nuestra máquina virtual. Esto abrirá la consola. Luego, haremos click en el menú «View» y seleccionaremos «Details», lo cual nos permitirá configurar la máquina virtual:
Haz click en «Add Hardware» y selecciona «TPM» en la lista que se muestra:
Cambiaremos el tipo («Type») a «Passthrough». En «Device Path» (localización del dispositivo), escribiremos «/dev/tpm0». Esta es la localización que generalmente se encuentra el módulo TPM en linux. Luego, haz click en «Finish» para añadir este dispositivo a la máquina:
Editando el archivo libvirt-qemu de AppArmor para permitir acceso al TPM
Si intentamos encender nuestra máquina virtual, probablemente te encuentres con este mensaje:
Primero, verifica que el TPM esté activado en el BIOS de tu PC. Si lo está, entonces tenemos que actualizar el archivo libvirt-qemu de AppArmor para permitir que QEMU/KVM pueda acceder este dispositivo. Para esto, abriremos una ventana del terminal y editaremos el archivo /etc/apparmor.d/abstractions/libvirt-qemu
. Usaré nano
para editarlo:
Ve a la parte donde se menciona swtpm
(TPM emulado):
Y escribe lo siguiente. Puedes añadir una línea de comentario para identificar esta nueva sección:
# TPM Passthrough
/dev/tmp0 rw,
Guarda el archivo presionando CTRL + O seguido por «Enter»
Sal de nano
presionando CTRL + X. Luego, reiniciaremos el servicio de AppArmor con:
sudo service apparmor restart
Ahora, trataremos de encender nuestra máquina virtual.
Puede ser que se te presente este otro problema:
En este caso, una solución es cambiar el modelo del TPM («Model») de CRB a TIS:
Ahora, enciende tu máquina virtual otra vez y deberías tener el módulo TPM dentro del mismo: