如何保存使用 qemu-system-x86_64 启动的 QEMU VM 的机器状态?

如何保存使用 qemu-system-x86_64 启动的 QEMU VM 的机器状态?

我有一个正在运行的虚拟机:

qemu-system-x86_64 -m 8192 -smp 3 \
  -net user -net nic,model=virtio -boot menu=on \
  -drive file=guixsd-usb-install-0.13.0.x86_64-linux \
  -drive file=guixsd.img

根据GuixSD虚拟机安装指南(进行了一些细微的修改,例如 RAM 使用情况、文件名和分配的 CPU 核心)。我想保存机器状态,以便以后可以恢复它(与保存之前完全相同,就在运行命令的中间)guix system init ...。类似于 VirtualBox VM 的“保存机器状态”选项我看到了这个答案。https://unix.stackexchange.com/a/361015/27613但它需要虚拟机的名称,运行时virsh list --all不会列出通过此命令启动的虚拟机的名称。 DuckDuckGo 搜索答案没有透露任何内容,因为大多数结果与我是否从 virt-manager 启动虚拟机有关。

答案1

您的 qemu 似乎显示了一个窗口。如果是这种情况,请按ctrl-alt-2切换到显示器界面(并ctrl-alt-1返回)。

您应该看到 (qemu) 提示符,现在您可以输入以下命令

  • loadvm <snapshot name>
  • savevm <snapshot name>
  • delvm <snapshot name>
  • info snapshots

当 qemu 未运行时,您可以使用 列出保存的状态qemu-img snapshot -l guix.img

启动qemu时可以通过添加开关直接加载快照

-loadvm <snapshot name>

到命令行。

为了更方便的访问monitor界面,添加指令

-monitor telnet:127.0.0.1:1234,server,nowait

到命令行。然后您可以用来telnet localhost 1234与 qemu 对话。注意:不要进入qquit离开那里,这将导致模拟器关闭!按ctrl-]然后类型q

相关内容