跳转到主要内容
你行网

Main navigation

  • 首页
  • Drupal
  • 编程与开发
  • 数据库
  • 操作系统与应用
  • 服务器与运维
  • 社区
User account menu
  • 登录

面包屑

  1. 首页

ubuntu 安装kvm 虚拟机

由 hrs, 20 八月, 2025

在 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!对于大多数用户来说,按照 方法一 的步骤操作是最佳选择。

  • 登录或注册以发表评论
文章归类
操作系统与运用

文章标签

  • KVM

评论

文章标签

CSS
Excel
ubuntu
php
五笔
vim
Linux
VPN
command
HTML
drupal 8
drupal 7
centos
composer
Mysql
drush
Drupal
模块(module)
JavaSrcipt
apache
drupal 9
英语
nerdtree
SEO
network
果树种植
surround
drupal10
主题(theme)
ssh
phpmyadmin
yum
二进制
权限
声音
ssl
selinux
HTML5
password
Dreamweaver
flameshot
翻译
颜色
DDEV
uploadprogress
WireGuard
kernel
firewalld
视图(views)
快捷键
gzip
xdebug
错误
邮件验证
电脑基础
ckeditor
简介
mbstring
源地址
C语言
certbot
php扩展
git
httpd
apt
压缩解压
电子秤
表单
breadcrumb
AI
csharp
短信验证
superfish
摄影
重定向
diff
网站备份
tagclouds
docker
java
drupal 11
adsense
版本号
电脑技巧
RSS
simple_adsense
算法
端口
youtube
JavaScript
cookie
badblocks
计算机基础
网站运营
RFID
VUE
gimp
form
zip
dns
标签优化
mod_expires 模块
赚钱
ip
http验证
curl
重定向,301
netstat
字段
maven
input
npm
nginx
哈希值
wps
KVM
更多

相关文章

匿名函数(Anonymous Functions)详解
foreach 是 PHP 循环语句使用方法
implode() 函数的定义和用法
Drupal 11 主题制作教程
检查 Composer 是否为官方源
在 Drupal 中权重(Weight)是怎样排序的
解决 Drupal 主题缺失问题
为什么学习php 会一边学,一边忘
WPS文字(WPS Writer)中的装订线设置方法
在 PHP 中什么是try
在PHP中判断数据库是否存在并新建数据库
information_schema.SCHEMATA 详解
MySQL 验证数据库是否存在的方法
PHP数据类型及其作用总结
RFID技术手册
Drupal 11.1:告别 Body 字段,迎接全新的 Hook 系统
php过滤器的作用和说明
php 会话使用方法
网络文章如何规划字段设计
网站标签分类设计与优化指南
RSS源

友情链接 网站地图 版权信息 联系我们 网址导航 & 社交媒体链接

Copyright © 2019 - 2021 你行网 版权所有  粤ICP备19072650号