【Linux应用】QEMU使用简介
下载
在Ubuntu下直接通过apt命令来下载:
apt-get install qemu
apt install qemu
不同的Ubuntu版本可能使用apt-get或者apt中的一个,本文使用的环境如下:
本文主要介绍在该Ubuntu版本下的QEMU使用。
使用
安装QEMU之后,可以找到有如下的命令可用:
可以看到它可以模拟很多种不同的架构。
还有像qemu-img其实是一个工具,可以用来生成虚拟盘。
为了使用QEMU来安装和使用额外的系统(这里还是一个Ubuntu16.04系统),首先需要的是创建一个虚拟硬盘,下面是具体的命令:
参数说明:
- create:表示执行的动作是创建虚拟盘;
- -f qcow2:指定虚拟盘的格式;
- OS.img是虚拟盘的名称,大小是20G。
之后开始安装系统,命令如下:
qemu-system-x86_64 -boot d -cdrom ubuntu-16.04-desktop-amd64.iso -hda OS.img -m 2048 -bios OVMF.fd
参数说明:
- qemu-system-x86_64命令是结合自己的电脑构架使用的,因为这边使用的是Intel x64平台;
- -boot d:表示从CDROM启动系统,因为虚拟盘中目前还没有系统,需要从CDROM中启动安装盘;
- -cdrom:指定了安装的系统镜像;
- -hda:指定之前创建的虚拟盘;
- -m:指定了QEMU使用的系统内存大小,这里指定的是2G;
- -bios:指定了QEMU运行的BIOS,默认使用的是seabios,这里使用了自己编译的OVMF.fd,至于如何生成OVMF.fd,可以参考其它的文章。
之后就是普通的安装过程:
不过这里会遇到一个问题,QEMU运行的速度及其慢,为了解决这个问题,可以使用KVM,它是内核层面对虚拟话的支持。
这里首先需要下载qemu-kvm,命令如下:
apt install qemu-kvm
下载之后,使用kvm命令来启动QEMU,命令的参数还是一样,只是将qemu-system-x86_64换成了kvm:
kvm -boot d -cdrom ubuntu-16.04-desktop-amd64.iso -hda OS.img -m 2048 -bios OVMF.fd
使用KVM可以明显发现QEMU速度快了很多。
安装结束之后使用如下的命令启动:
kvm -bios OVMF.fd -hda OS.img -m 2048 -smp 4
基本参数还是没有变,这里增加了一个-smp参数,是用来指定QEMU使用的核数的,这里指定的是4核,可以在系统启动之后通过cat /proc/cpuinfo来查看:
实际上使用QEMU主要是为了调试OVMF.fd及它与OS的交互,因此这里再说下OVMF。
前面在使用QEMU的时候都加上了-bios参数,指定了自己编译的OVMF.fd,此时启动的QEMU就可以进入到BIOS下:
这里的FS0就存在与OS.img中,它用来存放启动系统的GRUB文件:
也可以直接在这里执行grubx64.efi(其它几个efi也可以)来启动Ubuntu系统。
一些常用的参数说明
这里主要讲一些启动系统时可以使用的参数:
- -m x:用来指定虚拟系统的内存大小,x是一个数字,单位是MB;
- -bios x:用来指定使用的BIOS,默认使用的是seabios,也支持OVMF;
- -serial stdio:用来指定串口的输出,这里就是输出的标准输出;
【Linux应用】QEMU使用简介相关推荐
- linux下多进程编程简介
两年前的文章,拿过来充充门面. ------------------------ linux下多进程编程简介 ( 作者:mikespook | 发布日期:2002-12-8 | 浏览次数:272 ) ...
- Linux 下使用 Sar 简介
Linux 下使用 Sar 简介 提交 我的留言 加载中 已留言 介绍 Sar 最早是实现在 Salaris Unix 系统里,后来移植到了大部分其他的 Unix 系统(如AIX,HP-UX等).Li ...
- Linux中用户的简介与管理
女主宣言 众所周知,linux是一个多用户.多任务的操作系统.那么linux是如何区分和认证用户的,系统对每个用户的授权是如何管理的,出现问题时是如何追朔每个用户在系统内的操作记录,这些就涉及到了li ...
- Embedded Linux S3C2440 - QEMU and Graphic
文章目录 Summary Run a QT Demo on QEMU Convert the kernel image to uImage format QEMU Networking Booting ...
- Linux 之systemd服务简介
Linux 之systemd服务简介 Systemd机制 systemd是Linux下的一种init软件,作用是提供更优秀的框架以表示系统服务之间的依赖关系,并依次实现系统初始化时服务的并行启动,同时 ...
- Linux用户认证方法简介
Linux用户认证方法简介 当今IT环境中,任何计算机系统都要充分考虑设计.使用和运行过程中的安全性.所以在目前主流操作系统的各个环节当中都增加了很多安全方面的功能和特性,而在众多的安全特性和功能中有 ...
- 路由器逆向分析------Running Debian MIPS Linux in QEMU
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/70176583 下面的文章内容主要参考英文博客<Running Debian ...
- linux端口混杂模式,linux 端口混杂模式简介~
linux 端口混杂模式简介~ 设置端口混杂模式: ifconfig eth0 promisc 设置混杂 ifconfig eth0 -promisc 取消混杂 网卡工作模式有 4 种, 分别是: 广 ...
- linux中/dev/shm简介与大小修改
linux中/dev/shm简介与大小修改 文章目录 linux中/dev/shm简介与大小修改 简介 实操 验证/dev/shm存储位置 修改/dev/shm 大小 简介 linux中/dev目录下 ...
- linux 换桌面cinnamon,Linux薄荷Cinnamon桌面简介
Linux薄荷Cinnamon桌面简介 版本1.0 作者:Christian Schmalfeld 本教程应该指导读者通过Cinnamon桌面的功能,Mint的新桌面环境将用于Linux Mint 1 ...
最新文章
- java datahandler_Java Web Services:使用DataHandler类发送文件
- 深入地下,实地探访!不用人挖煤的智能煤矿长什么样?
- Django获取model中字段的中文列名
- Learning Less is More – 6D Camera Localization via 3D Surface Regression
- 面试官:项目中常用的 .env 文件原理是什么?如何实现?
- 共享计算机后无法访问磁盘,win10电脑共享硬盘无法访问如何解决
- PHP实现多文件上传
- mysqld --initialize --console 没有 打印信息_JavaScript设计模式--装饰者模式
- volley6--CacheDispatcher从缓存中获取数据
- GIT每次上传代码都必须输入用户名解决方案
- matlab flightgear,matlab与flightGear联合仿真
- 数据结构 复习攻略 新手必看
- 记录解决Mac系统升级后三指取词、词典失效问题的过程
- loadrunner—集合点rendezvous
- ThreeJs基础代码段(五)飘扬的旗帜
- 运营100天的微信公众号能挣多少钱?
- iphone避坑指南
- 震撼心灵、洗礼灵魂--【经典的大师参禅的禅语】
- 想去阿里大厂去面试测试工程师?想月薪15k?这篇文章一定对你有所帮助
- 不是所有产品都适合做亚马逊CPC广告
热门文章
- 第1章-3 输出“人生苦短,我学Python”
- Koin--适用于Kotlin的超好用依赖注入框架,Dagger替代者,Koin史上最详细解说,一篇就够了,妈妈再也不用担心我不会依赖注入了
- 如果打开一个网页加载很慢,该如何定位问题
- ov7670 linux,arduino nano调试OV7670拍照 参照帖子一定成功
- 100g QSFP28光模块工作原理
- Allegro基本规则设置指导书之Analysis Modes
- 唯一ID(UniqueID)生成算法 解析
- java.sql.SQLException: ORA-01008: 并非所有变量都已绑定的解决方法
- 编码,Part 1:ASCII、汉字及 Unicode 标准
- Java原理 面向对象的特征与“六原则一法则”