Symptoms
1. VM Migration (Win-2012) from VZ6 to VZ7 is successful, however, VM is not booting:
[root@host1 ~]# prlctl migrate 55555.myvm.host root@vz7host2
Host key verification failed.
Migrate the VM 55555.myvm.host on vz7host2 ()
root@vz7host2's password:
Operation progress 100%
The data has been migrated. The VM has been stopped and will be converted on the target node.
The conversion may take up to 30 minutes
The converted VM is running on the destination server.
The original VM has been unregistered and saved in '/pstorage/storage/55555.myvm.host.pvm.migrated'
The VM has been successfully migrated.
[root@host1 ~]#
2. The troubleshoot screen is displayed via VNC when VM booted:
3. The following can be displayed on the trouble shooting attempt:
pointing that the disk cannot be properly detected on VM booting.
4. QEMU log for VM located at /var/log/libvirt/qemu/55555.myvm.host.log may contain 0x7b error:
13:37:32.818+0000: panic hyper-v: arg1='0x7b', arg2='0xf956d8d0', arg3='0xc0000034', arg4='0x0', arg5='0x0'
Tap fd 75 disable, ret 0
Tap fd 75 enable, ret 0
13:38:30.959+0000: panic hyper-v: arg1='0x7b', arg2='0xc6f6d8d0', arg3='0xc0000034', arg4='0x0', arg5='0x0'
Tap fd 75 disable, ret 0
Tap fd 75 enable, ret 0
Or just a screen message like 'No bootable device found'.
Cause
BSOD 7b means inaccessible boot device, caused by the problems with scsi driver, not detected after migration.
Resolution
Following steps should be done:
1. Attach floppy disk image with Windows 2012R2 drivers to virtual machine:
# prlctl set 55555.myvm.host --device-set fdd0 --image /usr/share/vz-guest-tools/floppy_win2012R0.vfd
2. Chang disk type for virtual machine and restarted the VM:
# prlctl set 55555.myvm.host --device-set hdd0 --iface scsi --subtype hyperv
3. Afterwards if VM booted in Recovery Mode, from Advanced Options menu start Command Prompt and install the drivers via DISM:
dism /image:<system_drive>:\ /add-driver /Driver:<floppy_disk_with_drivers>:\ /recurse
4. Change disk type for virtual machine back and restarted the VM:
# prlctl set 55555.myvm.host --device-set hdd0 --iface virtio --subtype virtio-scsi