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 运行状态

关于qemu的二三事(1)————qemu的特殊参数之monitor的更多相关文章

  1. Java并发编程二三事

    Java并发编程二三事 转自我的Github 近日重新翻了一下<Java Concurrency in Practice>故以此文记之. 我觉得Java的并发可以从下面三个点去理解: * ...

  2. linux杂记(十二?) 关于账号和密码的二三事

    关于密码的二三事 关于账号和密码的二三事 久了不更linux的相关知识,实在是懒得想内容点(纯粹是懒).那么今天就来谈谈关于linux密码和账号的重要概念. 假如你的主机遭到入侵,那么对方的第一个侵入 ...

  3. MySQL5.7关于密码二三事

    MySQL5.7关于密码二三事 第一个:update user set password=password('root') where user='root' and host='localhost' ...

  4. Java中的匿名内部类及内部类的二三事

    匿名内部类适合创建那些只需要使用一次的类,它的语法有些奇怪,创建匿名内部类会立即创建一个该类的实例,这个类定义立即消失,且不能重复使用. 定义匿名类的格式如下: new 实现接口() |父类构造器(实 ...

  5. kvm qemu ,ubuntu debian rootfs 通过qemu复现路由器漏洞

    KVM https://www.toutiao.com/i6264303973256135170/?tt_from=weixin&utm_campaign=client_share&t ...

  6. Emacs 启动优化二三事

    Emacs 启动优化二三事 */--> div.org-src-container { font-size: 85%; font-family: monospace; } p {font-siz ...

  7. WinForm二三事(三)Control.Invoke&Control.BeginInvoke

    http://www.cnblogs.com/yuyijq/archive/2010/01/11/1643802.html 这个系列从2009年写到2010年,差点又成太监文.随着WPF/Silver ...

  8. iOS7下滑动返回与ScrollView共存二三事

    [转载请注明出处] = =不是整篇复制就算注明出处了亲... iOS7下滑动返回与ScrollView共存二三事 [前情回顾] 去年的时候,写了这篇帖子iOS7滑动返回.文中提到,对于多页面结构的应用 ...

  9. 一只代码小白git托管路上的二三事

    [经验]一只代码小白git托管路上的二三事 写在前面的话 寒假的时候,娄老师给我们布置了代码托管的作业,并要求把托管地址发给学委.因假期的时候没有带电脑回家,所以只是在手机上草草注册了,也稀里糊涂就将 ...

随机推荐

  1. unity 实现技能释放

    要实现技能释放其实很简单,说白了就是在指定的位置Instantiate一个对应的例子特效.我走的弯路主要在寻找这个指定位置上. 对于指向性技能就不多说了,因为是有确切目标的(当然首先判断下技能能不能对 ...

  2. Python学习日记(三十三) Mysql数据库篇 一

    背景 Mysql是一个关系型数据库,由瑞典Mysql AB开发,目前属于Oracle旗下的产品.Mysql是目前最流行的关系型数据库管理系统之一,在WEB方面,Mysql是最好的RDBMS(Relat ...

  3. SQL Text Literals 文本

    Text Literals 文本 Use the text literal notation to specify values whenever string appears in the synt ...

  4. Python 3.6 版本-使用Pytesseract 模块进行图像验证码识别

    环境: (1) win7 64位 (2) Idea (3) python 3.6 (4) pip install pillow <&nbsp>pip install pytesse ...

  5. Yii2通过curl调用json-rpc接口

    Yii2可以通过json-rpc为前端提供接口数据,通常情况睛会使用异步的形式调用接口,有时也会使用curl调用接口数据. 一.异步调用json-rpc接口 $.ajax({ type: 'POST' ...

  6. Linux系统 jboss/Tomcat服务器pdf文件乱码问题

    1.新搭建的环境,但是没有字符集,在windows上的电脑上复制了一份宋体, 字体C:\WINDOWS\FONTS\simsun.ttc(也就是宋体,大小为10M),把他重命名为 simsun.ttf ...

  7. Python入门篇-面向对象概述

    Python入门篇-面向对象概述 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.语言的分类 面向机器 抽象成机器指令,机器容易理解 代表:汇编语言 面向过程 做一件事情,排出个 ...

  8. 存储型XSS靶场作业

    首先进入靶场:http://59.63.200.79:8082/index.php xss平台使用:xss8c 发现CMS版本号,搜索是否此版本号存在可利用漏洞: 找到存储型xss漏洞,在xss平台生 ...

  9. centos安装zookeeper,并集群配置

    所有机器操作都一样! 注:zookeeper配置集群时 需把防火墙关掉 或者暴露配置文件里配置的端口, 并且在dataDir目录下要有myid文件 1 下载 wget https://mirrors. ...

  10. Pollard-rho的质因数分解

    思路:见参考文章(原理我是写不粗来了) 代码: 用到了快速幂,米勒罗宾素性检验. #include <iostream> #include <time.h> #include ...