酷游网址 вт989点сс 讨论如何备份QEMU/KVM虚拟机档案。
Virt Manager所建立的虚拟机,预设会将虚拟硬碟映像档放到/var/lib/libvirt/images
,这也就是Libvirt预设映像档所在路径。
如果电脑Linux系统要重装,我们可以用最简单暴力的方法备份:将虚拟机组态(.xml)和虚拟硬碟映像档(.qcow2)复制到其他硬碟,未来就可以还原到新电脑。
- 这里以备份Windows 11虚拟机为例子。在备份Windows虚拟机的时候,除了备份虚拟机组态与虚拟硬碟以外,还要记得备份EFI Variables。
1. 备份虚拟机
先将虚拟机关机。
切换成root
Copy
列出虚拟机
virsh list --all
将"windows11"的虚拟机组态储存为XML,备份到第二个硬碟,例如/run/media/user/SSD2/
virsh dumpxml windows11 > /run/media/user/SSD2/windows11.xml
接着,备份虚拟机硬碟的qcow2档案到/run/media/user/SSD2/
cp /var/lib/libvirt/images/windows11.qcow2 /run/media/user/SSD2/windows11.qcow2
cp /usr/share/edk2/x64/OVMF_CODE.secboot.fd /run/media/user/SSD2/OVMF_CODE.secboot.fd
接着备份储存EFI Variables的OVMF_VARS
cp /var/lib/libvirt/qemu/nvram/Windows11_VARS.fd /run/media/user/SSD2/Windows11_VARS.fd
2. 还原虚拟机
若要还原虚拟机,先将虚拟硬碟移动至原本位置/var/lib/libvirt/images/
su
cp /run/media/user/SSD2/windows11.qcow2 /var/lib/libvirt/images/windows11.qcow2
cp /run/media/user/SSD2/Windows11_VARS.fd /var/lib/libvirt/qemu/nvram/Windows11_VARS.fd
再按照备份的XML组态重新建立虚拟机
virsh define --file /run/media/user/SSD2/windows11.xml