[QEMU]QEMU 監(jiān)視器(1)

QEMU 監(jiān)視器用于向 QEMU 仿真器發(fā)出復(fù)雜的命令。您可以使用它來:
刪除或插入可移動(dòng)媒體映像(如 CD-ROM 或軟盤)。
凍結(jié)/解凍虛擬機(jī) (VM) 并從磁盤文件中保存或還原其狀態(tài)。
在沒有外部調(diào)試器的情況下檢查 VM 狀態(tài)。
命令
可以使用以下命令:
help
或 [厘米?
]顯示所有命令的幫助或僅顯示命令?cmd 的幫助。
commit
提交對(duì)磁盤映像(如果使用 -snapshot)或備份文件的更改。如果備份文件小于快照,則備份文件的大小將調(diào)整為與快照大小相同。如果快照小于備份文件,則備份文件不會(huì)被截?cái)?。如果希望后備文件與較小快照的大小匹配,則可以在提交操作成功完成后自行安全地截?cái)嗨?/p>
quit
或q
退出模擬器。
exit_preconfig
此命令使 QEMU 退出預(yù)配置狀態(tài),并在預(yù)配置狀態(tài)期間使用命令行上提供的配置數(shù)據(jù)并通過 QMP 監(jiān)視器繼續(xù)進(jìn)行 VM 初始化。該命令僅在預(yù)配置狀態(tài)下可用(即,當(dāng)使用 –preconfig 命令行選項(xiàng)時(shí))。
block_resize
在客戶機(jī)運(yùn)行時(shí)調(diào)整塊圖像的大小。通常需要來賓操作才能看到更新的大小。支持將大小調(diào)整為較小的大小,但應(yīng)極其謹(jǐn)慎地使用。請(qǐng)注意,此命令僅調(diào)整圖像文件的大小,它不能像LVM卷那樣調(diào)整塊設(shè)備的大小。
block_stream
將數(shù)據(jù)從備份文件復(fù)制到塊設(shè)備。
block_job_set_speed
設(shè)置后臺(tái)塊操作的最大速度。
block_job_cancel
停止活動(dòng)后臺(tái)阻止操作(流式處理、鏡像)。
block_job_complete
手動(dòng)觸發(fā)活動(dòng)后臺(tái)塊操作的完成。對(duì)于鏡像,這會(huì)將設(shè)備切換到目標(biāo)路徑。
block_job_pause
暫停活動(dòng)的塊流式處理操作。
block_job_resume
恢復(fù)暫停的塊流式處理操作。
eject?[-f]
?裝置彈出可移動(dòng)介質(zhì)(使用 -f 強(qiáng)制)。
drive_del
?裝置刪除主機(jī)塊設(shè)備。結(jié)果是,來賓生成的 IO 不再針對(duì)磁盤底層的主機(jī)設(shè)備提交。刪除驅(qū)動(dòng)器后,QEMU 塊層將返回 -EIO,這會(huì)導(dǎo)致正在讀取/寫入設(shè)備的應(yīng)用程序的客戶機(jī)出現(xiàn) IO 錯(cuò)誤。無論驅(qū)動(dòng)器的錯(cuò)誤操作如何(驅(qū)動(dòng)器選項(xiàng) rerror、werror),這些錯(cuò)誤始終報(bào)告給來賓。
change
?設(shè)備設(shè)置更改設(shè)備的配置。
change?vnc?password
?[密碼]更改與 VNC 服務(wù)器關(guān)聯(lián)的密碼。如果未提供新密碼,顯示器將提示輸入新密碼。VNC密碼最多只有8個(gè)字母。例如:
(qemu) change vnc passwordPassword: ********-f
強(qiáng)制操作,即使來賓已鎖定托盤。
保留
保留當(dāng)前狀態(tài);這是默認(rèn)設(shè)置。
只讀
使設(shè)備成為只讀。
讀寫
使設(shè)備可寫。
change
?磁盤設(shè)備?[-f]?文件名?[格式?[只讀模式]]]將可移動(dòng)磁盤設(shè)備的介質(zhì)更改為指向文件名。例如:
(qemu) change ide1-cd0 /path/to/some.iso
格式是可選的。
只讀模式可用于更改設(shè)備的只讀狀態(tài)。它接受以下值:
screendump
?文件名將屏幕保存到 PPM 圖像文件名中。
logfile
?文件名將日志輸出到文件名。
trace-event
更改跟蹤事件的狀態(tài)
trace-file?on|off|flush
打開、關(guān)閉或刷新跟蹤文件。如果未給出任何參數(shù),則顯示跟蹤文件的狀態(tài)。
log
?項(xiàng)目1[,...]激活指定項(xiàng)目的日志記錄。
savevm
?標(biāo)記創(chuàng)建整個(gè)虛擬機(jī)的快照。如果提供了標(biāo)簽,則將其用作人類可讀的標(biāo)識(shí)符。如果已存在具有相同標(biāo)記的快照,則會(huì)替換該快照。有關(guān)詳細(xì)信息,請(qǐng)參閱?VM 快照。
從 4.0 開始,savevm 不再允許設(shè)置快照 ID,只接受?tag?作為參數(shù)。
loadvm
?標(biāo)記將整個(gè)虛擬機(jī)設(shè)置為由標(biāo)記標(biāo)記標(biāo)識(shí)的快照。
從 4.0 開始,loadvm 停止接受快照 id 作為參數(shù)。
delvm
?標(biāo)記刪除由標(biāo)記標(biāo)識(shí)的快照。
從 4.0 開始,delvm 停止按快照 ID 刪除快照,只接受標(biāo)記作為參數(shù)。
singlestep?[off]
在單步模式下運(yùn)行仿真。如果在關(guān)閉選項(xiàng)的情況下調(diào)用,則仿真將返回到正常模式。
stop
或s
停止模擬。
cont
或c
恢復(fù)仿真。
system_wakeup
從掛起中喚醒來賓。
gdbserver
?[港口]啟動(dòng) gdb 服務(wù)器會(huì)話(默認(rèn)端口?= 1234)
x/
fmt?addr虛擬內(nèi)存轉(zhuǎn)儲(chǔ)從地址開始。
xp?/
fmt?addr從?addr?開始的物理內(nèi)存轉(zhuǎn)儲(chǔ)。
fmt?是一種格式,它告訴命令如何格式化數(shù)據(jù)。其語法為:
/{count}{format}{size}
例子:
在當(dāng)前指令指針處轉(zhuǎn)儲(chǔ) 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
在視頻內(nèi)存開始時(shí)轉(zhuǎn)儲(chǔ) 80 個(gè) 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
計(jì)數(shù)
是要轉(zhuǎn)儲(chǔ)的項(xiàng)目數(shù)。
格式
可以是 x(十六進(jìn)制)、d(有符號(hào)十進(jìn)制)、u(無符號(hào)十進(jìn)制)、o(八進(jìn)制)、c(字符)或 i(asm 指令)。
大小
可以是 b(8 位)、h(16 位)、w(32 位)或 g(64 位)。在x86上,或者可以用格式指定,分別選擇16位或32位代碼指令大小。
h
w
i
gpa2hva
?地址打印客戶機(jī)的物理地址地址地址地址映射到的主機(jī)虛擬地址。
gpa2hpa
?地址打印客戶機(jī)的物理地址地址地址地址映射到的主機(jī)物理地址。
gva2gpa
?地址根據(jù)當(dāng)前 CPU 的映射,打印客戶機(jī)虛擬地址地址映射的來賓物理地址。
print
或?fmt?exprp/
打印表達(dá)式值。僅使用?fmt?的格式部分。
i/
fmt?addr?[.指數(shù)]讀取 I/O 端口。
o/
fmt?addr?val寫入 I/O 端口。
sendkey
?鑰匙將鑰匙發(fā)送給客人。鍵可以是鍵的名稱或十六進(jìn)制格式的原始值。用于同時(shí)按多個(gè)鍵。例:
-
sendkey ctrl-alt-f1
此命令對(duì)于發(fā)送圖形用戶界面在低級(jí)別(如在 X 窗口中)截獲的鍵很有用。
ctrl-alt-f1
sync-profile?[on|off|reset]
啟用、禁用或重置同步分析。如果沒有參數(shù),則打印分析是打開還是關(guān)閉。
system_reset
重置系統(tǒng)。
system_powerdown
關(guān)閉系統(tǒng)電源(如果支持)。
sum
?加法器大小計(jì)算內(nèi)存區(qū)域的校驗(yàn)和。
device_add
?配置添加設(shè)備。
device_del
?編號(hào)刪除設(shè)備?ID。id?可以是短 ID 或 QOM 對(duì)象路徑。
cpu
?指數(shù)設(shè)置默認(rèn) CPU。
mouse_move
?dx?dy?[dz]將活動(dòng)鼠標(biāo)移動(dòng)到具有可選滾動(dòng)軸 dz 的指定坐標(biāo)?dx?dy。
mouse_button
?瓦爾更改活動(dòng)鼠標(biāo)按鈕狀態(tài)值?(1=L,2=M,4=R)。
mouse_set
?指數(shù)設(shè)置哪個(gè)鼠標(biāo)設(shè)備在給定索引處接收事件,索引可以通過以下方式獲得:
info mice
wavcapture
?文件名?audiodev?[頻率?[位?[通道]]]]使用每個(gè)采樣位的采樣率頻率位和通道數(shù)從?audiodev?捕獲音頻到文件名中。
違約:
采樣率 = 44100 Hz - CD 質(zhì)量
位 = 16
通道數(shù) = 2 - 立體聲
stopcapture
?指數(shù)使用給定索引停止捕獲,可以使用以下命令獲取索引:
info capture
memsave
?地址大小文件保存到磁盤虛擬內(nèi)存轉(zhuǎn)儲(chǔ),從大小大小的 addr?開始。
pmemsave
?地址大小文件保存到磁盤物理內(nèi)存轉(zhuǎn)儲(chǔ),從大小大小的 addr?開始。
boot_set
?引導(dǎo)設(shè)備供應(yīng)商為引導(dǎo)設(shè)備列表定義新值。這些值將通過該選項(xiàng)覆蓋在命令行上指定的值。
-boot
可在此處指定的值取決于計(jì)算機(jī)類型,但與可在命令行選項(xiàng)中指定的值相同。
-boot
nmi
?中央處理器在默認(rèn) CPU (x86/s390) 或所有 CPU (ppc64) 上注入 NMI。
ringbuf_write
?設(shè)備數(shù)據(jù)將數(shù)據(jù)寫入環(huán)形緩沖區(qū)字符設(shè)備設(shè)備。數(shù)據(jù)必須是 UTF-8 字符串。
ringbuf_read
?裝置從環(huán)形緩沖區(qū)字符設(shè)備設(shè)備讀取和打印最大大小的字節(jié)。某些不可打印的字符被打印出來,其中字符代碼是十六進(jìn)制的。打印字符。Bug:當(dāng)緩沖區(qū)包含無效的 UTF-8 序列、NUL 字符、環(huán)形緩沖區(qū)丟失數(shù)據(jù)后以及由于達(dá)到大小限制而導(dǎo)致讀取停止時(shí),可能會(huì)搞砸。
\uXXXX
XXXX
\
\\
announce_self
觸發(fā)一輪GARP / RARP廣播;這對(duì)于在重新配置或某些形式的遷移后顯式更新網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)非常有用?;睾系臅r(shí)間由遷移公告參數(shù)設(shè)置??蛇x的逗號(hào)分隔接口列表將公告限制為指定的接口集??蛇x?id?可用于啟動(dòng)單獨(dú)的播報(bào)計(jì)時(shí)器,并在以后更改其參數(shù)。
migrate?[-d]?[-b]?[-i]
?烏里遷移到?uri(使用 -d 不等待完成)。
-b
用于使用磁盤的完整拷貝進(jìn)行遷移
-i
用于使用磁盤的增量拷貝進(jìn)行遷移(共享基礎(chǔ)映像)
migrate_cancel
取消當(dāng)前 VM 遷移。
migrate_continue
?州繼續(xù)從暫停狀態(tài)狀態(tài)遷移
migrate_incoming
?烏里使用?uri(與選項(xiàng)具有相同的語法)繼續(xù)傳入遷移。
-incoming
migrate_recover
?烏里使用?uri?繼續(xù)暫停傳入的復(fù)制后遷移。
migrate_pause
暫停正在進(jìn)行的遷移。目前它只支持后復(fù)制。
migrate_set_capability
?功能狀態(tài)啟用/禁用對(duì)遷移功能功能的使用。
migrate_set_parameter
?參數(shù)值設(shè)置遷移參數(shù)。
migrate_start_postcopy
將正在進(jìn)行的遷移切換到復(fù)制后模式。在遷移結(jié)束后忽略(或一旦已在后期復(fù)制中)。
x_colo_lost_heartbeat
告訴 COLO 檢測信號(hào)丟失,需要故障轉(zhuǎn)移或接管。
client_migrate_info
?協(xié)議主機(jī)名端口?tls-端口證書-主體設(shè)置遷移信息以進(jìn)行遠(yuǎn)程顯示。這會(huì)使服務(wù)器要求客戶端在遷移成功完成后使用新參數(shù)自動(dòng)重新連接。僅針對(duì) SPICE 實(shí)現(xiàn)。
dump-guest-memory?[-p]
?文件名開始長度dump-guest-memory?[-z|-l|-s|-w]
?文件名將客戶機(jī)內(nèi)存轉(zhuǎn)儲(chǔ)到協(xié)議。該文件可以使用崩潰或 gdb 進(jìn)行處理。如果沒有,轉(zhuǎn)儲(chǔ)格式為 ELF。
-z|-l|-s|-w
-p
執(zhí)行分頁以獲取來賓的內(nèi)存映射。
-z
以 kdump 壓縮格式轉(zhuǎn)儲(chǔ),使用 zlib 壓縮。
-l
以 kdump 壓縮格式轉(zhuǎn)儲(chǔ),使用 lzo 壓縮。
-s
以 kdump 壓縮格式轉(zhuǎn)儲(chǔ),具有快速壓縮。
-w
Windows 崩潰轉(zhuǎn)儲(chǔ)格式的轉(zhuǎn)儲(chǔ)(可用于代替 ELF 轉(zhuǎn)儲(chǔ)轉(zhuǎn)換),僅適用于具有 vmcoreinfo 驅(qū)動(dòng)程序的 Windows x64 來賓
文件名
轉(zhuǎn)儲(chǔ)文件名。
開始
起始物理地址。它是可選的,應(yīng)與長度一起指定。
長度
內(nèi)存大小,以字節(jié)為單位。它是可選的,應(yīng)與?begin?一起指定。
dump-skeys
?文件名將來賓存儲(chǔ)密鑰保存到文件中。
migration_mode
?模式啟用或禁用遷移模式。
snapshot_blkdev
快照設(shè)備,使用快照文件作為目標(biāo)(如果提供)
snapshot_blkdev_internal
在設(shè)備上拍攝內(nèi)部快照(如果支持)