背景
现网局点做p2v的时候,发现已有os是uefi启动
经过查阅虚拟机化层使用OVMF模拟
p2v和制作镜像分别参考如下不同章节
p2v
在支持UEFI的主机上使用如下xml进行启动虚拟机
主板模拟使用q35主板
使用qemu:commandline 标签对挂载ide驱动的windows镜像,和virtio驱动盘即可启动。
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
<os>
<type arch='x86_64' machine='q35'>hvm</type>
<loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.secboot.fd</loader>
<nvram template='/usr/share/OVMF/OVMF_VARS.fd'/>
</os>
<features>
<acpi/>
</features>
<devices>
</devices>
<qemu:commandline>
<qemu:arg value='-hda'/>
<qemu:arg value='/opt/imagecache/images/153.qcow2'/>
<qemu:arg value='-cdrom'/>
<qemu:arg value='/opt/imagecache/images/virtio-win-0.1.126.iso'/>
</qemu:commandline>
</domain>
其他后续操作和正常p2v流程保持一致即可。
镜像制作
uefi的启动的时候如果遇到如下错误
可以重做windows启动映像,把virtio打到boot.wim和install.wim
具体可以参考这篇博文
(关键词,dism,virtio,wim)