關於qemu的二三事(1)————qemu的特殊參數之monitor


 

qemu作為一個十分重要的虛擬化工具,提供了豐富的功能/參數來支持虛擬化的各種操作。

下面僅就monitor這個參數或者說是功能來結合自己的實際體驗來做個簡要介紹。

 

如何進入qemu的monitor模式的console?兩條路:

1, ctrl+alt+1或者ctrl+alt+2來進入和切換,但是我好像沒有成功過。。。。我用的是下面第二種辦法:

2, 直接在qemu啟動的時候加上 -monitor參數,一般來個  -monitor  stdio  就很方便了,這樣就可以來個很方便的shell腳本來操作monitor狀態下的qemu虛擬機。

 

那么qemu的monitor都有什么比較有用的功能呢?或者說就是它提供或者說支持了哪些有用的參數?

大致分為以下四大類:

1,help和info

       help, 這個基本上每個支持命令行的程序的usage都會提供一個help的parameter來顯示參數用法

       info,  顯示一些例如cpu ,block, vnc等等信息和狀態,具體支持哪些參數,在qemu的monitor的console里面輸入help info看看吧,挺多的,就不一一列舉了。

2,device相關操作

         change,The change command allows you to change removable media (like CD-ROMs), change the display options for a VNC, and change the password used on a VNC.

         eject,   release the device or file connected to the removable media device specified

         usb_add,  Add a host file as USB flash device ( you need to create in advance the host file: dd if=/dev/zero of=/tmp/disk.usb bs=1024k count=32 )

         usb_del,   use info usb to get the usb device list and then delete it

         mouse_move,   移動鼠標光標到指定坐標,例如 mouse_move    500 500

         mouse_button,     鼠標的左中右鍵, 1=L, 2=M, 4=R

         mouse_set index,   先用info mice查看然后再操作

         sendkey keys,  輸入鍵盤上各個按鍵的,比如說: 

  • sendkey a
  • sendkey shift-a
  • sendkey ctrl-u
  • sendkey ctrl-alt-f1

         我曾經嘗試過使用sendkey來登錄guest,發現必須輸入的時間足夠短,不然登錄會失敗。

 

            基本上能夠支持目前鍵盤上的大部分按鍵,不過有些特殊按鍵是被轉義了的:

shift shift_r alt alt_r altgr altgr_r
ctrl ctrl_r menu esc 1 2
3 4 5 6 7 8
9 0 minus equal backspace tab
q w e r t y
u i o p ret a
s d f g h j
k l z x c v
b n m comma dot slash
asterisk spc caps_lock f1 f2 f3
f4 f5 f6 f7 f8 f9
f10 num_lock scroll_lock kp_divide kp_multiply kp_subtract
kp_add kp_enter kp_decimal sysrq kp_0 kp_1
kp_2 kp_3 kp_4 kp_5 kp_6 kp_7
kp_8 kp_9 < f11 f12 print
home pgup pgdn end left up
down right insert delete

 

3, 屏幕和音頻的捕獲:

        screendump

        wavcapture

        stopcapture

4, 關於虛擬機的一些操作:

          commit,  顧名思義,實際上就是將操作和修改寫入到鏡像,至於寫入到什么位置,看你是否用了snapshot,這個有待試驗。

           quit,        退出qemu,這時候虛擬機也完犢子了。

           savevm, 保存虛擬機快照。

           loadvm,   加載虛擬機快照,或者說是恢復到虛擬機的某個時間點。

          delvm,      刪除。

          stop,         即suspend,掛起。

           cont,        即resume,恢復。

            system_reset,             類似物理機上的reset強制重啟。

            system_powerdown, 關機。

           log,         

           logfile,         指定logfile路徑

          gdbserver,  開啟端口方便host端用gdb來進行調試,這個還沒玩過,有機會試試。

          x,                   據說和gdb里面的x差不多

        xp,                  據說和gdb里面的xp差不多。

        print,             同上。

        sum,            據說是計算校驗和,沒玩過,有機會試試。

        memsave,  顧名思義,保存內存的內容。

 

以上,是qemu的monitor參數的主要功能,就我自己的使用經歷來說,僅僅使用過里面的部分功能,

比如說常用的help和info,mouse族命令,sendkey以及其他一些命令,還沒有全部使用到所有參數。

還有待學習。

 

QUOTE:

1,wiki:QEMU/Monitor

2,使用 monitor command 監控 QEMU 運行狀態

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM