QEMU常用命令

QEMU 常用命令总结

QEMU 是一个开源的虚拟化软件,它能够模拟不同的硬件平台,让用户在不同的操作系统之间进行切换和测试。以下是 QEMU 常用命令的总结文档,包含每个命令的功能说明。

启动虚拟机

以下命令用于启动虚拟机:

qemu-system-x86_64 -boot d -cdrom /path/to/iso -m 1024 -hda /path/to/hda.img
  • -boot d:从 CD/DVD 启动
  • -cdrom /path/to/iso:指定 ISO 文件的路径
  • -m 1024:设置虚拟机的内存大小为 1024MB
  • -hda /path/to/hda.img:指定虚拟硬盘的路径

安装系统至磁盘

qemu-system-x86_64 \
    -cdrom ~/Downloads/ubuntu.iso \
    -drive file=ubuntu.qcow2 \
    -enable-kvm \
    -cpu host \
    -smp cores=2,threads=2 \
    -m 2G \
    -vga virtio \
    -display sdl,gl=on 

网络配置

以下命令用于配置虚拟机的网络:

qemu-system-x86_64 -net nic -net user,hostfwd=tcp::2222-:22
  • -net nic:启用虚拟网卡
  • -net user:使用用户模式网络堆栈
  • hostfwd=tcp::2222-:22:将主机的 2222 端口转发到虚拟机的 22 端口

调试

以下命令用于启用调试模式:

qemu-system-x86_64 -s -S
  • -s:启用 GDB 调试
  • -S:在启动时暂停虚拟机,等待调试器连接

快照管理

# 拍快照
qemu-img snapshot -c oe-rv-snapshot1  openEuler-22.09-riscv64-qemu.qcow2
# 列举快照
qemu-img snapshot-l openEuler-22.09-riscv64-qemu.qcow2
# 恢复快照
qemu-img snapshot -a my_snapshot mydisk.qcow2

查看虚拟硬盘信息

qemu-img info /path/to/image

将虚拟硬盘转换为 QCOW2 格式

qemu-img convert -O qcow2 /path/to/image /path/to/new/image

调整磁盘大小

qemu-img resize ubuntu.qcow2 +5G

显示器选项

qemu-system-x86_64 -vga std
qemu-system-x86_64 -display sdl
qemu-system-x86_64 -display gtk
  • -vga std:使用标准 VGA 显示器
  • -display sdl:使用 SDL 显示器
  • -display gtk:使用 GTK 显示器

输入选项

qemu-system-x86_64 -k en-us
qemu-system-x86_64 -usb
qemu-system-x86_64 -device usb-mouse
  • -k en-us:使用英文键盘布局
  • -usb:启用 USB 支持
  • -device usb-mouse:使用 USB 鼠标设备

声音选项

以下命令用于配置虚拟机的声音:

qemu-system-x86_64 -soundhw all
qemu-system-x86_64 -soundhw sb16
qemu-system-x86_64 -audiodev pa,id=pa1,out.mixing-engine=off
  • -soundhw all:启用所有声卡
  • -soundhw sb16:启用 SoundBlaster 16 声卡
  • -audiodev pa,id=pa1,out.mixing-engine=off:使用 PulseAudio 声音设备

USB 设备管理

以下命令用于管理虚拟机的 USB 设备:

qemu-system-x86_64 -usbdevice host:1234:5678
qemu-system-x86_64 -usbdevice tablet
qemu-system-x86_64 -usbdevice keyboard
  • -usbdevice host:1234:5678:将主机的 USB 设备 1234:5678 分配给虚拟机
  • -usbdevice tablet:使用 USB 触摸板
  • -usbdevice keyboard:使用 USB 键盘