在Ubuntu下直接通过apt命令来下载:
apt-get install qemu
apt install qemu
不同的Ubuntu版本可能使用apt-get或者apt中的一个,本文使用的环境如下:
本文主要介绍在该Ubuntu版本下的QEMU使用。
安装QEMU之后,可以找到有如下的命令可用:
可以看到它可以模拟很多种不同的架构。
还有像qemu-img其实是一个工具,可以用来生成虚拟盘。
为了使用QEMU来安装和使用额外的系统(这里还是一个Ubuntu16.04系统),首先需要的是创建一个虚拟硬盘,下面是具体的命令:
参数说明:
1. create:表示执行的动作是创建虚拟盘;
2. -f qcow2:指定虚拟盘的格式;
3. OS.img是虚拟盘的名称,大小是20G。
之后开始安装系统,命令如下:
qemu-system-x86_64 -boot d -cdrom ubuntu-16.04-desktop-amd64.iso -hda OS.img -m 2048 -bios OVMF.fd
参数说明:
1. qemu-system-x86_64命令是结合自己的电脑构架使用的,因为这边使用的是Intel x64平台;
2. -boot d:表示从CDROM启动系统,因为虚拟盘中目前还没有系统,需要从CDROM中启动安装盘;
3. -cdrom:指定了安装的系统镜像;
4. -hda:指定之前创建的虚拟盘;
5. -m:指定了QEMU使用的系统内存大小,这里指定的是2G;
6. -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系统。
这里主要讲一些启动系统时可以使用的参数:
1. -m x:用来指定虚拟系统的内存大小,x是一个数字,单位是MB;
2. -bios x:用来指定使用的BIOS,默认使用的是seabios,也支持OVMF;
3. -serial stdio:用来指定串口的输出,这里就是输出的标准输出;