У вас есть сервер Ubuntu с KVM:
Linux hyperv 4.4.0-109-generic #132-Ubuntu SMP Tue Jan 9 19:52:39 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Он запускает несколько виртуальных машин, которые являются Linux, и одну виртуальную машину Windows. После установки новой виртуальной машины сервера Windows 2016 возникает проблема. Виртуальную машину (называемую winstore) можно запустить, выполнив следующие действия:
virsh start winstore
И это нормально. Если эта конкретная виртуальная машина перезапущен изнутри виртуальной машины, она полностью отключится, но не вернись. Бег
virsh list
подтверждает, что это не началось. Чтобы запустить виртуальную машину, необходимо выполнить
virsh start winstore
очередной раз. Это не желаемое поведение и НЕ то, как ведут себя другие виртуальные машины Windows (они имеют желаемое поведение, то есть они перезагружаются при перезапуске).
ВМ была создана немного иначе, чем обычно. Изначально при создании виртуальной машины использовались следующие шаги:
создать образ диска
qemu-img create -f qcow2 -o preallocation=metadata /mnt/vmstorage/images/winstore.qcow2 1300G
получить xml-вывод того, что мы будем делать, чтобы мы могли изменить атрибуты cdrom
virt-install --name winstore --ram 8192 --vcpus=2 --graphics=vnc --network=bridge=br731,model=virtio --disk path=/mnt/vmstorage/images/winstore.qcow2,format=qcow2,bus=virtio,cache=none --disk path=/mnt/backups/isos/virtio-win-0.1.126.iso,device=cdrom --cdrom /mnt/backups/isos/SW_DVD9_Win_Server_STD_CORE_2016_64Bit_English_-4_DC_STD_MLF_X21-70526.ISO --os-type=windows --noautoconsole --accelerate --noapic --print-xml > winstore.xml
измените порядок компакт-дисков в файле xml:
<disk type="file" device="cdrom">
<driver name="qemu" type="raw"/>
<source file="/mnt/backups/isos/virtio-win-0.1.126.iso"/>
<target dev="hda" bus="ide"/>
<readonly/>
</disk>
<disk type="file" device="cdrom">
<driver name="qemu" type="raw"/>
<source file="/mnt/backups/isos/SW_DVD9_Win_Server_STD_CORE_2016_64Bit_English_-4_DC_STD_MLF_X21-70526.ISO"/>
<target dev="hdb" bus="ide"/>
<readonly/>
затем он был установлен и запущен, выполнив следующие действия:
virsh create ./winstore.xml
virsh start winstore
после установки xml был отредактирован, и два диска были заменены местами (hda / hdb), поэтому он будет загружаться с диска, а не cdrom. Затем виртуальная машина была определена в virsh со следующим:
virsh define ./winstore.xml
Опять же, виртуальная машина сейчас работает нормально, но запускается только с
virsh start winstore
Очередной раз, ЕСЛИ виртуальная машина перезагружается из гостевой системы, она не перезагружается, она просто выключается. Просматривая журналы в /var/log/libvirt/qemu/winstore.log, не видно ничего необычного.
Обратите внимание, что виртуальная машина отображается в
virsh list --all
Да, я абсолютно уверен, что не нажимаю кнопку «Завершение работы» в виртуальной машине Windows. :)
Согласно комментариям Майкла Хэмптона выше, в xml было "уничтожить" для <on_reboot>
узел вместо "перезапуска".