Qemu是一种非常古老的虚拟化技术,用于虚拟化系统组件并在其上运行操作系统。在KVM和xenqemu被大量使用之前,它不能与VMWARE或虚拟PC抗衡,但是在KVM和xenqemu中,它通过基于硬件的虚拟化获得了超高速的计算速度。QEMU是硬件供应商,KVM是CPU。KVM驻留在Linux内核中,对它有一点配置。在QEMU上进行虚拟化配置。
qemu-kvm或qemu或qemu-system-x86u 64
Qemu是一个非常古老的大项目,它有不同的用户基础,并且与不同的项目交叉。Qemu用于名为KVM的Linux内核虚拟化项目中。因此,这个项目还为Qemu提供了不同的命令名,但有更多的特性。 qemu-system-x86_64
是用于创建64位x86虚拟机的Qemu的二进制或命令。
安装Qemu
我们可以用 qemu
不同发行版的包名称。
为Ubuntu、Debian、Mint和Kali安装Qemu
我们将使用以下命令。
$ sudo apt install qemu

为Fedora、CentOS和Red Hat安装Qemu
我们将根据基于rpm的安装的发行版使用dnf和yum包管理器。
$ sudo dnf install qemu
或者
$ sudo yum install qemu
qemu命令帮助
我们可以列出有关 qemu
通过使用 -h
选项。
$ qemu-system-x86_64 -h

qemu命令语法
Qemu语法与大多数Linux命令相同。
qemu-system-x86_64 OPTIONS IMAGE
-
OPTIONS
为虚拟机选项提供,如Ram大小、功能、CPU、图形等。 -
IMAGE
虚拟机磁盘的文件名。
相关文章: Nmap目标规范
下载云图像
流行的Linux发行版如Fedora、CentOS、Debian、Ubuntu、RedHat提供了各种格式的虚拟机映像,如raw、qcow2、vmdk等。我们将从Fedora项目提供的以下链接下载Fedora 25云映像。下载wget如下。
$ wget http://www.nic.funet.fi/pub/mirrors/fedora.redhat.com/pub/fedora/linux/releases/30/Cloud/x86_64/images/Fedora-Cloud-Base-30-1.2.x86_64.qcow2

为Qemu VM设置CPU和Core计数
CPU是系统中最重要的部分之一。我们可以在Qemu中设置VM的CPU核心数。我们将提供 -smp
该选项将启用具有 core=2
值,该值将设置给定VM中的核心计数2。
$ qemu-system-x86_64 -smp cores=2
从网络引导
有不同的方法来引导虚拟机系统。通常,映像用于引导,但我们也可以从具有 -boot order=nc
选项。
$ qemu-system-x86_64 -boot order=nc
为Qemu VM设置RAM或内存大小
RAM是VM的另一个重要组件。默认情况下,为启动的VM设置128 MB RAM。但是我们也可以使用 -m
选项,它是内存的缩写形式。我们还将以MB的形式提供大小,在本例中,我们将设置256MB的Ram。
$ qemu-system-x86_64 -m 256

为Qemu设置VM名称
我们还可以选择为VM设置一个名称。我们可以使用 -name
选项并提供VM名称。VM名称将显示在Qemu的窗口头中。在本例中,我们将VM名称设置为 poftut.com
.
$ qemu-system-x86_64 -name poftut.com
为Qemu VM指定磁盘文件或映像
我们可以用 -drive
选项。这将为我们提供一些指定额外驱动程序相关选项的能力。 file
用于指定文件大小。阿尔索 if
用于提供磁盘的驱动程序或接口类型。
$ qemu-system-x86_64 -drive file=fedoraraw.qcow2,if=virtio
禁用Qemu VM的GUI
默认情况下,VM控制台将作为GUI窗口提供。但我们也可以禁用控制台,只向系统终端提供 -nographic
选项。
$ qemu-system-x86_64 -nographic
连接到虚拟交换机,如virbr0
默认情况下,启动的来宾将不使用网络连接,并且只连接一个接口。对于大多数情况,这不是一个实用且有用的功能。我们可以添加一个网络接口,并将此接口连接到在主机操作系统中运行的网桥设备中。在本例中,我们将用 virtio
在名为 virbr0
.
$ qemu-system-x86_64 -drive file=fedoraraw.qcow2,if=virtio -display none -net bridge,br=virbr0 -net nic,model=virtio
对Qemu-VM使用远程磁盘映像
一般来说,使用VM磁盘映像的最佳方式是在本地,但是qemu还支持通过网络共享的远程磁盘映像,使用SSH等不同的协议。在本例中,我们将使用名为 disk.img
通过SSh在远程系统上使用 file
选项。
$ qemu-system-x86_64 -drive file=ssh://[email protected]/disk.img