He visto en algunas máquinas virtuales que Ubuntu no termina de apagarse. Es algo que he visto desde hace ya mínimo un año y parece que he dado con la solución.
En algunos casos se puede ver un mensaje que dice
A stop job is running for XXXXX
Después del mensaje aparece un contador de tiempo que puede ir hasta los 15 minutos.
Los pasos que he seguido para solucionar esto son:
Editar el archivo /etc/systemd/system.conf y poner los siguientes valores
DefaultTimeoutStartSec=10s
DefaultTimeoutStopSec=10s
Después ejecutamos el comando systemctl daemon-reload
Editar el archivo /etc/default/grub y dejar la siguiente linea con estos valores
GRUB_CMDLINE_LINUX_DEFAULT="acpi=force"
Después ejecutamos el comando update-grub
Otro mensaje que he visto en otras ocasiones dice:
Unattended-upgrade in progress during shutdown, waiting 5s
Para solucionar este problema, he desinstalado el paquete unattended-upgrades ejecutando
apt-get remove –purge unattended-upgrades
Con esto ya todas las VMs que tenian problemas para apagarse o reiniciarse funcionan como era de esperar.