如何在 Ubuntu 20.04 上安装 Kvm

2023-10-21

KVM(基于内核的虚拟机)是内置于 Linux 内核中的开源虚拟化技术。使用 KVM 运行多个 Linux 或 Windows 来宾虚拟机。每个来宾都与其他来宾完全隔离,并拥有自己的操作系统和专用虚拟硬件,例如 CPU、内存、网络接口和存储。

本指南提供有关如何在 Ubuntu 20.04 桌面上安装和配置 KVM 的说明。我们还将向您展示如何创建可用作不同应用程序的开发环境的虚拟机。

先决条件#

要运行具有超过 2 GB RAM 的客户机,您必须拥有 64 位主机系统。

在继续安装之前,请确保您的 Ubuntu 主机支持 KVM 虚拟化。系统应配备具有 VT-x (vmx) 的 Intel 处理器,或具有 AMD-V (svm) 技术支持的 AMD 处理器。

运行以下命令grep命令来验证您的处理器是否支持硬件虚拟化:

grep -Eoc '(vmx|svm)' /proc/cpuinfo

如果CPU支持硬件虚拟化,该命令将输出一个大于零的数字,即CPU核心的数量。否则,如果输出是0这意味着CPU不支持硬件虚拟化。

在某些计算机上,制造商可能会在 BIOS 中禁用虚拟技术扩展。

要检查 BIOS 中是否启用了 VT,请使用kvm-ok工具,该工具包含在软件包中。以 root 身份输入以下命令或具有 sudo 权限的用户安装cpu-checker软件包包括kvm-ok命令:

sudo apt updatesudo apt install cpu-checker

安装后,检查您的系统是否可以运行硬件加速的 KVM 虚拟机:

kvm-ok

如果 BIOS 中未禁用处理器虚拟化功能,则输出将如下所示:

INFO: /dev/kvm exists
KVM acceleration can be used

否则,该命令将打印一条失败消息,还可以选择一条有关如何启用扩展的短消息。启用 AMD-V 或 VT 技术的过程取决于您的主板和处理器类型。有关如何配置系统 BIOS 的信息,请参阅主板文档。

在 Ubuntu 20.04 上安装 KVM#

运行以下命令安装 KVM 和其他虚拟化管理包:

sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager
  • qemu-kvm- 为 KVM 管理程序提供硬件模拟的软件。
  • libvirt-daemon-system- 将 libvirt 守护进程作为系统服务运行的配置文件。
  • libvirt-clients- 用于管理虚拟化平台的软件。
  • bridge-utils- 一组用于配置以太网桥的命令行工具。
  • virtinst- 一组用于创建虚拟机的命令行工具。
  • virt-manager- 易于使用的 GUI 界面和支持命令行实用程序,用于通过 libvirt 管理虚拟机。

安装软件包后,libvirt 守护进程将自动启动。您可以通过输入以下内容来验证:

sudo systemctl is-active libvirtd
active

为了能够创建和管理虚拟机,您需要添加您的用户到“libvirt”和“kvm”组。为此,请输入:

sudo usermod -aG libvirt $USERsudo usermod -aG kvm $USER

$USER是一个环境变量,保存当前登录用户的名称。

注销并重新登录,以便刷新组成员身份。

网络设置#

在安装过程中会创建一个名为“virbr0”的网桥。该设备使用 NAT 将客人的机器连接到外界。

您可以使用brctl列出当前网桥及其连接的接口的工具:

brctl show
bridge name	bridge id		      STP enabled	interfaces
virbr0		  8000.52540089db3f	yes		      virbr0-nic

“virbr0”网桥未添加任何物理接口。 “virbr0-nic”是一个虚拟设备,没有流量通过它路由。该设备的唯一目的是避免更改“virbr0”网桥的 MAC 地址。

此网络设置适合大多数 Ubuntu 桌面用户,但有局限性。如果您想从本地网络外部访问访客,您需要创建一座新桥并对其进行配置,以便来宾机器可以通过主机物理接口连接到外界。

创建虚拟机#

现在 KVM 已安装在您的 Ubuntu 桌面上,您可以创建第一个 VM。这可以通过命令行或使用virt-manager应用。

下载您要安装的操作系统的 ISO 映像,然后按照以下步骤创建虚拟机:

  1. 在活动搜索栏中输入“Virtual Machine Manager”,然后单击图标启动该应用程序。

  2. 应用程序启动后,从顶部菜单中单击“文件”->“新建虚拟机”:

  3. 将出现一个新窗口。选择“本地安装媒体”并单击“前进”按钮。

  4. 提供您的 ISO 映像路径并单击“前进”按钮。

  5. 在下一个屏幕中,选择虚拟机的内存和 CPU 设置。单击“转发”。

  6. 接下来,选择“为虚拟机创建磁盘映像”并选择虚拟机的磁盘空间大小。单击“转发”。

  7. 输入您的虚拟机名称,然后单击“完成”。

  8. 虚拟机将启动,并打开一个新窗口:

    从这里,您可以按照屏幕上的说明完成操作系统的安装。

安装操作系统后,您可以从以下位置访问虚拟机:virt-manager应用程序,通过ssh或使用串行控制台界面。

结论#

我们向您展示了如何在 Ubuntu 20.04 系统上安装 KVM。您现在可以创建 Windows 或 Linux 来宾计算机。要了解有关 KVM 的更多信息,请访问KVM文档 page.

如果您有任何疑问,请在下面留言。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Ubuntu 20.04 上安装 Kvm 的相关文章

  • 在 Android 2.2 上运行 HelloCordova 时找不到类“android.webkit.WebResourceResponse”

    我尝试按照本教程进行操作 http docs phonegap com en 2 7 0 guide getting started android index md html Getting 20 Started 20with 20 An
  • SVN 不断提示我输入密码并拒绝缓存我的凭据

    环境 Eclipse Indigo Ubuntu 11 04 Subclipse 1 6 SVN 客户端 Subclipse RabbitVCS 我通过 svn ssh 连接 我的网址如下所示 svn ssh 我的名字 我的域名 路径 我可
  • 如何在 Ubuntu 16.04 上安装适用于 Python 2.7 的 openCV 2.4.13?

    我尝试了很多在线帖子来安装 opencv 但它们不适用于 Ubuntu 16 04 有人可以给我安装 openCV 2 4 13 的步骤吗 我不久前制作了一个脚本 用于安装最新版本的 OpenCV 截至本答案的最后一次更新为 4 2 这是它
  • gnutls_handshake() 失败:握手失败 GIT

    一切都工作正常 但突然我收到错误 致命 无法访问 https 电子邮件受保护 cdn cgi l email protection name repo name git gnutls handshake 失败 握手失败 我在我的计算机和 E
  • 如何解决 STS 启动时出现“无法找到用于堆栈映射生成的 Asm”错误?

    我正在尝试使用Spring工具套件3 8 3在 Ubuntu 16 04 上 启动后我收到此错误 期间发生内部错误 初始化 Java 工具 详细消息 在 初始化 Java 工具 期间发生内部错误 无法 找到用于堆栈图生成的 Asm 寻找 a
  • 终端从包含空格的变量传递参数

    在终端中如何将包含空格的字符串作为参数传递 它实际上跳过了空格后面的部分 只取第一个单词 word soccer ball shell exec casperjs test js word word 那么我怎样才能转义空白它只运行这个命令
  • 未知错误:SyntaxError:ng 命令上出现意外的标记“导出”

    我正在尝试学习 Angular我已按照此处的步骤操作 https angular io guide setup local https angular io guide setup local在 Ubuntu 18 04 5 LTS 上进行
  • seq 使用逗号作为小数点分隔符

    我注意到一个奇怪的现象seq我的一台计算机 Ubuntu LTS 14 04 上的行为 不是使用点作为小数点分隔符 而是使用逗号 seq 0 0 1 0 2 0 0 0 1 0 2 我的另一台 PC 上相同版本的 seq 8 21 给出了正
  • clang 编译器从相同的源生成不同的目标文件

    我有一个简单的 hello world Objective C 库 hello m import
  • Docker:使用 RUN 命令设置 ENV 变量的值?

    我正在编写一个 Dockerfile 来设置我的自定义 WordPress 环境 我从 ubuntu latest 开始 希望通过将 ENV 变量设置为当前 Ubuntu 版本的代号来动态添加一些存储库 我该如何做到这一点 或者有更好的方法
  • make找不到curses.h

    我有一个名为 samtools 版本 1 3 的程序 用于操作从 DNA 测序实验中获得的文件 下载的程序包含在一个文件夹中 为了设置程序 我在终端 在 ubuntu 计算机上 中输入该文件夹 我输入突击队 make 它运行并打印它所做的事
  • 环境变量未加载到 Nodejs 中的 process.env

    我正在构建一个nodejs api 并设置了dotenv打包为开发依赖项以将变量加载到process env在开发人员的本地计算机上 请注意 当我登录时 我使用sudo i作为root 我的目的是在部署过程中 环境变量将在我的 Ubuntu
  • 如何将其他语言添加到 TeX

    在 MediaWiki 中 如果您在公式中添加非英文文本 则会被剪切 例如 如果你写 text f b and 俄语 西里尔字母 符号 输出将是fb not f b 首先 如果您的 MediaWiki 版本低于 1 18 则打开文件 inc
  • 如何在 Ubuntu 22.04 LTS 上安装 MySQL 5.7?

    我工作的公司使用较旧的堆栈 我需要在 Ubuntu 22 04 LTS 上安装 MySQL 5 7 才能在本地处理一些项目 有谁知道该怎么做 除了在 Ubuntu 20 04 或更低版本上安装之外 我找不到任何东西 下载 wget http
  • Docker:保留命令历史记录

    Every time I build a Docker container the command history CTRL R in Ubuntu is lost Is there a way to prevent it from res
  • 在菜单中显示 gtk.Calendar?

    我想构建一个上下文菜单 其中包含用于选择日期的菜单项 用例是在树视图中选择一堆项目 然后为所有项目设置新的截止日期 由于菜单项是 Gtk Bin 因此我可以指定任何小部件来代替标签 然而 我似乎无法interact与小部件 如果我单击菜单上
  • python3-pip 安装但找不到 pip3 命令?

    我正在几台计算机上测试Python3 程序 为此 我需要使用 pip3 安装 Python 库 首先 我在每台计算机上安装 python3 pip 每个计算机都运行 Kubuntu 操作系统 一切都很好 然后我用 pip3 安装了我需要的包
  • vim 中的 python 2 支持

    我正在尝试设置 YouCompleteMe 一个 vim 代码完成插件 当我运行 vim 时 它给我这个错误消息 YouCompleteMe unavailable 需要 python 2 x 我的 ubuntu 机器上安装了正确版本的 p
  • gitlab 上的权限被拒绝(公钥)

    我的问题是我无法从 GitLab 推送或获取 不过 我可以克隆 通过 HTTP 或通过 SSH 当我尝试推送时出现此错误 权限被拒绝 公钥 致命 无法从远程存储库读取 从我看过的所有线程中 这是我所做的 在我的计算机上设置 SSH 密钥并将
  • Rabbitmq 忽略 Ubuntu 12 上的配置

    I have rabbitmq server从系统包安装乌班图12 无论我做什么 它似乎都会忽略任何配置文件 网络上的所有内容都表明服务器正在寻找 etc rabbitmq rabbitmq conf 但即使我创建该文件 服务器也报告没有配

随机推荐

  • 使用Python下载文件(简单示例)

    在本教程中 您将学习如何使用不同的 Python 模块从网络下载文件 您将下载常规文件 网页 Amazon S3 和其他源 此外 您还将学习如何克服您可能遇到的许多挑战 例如下载重定向文件 下载大文件 多线程下载和其他策略 目录 hide
  • 超过 15 个在 Linux 中列出用户的示例

    在这篇文章中 您将了解如何在 Linux 中列出用户 除此之外 你还会了解有关Linux用户特征的其他技巧 Linux中有两种类型的用户 系统用户是系统默认创建的 另一方面 还有一些由系统管理员创建的普通用户 可以登录系统并使用系统 目录
  • 使用 sed 进行文本替换:替换命令指南

    文本替换是其最常用的功能之一sed命令 当您需要替换大型文件或输入流中的文本模式实例而无需手动编辑每个实例时 此功能非常有用 文本替换的基本语法sed is sed s search pattern replacement text g f
  • Python 标准差教程

    标准差是一种量化数据集中多样性或分散程度的指标 标准差小意味着数据点倾向于接近平均值 而标准差大则表明数据点广泛分散 在本教程的以下部分中 我们将深入探讨如何使用 Python 计算和理解标准差的更多细节 目录 hide 1 标准差的类型
  • Python Deque 详解:高效的堆栈和队列操作

    Python 中的 Deque 也称为双端队列 是一种数据结构 允许您从任一端添加和删除元素 蟒蛇的collections模块为我们提供了deque类来创建双端队列 它们与队列和堆栈不同 因为它们支持更灵活 内存效率更高 并且在某些情况下支
  • 如何限制 Apache 中的带宽

    Apache 是世界上使用最广泛的 Web 服务器之一 以其灵活性和稳健性而闻名 有时 系统管理员可能会发现自己需要限制 Apache 使用的带宽 以防止某个网站或服务使用所有可用资源 本文将逐步详细介绍如何在 Apache 中限制带宽 先
  • Linux下如何修改文件夹及子文件夹的权限

    为任何 Web 应用程序设置正确的文件权限是 Web 托管的重要组成部分 在本教程中 您将学习如何在单个命令中递归地更改文件夹和子文件夹的文件权限 如您所知 在 Linux 中 一切都被视为文件 文件夹也称为目录文件 用 表示 d 在权限部
  • 如何在 CentOS 和 Fedora 中安装或更新 OpenSSH

    OpenSSH是一款广泛用于远程登录或远程文件传输的免费工具 它使用SSH SecSH协议套件为网络服务提供加密 其源代码可供所有人免费使用 本文将帮助您在 CentOS RHEL 和 Fedora 系统中安装或更新 OpenSSH 服务器
  • 如何在 Debian 8 上安装 Nginx (Jessie)

    Nginx 是 Apache HTTP Server 之外的另一个最受欢迎的 Web 服务器 全球范围内大量流行网站都在使用它 该网络服务器对于大流量网站非常有用 本教程将帮助您使用 apt get 在 Debian 8 Jessie 上安
  • 如何在 CentOS/RHEL 和 Fedora 上设置 AWStats(Apache 日志分析器)

    AWStats 是一款免费的开源日志分析器 可提供有关 Apache Web 服务器流量的详细见解 借助 AWStats 您可以跟踪网站访问 引用网站 搜索引擎 操作系统 浏览器等等 它是网站所有者 系统管理员和开发人员监控网站性能并做出明
  • 在基于 RHEL 的系统上配置 EPEL 存储库

    Extra Packages for Enterprise Linux EPEL 是一个在线存储库 为企业 Linux 系统提供高质量的常用软件包 这些软件包是在 Fedora 上开发和测试的 Fedora 可用于 RHEL EPEL 存储
  • 如何通过 PPA 在 Ubuntu 18.04 和 16.04 上安装 MongoDB 4.4

    MongoDB 是一个完全灵活的索引支持和丰富的查询数据库 Mongodb 是一个 NoSQL 数据库 MongoDB 通过 GridFS 提供大型媒体存储 点击here有关此版本 MongoDB 的更多详细信息 本教程将帮助您在 Ubun
  • 如何在 Ubuntu 18.04 和 16.04 LTS 上安装 Webmin

    Webmin是一个类似于 CPanel 的网络托管控制面板 它提供了易于使用的界面来管理类 Unix 系统 Webmin 非常易于使用 轻量级应用程序可以在一分钟内轻松安装到系统上 Webmin 删除了所有通过命令行完成的手动任务 本文将帮
  • 如何检查 OpenSSH 版本

    OpenSSH是一个安全的网络实用程序 用于使用 SSH 协议进行远程登录 这是大多数基于 Linux 的系统用于远程 SSH 登录的主要工具 OpenSSH 为您提供通过 SSH 协议连接远程系统的选项 它提供了两个系统之间通信的端到端加
  • 如何在 CentOS/RHEL 9/8/7 上安装 NRPE

    NRPE Nagios Remote Plugin Executor 是一个 Nagios 插件 用于在远程主机上远程执行插件和脚本 这允许您监视远程主机上的资源 例如磁盘使用情况 CPU 负载和网络活动 在本文中 我们将向您展示如何在 C
  • 如何在 Ubuntu 20.04 中安装 PostgreSQL 和 pgAdmin4

    PostgreSQL是一个强大 可靠 健壮且开源的对象关系数据库系统 该数据库系统的最新版本是 PostgreSQL 13 2 而版本 12 6 11 11 10 16 9 6 21 和 9 5 25 仍在定期更新 本教程介绍如何在 Ubu
  • 如何在 Ubuntu 和 Debian 中切换 Python 版本

    Python 是一种高级编程语言 广泛用于系统编程 它适用于所有流行的操作系统 您可以在单个系统上安装多个 Python 版本 安装多个 Python 版本后 您可以使用 update alternatives 工具切换默认 Python
  • 如何在 CentOS 7 上安装和使用 Docker

    Docker 是一种容器化技术 可让您快速构建 测试和部署应用程序 作为可移植 自给自足的容器 几乎可以在任何地方运行 在本教程中 我们将介绍如何在 CentOS 7 上安装 Docker CE 并探索基本的 Docker 概念和命令 先决
  • 如何在 CentOS 8 上安装 CouchDB

    Apache CouchDB 是由 Apache 软件基金会开发的免费开源 NoSQL 数据库 它可以用作单节点或集群数据库 CouchDB 服务器将其数据存储在命名数据库中 其中包含具有以下内容的文档JSON结构 每个文档由许多字段和附件
  • 如何在 Ubuntu 20.04 上安装 Kvm

    KVM 基于内核的虚拟机 是内置于 Linux 内核中的开源虚拟化技术 使用 KVM 运行多个 Linux 或 Windows 来宾虚拟机 每个来宾都与其他来宾完全隔离 并拥有自己的操作系统和专用虚拟硬件 例如 CPU 内存 网络接口和存储