[QEMU]QEMU 监视器(1)

QEMU 监视器用于向 QEMU 仿真器发出复杂的命令。您可以使用它来:
删除或插入可移动媒体映像(如 CD-ROM 或软盘)。
冻结/解冻虚拟机 (VM) 并从磁盘文件中保存或还原其状态。
在没有外部调试器的情况下检查 VM 状态。
命令
可以使用以下命令:
help
或 [厘米?
]显示所有命令的帮助或仅显示命令 cmd 的帮助。
commit
提交对磁盘映像(如果使用 -snapshot)或备份文件的更改。如果备份文件小于快照,则备份文件的大小将调整为与快照大小相同。如果快照小于备份文件,则备份文件不会被截断。如果希望后备文件与较小快照的大小匹配,则可以在提交操作成功完成后自行安全地截断它。
quit
或q
退出模拟器。
exit_preconfig
此命令使 QEMU 退出预配置状态,并在预配置状态期间使用命令行上提供的配置数据并通过 QMP 监视器继续进行 VM 初始化。该命令仅在预配置状态下可用(即,当使用 –preconfig 命令行选项时)。
block_resize
在客户机运行时调整块图像的大小。通常需要来宾操作才能看到更新的大小。支持将大小调整为较小的大小,但应极其谨慎地使用。请注意,此命令仅调整图像文件的大小,它不能像LVM卷那样调整块设备的大小。
block_stream
将数据从备份文件复制到块设备。
block_job_set_speed
设置后台块操作的最大速度。
block_job_cancel
停止活动后台阻止操作(流式处理、镜像)。
block_job_complete
手动触发活动后台块操作的完成。对于镜像,这会将设备切换到目标路径。
block_job_pause
暂停活动的块流式处理操作。
block_job_resume
恢复暂停的块流式处理操作。
eject [-f]
装置弹出可移动介质(使用 -f 强制)。
drive_del
装置删除主机块设备。结果是,来宾生成的 IO 不再针对磁盘底层的主机设备提交。删除驱动器后,QEMU 块层将返回 -EIO,这会导致正在读取/写入设备的应用程序的客户机出现 IO 错误。无论驱动器的错误操作如何(驱动器选项 rerror、werror),这些错误始终报告给来宾。
change
设备设置更改设备的配置。
change vnc password
[密码]更改与 VNC 服务器关联的密码。如果未提供新密码,显示器将提示输入新密码。VNC密码最多只有8个字母。例如:
(qemu) change vnc passwordPassword: ********-f
强制操作,即使来宾已锁定托盘。
保留
保留当前状态;这是默认设置。
只读
使设备成为只读。
读写
使设备可写。
change
磁盘设备 [-f] 文件名 [格式 [只读模式]]]将可移动磁盘设备的介质更改为指向文件名。例如:
(qemu) change ide1-cd0 /path/to/some.iso
格式是可选的。
只读模式可用于更改设备的只读状态。它接受以下值:
screendump
文件名将屏幕保存到 PPM 图像文件名中。
logfile
文件名将日志输出到文件名。
trace-event
更改跟踪事件的状态
trace-file on|off|flush
打开、关闭或刷新跟踪文件。如果未给出任何参数,则显示跟踪文件的状态。
log
项目1[,...]激活指定项目的日志记录。
savevm
标记创建整个虚拟机的快照。如果提供了标签,则将其用作人类可读的标识符。如果已存在具有相同标记的快照,则会替换该快照。有关详细信息,请参阅 VM 快照。
从 4.0 开始,savevm 不再允许设置快照 ID,只接受 tag 作为参数。
loadvm
标记将整个虚拟机设置为由标记标记标识的快照。
从 4.0 开始,loadvm 停止接受快照 id 作为参数。
delvm
标记删除由标记标识的快照。
从 4.0 开始,delvm 停止按快照 ID 删除快照,只接受标记作为参数。
singlestep [off]
在单步模式下运行仿真。如果在关闭选项的情况下调用,则仿真将返回到正常模式。
stop
或s
停止模拟。
cont
或c
恢复仿真。
system_wakeup
从挂起中唤醒来宾。
gdbserver
[港口]启动 gdb 服务器会话(默认端口 = 1234)
x/
fmt addr虚拟内存转储从地址开始。
xp /
fmt addr从 addr 开始的物理内存转储。
fmt 是一种格式,它告诉命令如何格式化数据。其语法为:
/{count}{format}{size}
例子:
在当前指令指针处转储 10 条指令:
(qemu) x/10i $eip 0x90107063: ret 0x90107064: sti 0x90107065: lea 0x0(%esi,1),%esi 0x90107069: lea 0x0(%edi,1),%edi 0x90107070: ret 0x90107071: jmp 0x90107080 0x90107073: nop 0x90107074: nop 0x90107075: nop 0x90107076: nop
在视频内存开始时转储 80 个 16 位值:
(qemu) xp/80hx 0xb80000x000b8000: 0x0b50 0x0b6c 0x0b65 0x0b78 0x0b38 0x0b36 0x0b2f 0x0b420x000b8010: 0x0b6f 0x0b63 0x0b68 0x0b73 0x0b20 0x0b56 0x0b47 0x0b410x000b8020: 0x0b42 0x0b69 0x0b6f 0x0b73 0x0b20 0x0b63 0x0b75 0x0b720x000b8030: 0x0b72 0x0b65 0x0b6e 0x0b74 0x0b2d 0x0b63 0x0b76 0x0b730x000b8040: 0x0b20 0x0b30 0x0b35 0x0b20 0x0b4e 0x0b6f 0x0b76 0x0b200x000b8050: 0x0b32 0x0b30 0x0b30 0x0b33 0x0720 0x0720 0x0720 0x07200x000b8060: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x07200x000b8070: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x07200x000b8080: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x07200x000b8090: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
计数
是要转储的项目数。
格式
可以是 x(十六进制)、d(有符号十进制)、u(无符号十进制)、o(八进制)、c(字符)或 i(asm 指令)。
大小
可以是 b(8 位)、h(16 位)、w(32 位)或 g(64 位)。在x86上,或者可以用格式指定,分别选择16位或32位代码指令大小。
h
w
i
gpa2hva
地址打印客户机的物理地址地址地址地址映射到的主机虚拟地址。
gpa2hpa
地址打印客户机的物理地址地址地址地址映射到的主机物理地址。
gva2gpa
地址根据当前 CPU 的映射,打印客户机虚拟地址地址映射的来宾物理地址。
print
或 fmt exprp/
打印表达式值。仅使用 fmt 的格式部分。
i/
fmt addr [.指数]读取 I/O 端口。
o/
fmt addr val写入 I/O 端口。
sendkey
钥匙将钥匙发送给客人。键可以是键的名称或十六进制格式的原始值。用于同时按多个键。例:
-
sendkey ctrl-alt-f1
此命令对于发送图形用户界面在低级别(如在 X 窗口中)截获的键很有用。
ctrl-alt-f1
sync-profile [on|off|reset]
启用、禁用或重置同步分析。如果没有参数,则打印分析是打开还是关闭。
system_reset
重置系统。
system_powerdown
关闭系统电源(如果支持)。
sum
加法器大小计算内存区域的校验和。
device_add
配置添加设备。
device_del
编号删除设备 ID。id 可以是短 ID 或 QOM 对象路径。
cpu
指数设置默认 CPU。
mouse_move
dx dy [dz]将活动鼠标移动到具有可选滚动轴 dz 的指定坐标 dx dy。
mouse_button
瓦尔更改活动鼠标按钮状态值 (1=L,2=M,4=R)。
mouse_set
指数设置哪个鼠标设备在给定索引处接收事件,索引可以通过以下方式获得:
info mice
wavcapture
文件名 audiodev [频率 [位 [通道]]]]使用每个采样位的采样率频率位和通道数从 audiodev 捕获音频到文件名中。
违约:
采样率 = 44100 Hz - CD 质量
位 = 16
通道数 = 2 - 立体声
stopcapture
指数使用给定索引停止捕获,可以使用以下命令获取索引:
info capture
memsave
地址大小文件保存到磁盘虚拟内存转储,从大小大小的 addr 开始。
pmemsave
地址大小文件保存到磁盘物理内存转储,从大小大小的 addr 开始。
boot_set
引导设备供应商为引导设备列表定义新值。这些值将通过该选项覆盖在命令行上指定的值。
-boot
可在此处指定的值取决于计算机类型,但与可在命令行选项中指定的值相同。
-boot
nmi
中央处理器在默认 CPU (x86/s390) 或所有 CPU (ppc64) 上注入 NMI。
ringbuf_write
设备数据将数据写入环形缓冲区字符设备设备。数据必须是 UTF-8 字符串。
ringbuf_read
装置从环形缓冲区字符设备设备读取和打印最大大小的字节。某些不可打印的字符被打印出来,其中字符代码是十六进制的。打印字符。Bug:当缓冲区包含无效的 UTF-8 序列、NUL 字符、环形缓冲区丢失数据后以及由于达到大小限制而导致读取停止时,可能会搞砸。
\uXXXX
XXXX
\
\\
announce_self
触发一轮GARP / RARP广播;这对于在重新配置或某些形式的迁移后显式更新网络基础结构非常有用。回合的时间由迁移公告参数设置。可选的逗号分隔接口列表将公告限制为指定的接口集。可选 id 可用于启动单独的播报计时器,并在以后更改其参数。
migrate [-d] [-b] [-i]
乌里迁移到 uri(使用 -d 不等待完成)。
-b
用于使用磁盘的完整拷贝进行迁移
-i
用于使用磁盘的增量拷贝进行迁移(共享基础映像)
migrate_cancel
取消当前 VM 迁移。
migrate_continue
州继续从暂停状态状态迁移
migrate_incoming
乌里使用 uri(与选项具有相同的语法)继续传入迁移。
-incoming
migrate_recover
乌里使用 uri 继续暂停传入的复制后迁移。
migrate_pause
暂停正在进行的迁移。目前它只支持后复制。
migrate_set_capability
功能状态启用/禁用对迁移功能功能的使用。
migrate_set_parameter
参数值设置迁移参数。
migrate_start_postcopy
将正在进行的迁移切换到复制后模式。在迁移结束后忽略(或一旦已在后期复制中)。
x_colo_lost_heartbeat
告诉 COLO 检测信号丢失,需要故障转移或接管。
client_migrate_info
协议主机名端口 tls-端口证书-主体设置迁移信息以进行远程显示。这会使服务器要求客户端在迁移成功完成后使用新参数自动重新连接。仅针对 SPICE 实现。
dump-guest-memory [-p]
文件名开始长度dump-guest-memory [-z|-l|-s|-w]
文件名将客户机内存转储到协议。该文件可以使用崩溃或 gdb 进行处理。如果没有,转储格式为 ELF。
-z|-l|-s|-w
-p
执行分页以获取来宾的内存映射。
-z
以 kdump 压缩格式转储,使用 zlib 压缩。
-l
以 kdump 压缩格式转储,使用 lzo 压缩。
-s
以 kdump 压缩格式转储,具有快速压缩。
-w
Windows 崩溃转储格式的转储(可用于代替 ELF 转储转换),仅适用于具有 vmcoreinfo 驱动程序的 Windows x64 来宾
文件名
转储文件名。
开始
起始物理地址。它是可选的,应与长度一起指定。
长度
内存大小,以字节为单位。它是可选的,应与 begin 一起指定。
dump-skeys
文件名将来宾存储密钥保存到文件中。
migration_mode
模式启用或禁用迁移模式。
snapshot_blkdev
快照设备,使用快照文件作为目标(如果提供)
snapshot_blkdev_internal
在设备上拍摄内部快照(如果支持)