编译并使用 Qemu 安装 Ubuntu

最近由于毕设,记录一下虚拟化相关的内容,主要是与 CPU 虚拟化有关,这里简单记录一下 Qemu 的编译和基本使用

编译 Qemu

安装依赖

1
sudo apt -y install ninja-build build-essential zlib1g-dev pkg-config libglib2.0-dev binutils-dev libpixman-1-dev libfdt-dev

下载源码

最新版本为 8.1.2

1
wget https://download.qemu.org/qemu-8.1.2.tar.xz

配置编译选项

在 Qemu 文件夹中执行下面命令

1
2
mkdir build; cd build
../configure --enable-kvm --target-list=x86_64-softmmu --enable-debug
  • --enbale-kvm:开启 KVM 硬件虚拟化支持
  • --target-list={架构}:指定编译的 CPU 架构,这里只选择 x86_64,不然默认把所有的架构都编译了,没有必要
  • --enable-debug:开启 Qemu 本体的调试支持

编译

1
make

安装 Ubuntu 22.04 LTS

创建虚拟磁盘文件

1
qemu-img create -f qcow2 ubuntu.qcow2 20G

qcow2 为 Qemu 虚拟机的一种镜像格式,大小为 20G

VNC 连接完成安装

去官网下载一个 Ubuntu 系统镜像文件

1
2
3
4
5
6
qemu-system-x86_64 \
-m 2G \
-drive format=qcow2,file=ubuntu.qcow2 \
-cdrom ~/Downloads/ubuntu-22.04.3-desktop-amd64.iso \
-vnc [ip]:{port} \
-enable-kvm
  • -m:指定 2G 内存
  • -drive:指定虚拟磁盘文件
  • -cdrom:指定系统镜像文件
  • -vnc [ip]:{port}:使用 VNC 连接,ip 可省略,端口为 5900 + port
  • -enable-kvm:使用 KVM 进行 CPU 虚拟化

然后使用 VNC 客户端(比如 VNC Viewer)连接进行安装即可

正常启动

把系统镜像文件去掉即可正常启动安装好的 Ubuntu

1
2
3
4
5
qemu-system-x86_64 \
-m 2G \
-drive format=qcow2,file=ubuntu.qcow2 \
-vnc [ip]:{port} \
-enable-kvm

外部访问虚拟机磁盘

挂载

1
2
3
sudo modprobe nbd
sudo qemu-nbd -c /dev/nbd0 ubuntu.qcow2
sudo mount /dev/nbd0p3 temp_dir

将虚拟磁盘挂载到 temp_dir,它就是虚拟机的根目录

卸载

1
2
3
sudo umount temp_dir
sudo qemu-nbd -d /dev/nbd0
sudo rmmod nbd
作者

Humoooor

发布于

2024-01-11

更新于

2024-01-11

许可协议

评论