Ubuntu22.04中使用KVM
1、检查硬件是否支持虚拟化
grep -Eoc '(vmx|svm)' /proc/cpuinfo
输出大于0: 支持虚拟化(Intel VT-x或AMD-V)
无输出: 需在 BIOS/UEFI 中启用虚拟化功能
2、安装KVM及相关工具
sudo apt update
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients virt-install bridge-utils virt-manager
3、验证安装及启用服务
# 检查 KVM 是否可用
sudo kvm-ok
# 输出 "KVM acceleration can be used" 表示成功
# 启动并启用 libvirtd 服务
sudo systemctl start libvirtd
sudo systemctl enable libvirtd
4、将用户添加到libvirt和kvm组
sudo usermod -aG libvirt $USER
sudo usermod -aG kvm $USER
5、启动虚拟机管理软件
virt-manager
如果启动之后报错“Unable to connect to libvirt qemu:///system”,需要重启计算机。
6、准备虚拟机镜像文件
下载ISO镜像文件
wget https://releases.ubuntu.com/22.04/ubuntu-22.04.5-live-server-amd64.iso
mv ubuntu-22.04.5-live-server-amd64.iso /var/lib/libvirt/images/
创建虚拟磁盘
qemu-img create -f qcow2 /var/lib/libvirt/images/ubuntu-vm.qcow2 20G
- -f qcow2:使用支持动态扩展的磁盘格式
- /var/lib/libvirt/images/ubuntu-vm.qcow2:磁盘文件存放路径
- 20G:磁盘大小
7、使用virt-install创建虚拟机
virt-install \
--name ubuntu-vm \
--memory 2048 \
--vcpus 2 \
--os-type linux \
--os-variant ubuntu22.04 \
--disk path=/var/lib/libvirt/images/ubuntu-vm.qcow2,size=20 \
--network bridge=virbr0 \
--graphics vnc,listen=0.0.0.0 \
--cdrom /var/lib/libvirt/images/ubuntu-22.04.5-live-server-amd64.iso \
--extra-args "console=tty0 console=ttyS0,115200n8 serial"
参数详解:
- –name:虚拟机名称
- –memory:内存大小
- –vcpus:CPU核数
- –os-type:操作系统类型(Linux、Windows、MacOS等)
- –os-variant:操作系统版本
- –disk:磁盘路径及大小
- –network bridge=virbr0:使用默认NAT网络(virbr0)
- –graphics vnc:通过VNC连接虚拟机
- –cdrom:指定ISO镜像路径
- –extra-args:传递内核参数(如控制台输出)
出现此警告:WARNING --os-type is deprecated and does nothing. Please stop using it.
意思是:–os-type参数在最新版本的virt-install中已废弃,请停止使用
出现此错误:ERROR Kernel arguments are only supported with location or kernel installs.
意思是:–extra-args参数仅支持在location和kernel模式下使用。也就是说使用–extra-args参数就不能使用–cdrom参数,必须使用–location参数或者同时使用–kernel和–initrd参数
–location:指定操作系统的安装源地址,支持以下协议:
- HTTP/HTTPS:如 http://example.com/centos7/
- FTP:如 ftp://example.com/pub/centos7/
- NFS:如 nfs://<NFS服务器IP>/exported/path/
–kernel:指定虚拟机启动时使用的内核文件路径(如 vmlinuz)(内核文件可以为自定义编译的内核或克隆系统内核)
–initrd:指定虚拟机启动时使用的初始 RAM 磁盘(initrd)文件路径(如 initrd.img)
8、连接虚拟机进行安装
查看虚拟机监听的VNC端口
virsh vncdisplay ubuntu-vm
输出类似 :0,表示端口为 5900 + 0 = 5900
使用VNC客户端进行连接
vncviewer <宿主机IP>:5900
手动完成操作系统安装
- 在VNC界面中选择安装语言、分区、网络配置等
- 安装完成后重启虚拟机
9、常用管理命令
- 查看虚拟机状态:
virsh list --all
- 启动/关闭虚拟机:
virsh start ubuntu-vm
virsh shutdown ubuntu-vm
- 删除虚拟机:
virsh destroy ubuntu-vm
virsh undefine ubuntu-vm
10、网络配置
桥接模式
- 创建桥接接口:
sudo brctl addbr br0
sudo brctl addif br0 eth0

1821

被折叠的 条评论
为什么被折叠?



