zoukankan      html  css  js  c++  java
  • 关于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 运行状态

  • 相关阅读:
    Action<T>和Func<T>委托
    异步委托学习笔记
    .Net身份验证里边的几个基本概念(转)
    线程和进程
    WebClient类的使用
    关于NHibernate的更新和读取操作,及碰见的一点问题
    ASP.NET MVC 中将数据从View传递到控制器中的三种方法(表单数据绑定)
    LINQ标准查询操作符学习笔记
    C#3.0中的扩展方法
    NHibernate中的一对多映射
  • 原文地址:https://www.cnblogs.com/wpcnblog/p/11902382.html
Copyright © 2011-2022 走看看