在 Ubuntu 上安装和配置 KVM 虚拟机非常 straightforward。下面我将为您提供一个从安装到创建第一台虚拟机的完整、详细的步骤指南。
方法一:使用命令行(推荐,最灵活强大)
第 1 步:检查硬件虚拟化支持
在开始之前,您需要确保您的 CPU 支持硬件虚拟化(Intel VT-x 或 AMD-V)。
打开终端,运行以下命令:
bash
grep -Eoc '(vmx|svm)' /proc/cpuinfo
如果输出结果 大于 0,则表示您的 CPU 支持虚拟化技术。
你也可以使用:
bash
kvm-ok
如果看到 KVM acceleration can be used,说明支持并且已启用(可能需要先在 BIOS 中开启)。
重要提示:如果返回 0 或错误,您需要进入计算机的 BIOS/UEFI 设置,并启用虚拟化技术(通常称为 Intel Virtualization Technology, Intel VT-x, AMD-V, SVM 等)。
第 2 步:安装 KVM 及相关软件包
更新您的软件包列表,然后安装所有必要的软件包:
bash
sudo apt update
sudo apt install qemu-kvm virt-manager virt-viewer libvirt-daemon-system libvirt-clients bridge-utils
qemu-kvm: 核心 KVM 虚拟化软件。
virt-manager: 一个易于使用的图形化管理虚拟机(GUI 工具)。
virt-viewer: 用于连接到虚拟机控制台的工具。
libvirt-daemon-system: 提供 libvirtd 守护进程,用于管理虚拟化平台。
libvirt-clients: 用于和 libvirt 守护进程通信的客户端软件。
bridge-utils: 用于创建和管理桥接网络的工具(如果你想让虚拟机像物理机一样直接出现在局域网中,这会很有用)。
对于服务器(无图形界面),你可能更想安装:
bash
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils
然后使用 virsh 命令行工具进行管理。
第 3 步:将用户添加到 libvirt 组
默认情况下,只有 root 用户和 libvirt 组中的用户有权管理虚拟机。将您的普通用户添加到 libvirt 组以避免每次都用 sudo:
bash
sudo usermod -aG libvirt $USER
sudo usermod -aG kvm $USER
为了使组更改生效,您需要完全注销并重新登录,或者重启计算机。
第 4 步:启动 Libvirt 服务
启用并启动 libvirtd 服务,使其在系统启动时自动运行:
bash
sudo systemctl enable --now libvirtd
第 5 步:使用 Virt-Manager 创建虚拟机(GUI 方式)
在应用程序菜单中搜索 Virtual Machine Manager 并打开它。
第一次打开时,它会自动连接到 QEMU/KVM 实例。
点击左上角的创建新虚拟机按钮(一个明亮的星星图标)。
第1步: 选择安装方式。最常见的是使用 ISO 镜像文件。浏览并选择你的操作系统安装镜像(如 Ubuntu、Windows 等的 ISO 文件)。
第2步: 分配 RAM 和 CPU 核心数量。
第3步: 为虚拟机创建虚拟硬盘,指定大小和位置。
第4步: 在最后一步之前,勾选 “在安装前自定义配置” 选项。这是关键步骤,在这里你可以:
选择固件为 UEFI(对于 Windows 11 或现代 Linux 系统推荐):在 Overview -> Firmware 中选择 UEFI x86_64: ...。
设置显卡和视频模型:在 Video 中,将模型通常改为 VirtIO 或 VMVGA 以获得更好的性能。
配置网络(如果需要桥接网络):在 NIC 中,将“设备模型”改为 virtio。
启用 CPU 模式特性(可选):在 CPU 中,将“CPU 模型”改为 host-passthrough 以获得最佳性能。
点击 “完成” 开始安装。虚拟机窗口会弹出,你将像在物理机上一样安装操作系统。
第 5 步(备选):使用 virt-install 创建虚拟机(CLI 方式)
对于喜欢命令行的用户,这是一个创建虚拟机的示例命令:
bash
sudo virt-install \
--name Ubuntu-VM \
--ram 4096 \
--vcpus 4 \
--disk path=/var/lib/libvirt/images/ubuntu-vm.qcow2,size=20 \
--os-variant ubuntu22.04 \
--network network=default,model=virtio \
--graphics spice \
--cdrom /path/to/your/ubuntu-22.04.3-live-server-amd64.iso
--name: 虚拟机的名称。
--ram: 分配的内存大小(MB)。
--vcpus: 分配的虚拟 CPU 数量。
--disk: 指定虚拟硬盘的路径和大小(GB)。
--os-variant: 指定操作系统类型以获得优化(运行 osinfo-query os 查看所有支持的系统)。
--network: 连接到的网络,model=virtio 用于高性能虚拟化网络驱动。
--graphics: 图形界面设置,spice 通常性能较好。
--cdrom: 安装镜像 ISO 的路径。
方法二:使用 gnome-boxes(最简单)
如果你想要一个极其简单、用户体验类似 VirtualBox 的工具,可以使用 Boxes。
安装 GNOME Boxes:
bash
sudo apt install gnome-boxes
打开 Boxes:从应用程序菜单中启动它。
创建虚拟机:点击左上角的 “+” 按钮,然后选择你的 ISO 文件或直接下载一个操作系统。Boxes 会自动配置大多数设置,非常适合快速测试和简单使用,但自定义选项比 Virt-Manager 少。
网络配置(可选但重要)
默认安装会创建一个名为 default 的 NAT 网络。虚拟机可以访问外部网络,但外部网络无法直接访问虚拟机,类似于你家路由器的工作方式。
检查虚拟网络:
bash
sudo virsh net-list --all
如果你需要虚拟机拥有一个独立的、可公开路由的 IP 地址(就像局域网中的另一台物理机一样),你需要配置桥接网络。这需要更多步骤来配置一个网络桥接接口(如 br0)。
管理虚拟机
图形化管理 (GUI): 使用 virt-manager。
命令行管理 (CLI):
列出所有虚拟机:virsh list --all
启动虚拟机:virsh start <vm-name>
关闭虚拟机:virsh shutdown <vm-name>
强制关闭虚拟机:virsh destroy <vm-name>
删除虚拟机:virsh undefine <vm-name>
希望这个指南能帮助您顺利在 Ubuntu 上使用 KVM!对于大多数用户来说,按照 方法一 的步骤操作是最佳选择。
评论