关于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 | |
| 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:
2,使用 monitor command 监控 QEMU 运行状态
关于qemu的二三事(1)————qemu的特殊参数之monitor的更多相关文章
- Java并发编程二三事
Java并发编程二三事 转自我的Github 近日重新翻了一下<Java Concurrency in Practice>故以此文记之. 我觉得Java的并发可以从下面三个点去理解: * ...
- linux杂记(十二?) 关于账号和密码的二三事
关于密码的二三事 关于账号和密码的二三事 久了不更linux的相关知识,实在是懒得想内容点(纯粹是懒).那么今天就来谈谈关于linux密码和账号的重要概念. 假如你的主机遭到入侵,那么对方的第一个侵入 ...
- MySQL5.7关于密码二三事
MySQL5.7关于密码二三事 第一个:update user set password=password('root') where user='root' and host='localhost' ...
- Java中的匿名内部类及内部类的二三事
匿名内部类适合创建那些只需要使用一次的类,它的语法有些奇怪,创建匿名内部类会立即创建一个该类的实例,这个类定义立即消失,且不能重复使用. 定义匿名类的格式如下: new 实现接口() |父类构造器(实 ...
- kvm qemu ,ubuntu debian rootfs 通过qemu复现路由器漏洞
KVM https://www.toutiao.com/i6264303973256135170/?tt_from=weixin&utm_campaign=client_share&t ...
- Emacs 启动优化二三事
Emacs 启动优化二三事 */--> div.org-src-container { font-size: 85%; font-family: monospace; } p {font-siz ...
- WinForm二三事(三)Control.Invoke&Control.BeginInvoke
http://www.cnblogs.com/yuyijq/archive/2010/01/11/1643802.html 这个系列从2009年写到2010年,差点又成太监文.随着WPF/Silver ...
- iOS7下滑动返回与ScrollView共存二三事
[转载请注明出处] = =不是整篇复制就算注明出处了亲... iOS7下滑动返回与ScrollView共存二三事 [前情回顾] 去年的时候,写了这篇帖子iOS7滑动返回.文中提到,对于多页面结构的应用 ...
- 一只代码小白git托管路上的二三事
[经验]一只代码小白git托管路上的二三事 写在前面的话 寒假的时候,娄老师给我们布置了代码托管的作业,并要求把托管地址发给学委.因假期的时候没有带电脑回家,所以只是在手机上草草注册了,也稀里糊涂就将 ...
随机推荐
- 应用在App Store上被拒重新提交审核流程指南
1. 打开地址: https://itunesconnect.apple.com 2. 输入APPID和密码后,再输入绑定手机后的验证码. 3. 查看“”我的APP“”,如果显示拒绝,可能需打开Mac ...
- ECharts快速入门
一.简介 ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Saf ...
- 【RMAN】RMAN脚本中使用替换变量
[RMAN]RMAN脚本中使用替换变量--windows 下rman全备脚本 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也 ...
- go调度: 第一部分-OS调度(操作系统调度)
开场白 这个是三篇博客中的第一篇, 用来提供go调度背后的机制和语法. 这篇博客主要关注操作系统调度. 三篇博客的顺序是: 1) go调度: 第一部分 - 操作系统调度 2) go调度: 第二部分 - ...
- angular 升级到angular8 以及报错信息解决
1.升级全局angular-cli npm install -g @angular/cli@latest 2.升级项目内 angular-cli (在需要升级的项目中运行) npm i @angula ...
- SHELL脚本编程-普通数组(列表)和关联数组(字典)
SHELL脚本编程-普通数组(列表)和关联数组(字典) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数组相关概述 变量: 存储单个元素的内存空间 数组: 存储多个元素的连续的 ...
- 【Calling Circles UVA - 247 】【Floyd + dfs】
用到的东西 Floyd算法(不考虑路径的长度,只关心两点之间是否有通路,可用于求有向图的传递闭包) STL map中的count用法 利用dfs输出同一个圈内的名字 题意 题目中给出 n 的人的名字, ...
- python使用 pdb 进行调试--- python -m pdb xxx.py 即可 和gdb使用一样
使用 pdb 进行调试 pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点.单步调试.进入函数调试.查看当前代码.查看栈片段.动态改变变 ...
- Uva1349Optimal Bus Route Design(二分图最佳完美匹配)(最小值)
题意: 给定n个点的有向图问,问能不能找到若干个环,让所有点都在环中,且让权值最小,KM算法求最佳完美匹配,只不过是最小值,所以把边权变成负值,输出时将ans取负即可 这道题是在VJ上交的 #incl ...
- Spring Cloud Zuul网关(快速搭建)
zuul 是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet应用. 在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架.相当于是设备和 Netflix ...