版本信息
宿主机:ubuntu 20.04.6 LTS (Focal Fossa)
虚拟机:ubuntu 20.04.6 LTS (Focal Fossa)
安装宿主机的步骤省略,和一般的在vmware
中安装虚拟机没有任何区别。
需要注意的是需要打开Intel VT-x
如果启动虚拟机报告此平台不支持虚拟化的Intel VT-x/EPT. 不使用虚拟化的Intel VT-x/EPT,是否继续
,参考下面的文章解决.
https://blog.csdn.net/2301_77695535/article/details/146309899
宿主机安装QEMU/KVM和Virsh
Virsh
是Virtual Shell
的缩写,是一个用于管理虚拟机的命令行工具。你可以使用Virsh创建、编辑、启动、停止、关闭和删除VM。Virsh目前支持KVM
,LXC
,Xen
,QEMU
,OpenVZ
,VirtualBox
和VMware ESX
。这里我们使用Virsh
管理QEMU/KVM
虚拟机。
在安装之前,首先要确认你的CPU
是否支持虚拟化技术。使用grep
查看cpuinfo
是否有"vmx
"(Intel-VT 技术)或"svm
"(AMD-V 支持)输出:
egrep "(svm|vmx)" /proc/cpuinfo
某些CPU
型号在默认情况下,BIOS
中可能禁用了VT
支持。我们需要再检查BIOS
设置是否启用了VT
的支持。使用kvm-ok
命令进行检查:
sudo apt install cpu-checker
kvm-ok
如果输出为:
INFO: /dev/kvm exists
KVM acceleration can be used
证明CPU
的虚拟化支持已经在BIOS
中启用。
运行下面的命令安装QEMU/KVM
和Virsh
:
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager
检查libvirt
守护程序是否已经启动:
sudo systemctl is-active libvirtd
active
如果没有输出active
,运行下面的命令启动libvertd
服务:
sudo systemctl enable libvirtd
sudo systemctl start libvirtd
在宿主机中安装qemu虚拟机
创建一个虚拟机镜像,大小为40G
,qow2
格式动态分配磁盘占用空间。
qemu-img create -f qcow2 ubuntutest.img 40G
创建虚拟机系统,安装操作系统:
qemu-system-x86_64 \
-name ubuntutest \
-smp 2 \
-m 4096 \
-hda ubuntutest.img \
-cdrom ubuntu-20.04.6-live-server-amd64.iso \
-boot d
按照步骤,配置安装即可,这一步和正常的虚拟机安装没有什么区别。
注意这里我没有添加-enable-kvm
,这可能会影响gdb
的软件断点。
配置上网
方案1:自建tap网卡NAT上网
宿主机创建TAP设备
sudo ip tuntap add dev tap0 mode tap
sudo ip addr add 192.168.100.1/24 dev tap0
sudo ip link set tap0 up
宿主机配置IP转发及NAT规则
sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE
sudo iptables -A FORWARD -i tap0 -j ACCEPT
启动带TAP的QEMU
qemu-system-x86_64 \
-enable-kvm \
-m 4096 \
-drive file=./ubuntutest.img \
-boot d \
-net nic -net tap,ifname=tap0,script=no,downscript=no
配置虚拟机的网络为192.168.100.0/24
网段中的任意一个地址(例如192.168.100.10
)
打开netplan
的配置文件,修改地址后,使用sudo netplan apply
重启网络。
# This is the network config written by 'subiquity'
network:
ethernets:
ens3:
dhcp4: no
addresses:
- 192.168.100.10/24
routes:
- to: default
via: 192.168.100.1
nameservers:
addresses: [8.8.8.8]
version: 2
利用virbr0实现nat上网
创建并配置bridge.conf
- 文件路径:通常位于
/etc/qemu/
或/usr/local/etc/qemu/
(取决于安装方式)。使用以下命令创建:
sudo mkdir -p /etc/qemu
sudo vim /etc/qemu/bridge.conf
内容示例:
allow virbr0 # 若使用libvirt默认桥接接口
接下来启动时指定使用virbr0 bridge
上网。
qemu-system-x86_64 \
-ena