QEMU 在模拟 linux 操作系统上作用巨大,可以帮助你在不购买 linux 开发板的情况下依然可以完美运行操作系统来完成实验
准备一个 ubuntu 系统,可以是虚拟机也可以是物理机
首先设置允许使用虚拟化,终端直接执行:
egrep -c '(vmx|svm)' /proc/cpuinfo
安装运行 QEMU 必备的环境与软件包
sudo apt install qemu-kvm qemu-system qemu-utils python3 python3-pip libvirt-clients libvirt-daemon-system bridge-utils virtinst libvirt-daemon virt-manager -y
安装的软件包主要关注以下这几个:
qemu-kvm
QEMU-KVM 将 QEMU 和 KVM 结合在一起,利用 KVM 提供的硬件虚拟化扩展加速虚拟化过程,同时利用 QEMU 提供的设备模拟功能来管理虚拟机的硬件资源,给予使用者几乎原生的体验。libvirt-daemon
其为 libvirt 库的一部分,它是一种用于管理虚拟化平台的后台守护进程,负责与虚拟化平台进行通信,并提供统一的接口供其他应用程序或工具使用virt-manager
一个基于图形界面的虚拟机管理工具,用于管理和控制基于 libvirt 的虚拟化平台执行以下代码,确保已经打开了 libvirt 守护进程
sudo apt install libvirt-daemon
sudo systemctl enable libvirtd
sudo systemctl start libvirtd
查看当前 libvirt 运行状态
sudo systemctl status libvirtd.service
配置默认网络
sudo virsh net-autostart default # 设置自动开启
sudo virsh net-list --all # 列出当前network状态
安装完毕,运行图形化虚拟机管理程序
virt-manager
看见下面的界面后,双击QEMU/KVM
,如果链接过程没有任何报错的话,那就表明安装成功了!
部分情况下会出现:明明已经确认开启了 libvirt 服务,但是在 virt-manager 链接时总是报错说 libvirt 服务未开启
直接以 root 身份进入文件夹:/var/run/libvirt
后修改文件 libvirt-sock
的权限为 777
sudo -s
cd /var/run/libvirt
chmod 777 libvirt-sock
权限修改完毕,确认 libvirt 服务器已开启后,链接虚拟机,成功!
为便于大家快速体验虚拟机,避免多余硬盘空间占用,建议使用微型 linux 镜像
下载 tinycore linux(仅需 23mb):http://www.tinycorelinux.net/downloads.html
选择下载TinyCore
版本的
把下载好的 iso 镜像文件通过 mobaxterm
上传到 linux 虚拟机里面
由于我们之前已经安装好了 virt-manager,直接在终端执行 virt-manager
即可运行
点击左上角的新增虚拟机按钮,选择“导入现有磁盘映像”,选择 iso 文件
然后它让你选择一个操作系统,这里的 tinycore 是找不到的,所以你可以随便指定一个,比如我这里选的是 archlinux
创建完毕后自动运行虚拟机(如果没有执行,请自己双击运行)
工具会自动为虚拟机分配内存和硬盘,这不是一次性分配完毕的,而是渐进式的,根据你使用的空间多少而不断扩张的
首次开启虚拟机会比较卡,请等待
载入完毕,下面就是我们进入的 tinycore linux
主界面啦,非常简单但是五脏俱全
你可以使用命令行做一些简单的测试啥的