如何在 Ubuntu 18.04 上安装 Kvm

2023-11-01

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

本指南介绍如何在 Ubuntu 18.04 桌面上安装和配置 KVM。我们还将向您展示如何创建可用作 PHP、Node.js、Ruby 等开发环境的虚拟机。

相同的说明适用于 Ubuntu 16.04 和任何其他基于 Ubuntu 的发行版,包括 Linux Mint 和 Elementary OS。

先决条件#

为了能够运行具有超过 2 GB RAM 的虚拟机,并同时托管 32 位和 64 位 KVM 虚拟机,您必须拥有 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工具,它包含在cpu-checker包裹。以 root 身份运行以下命令或具有 sudo 权限的用户安装包:

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 上安装 KVM#

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

sudo apt install qemu-kvm libvirt-bin bridge-utils virtinst virt-manager
  • qemu-kvm- 为 KVM 管理程序提供硬件模拟的软件。
  • libvirt-bin- 用于管理虚拟化平台的软件。
  • 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是一个环境变量,保存当前登录用户的名称。

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

网络设置#

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

Run the brctl列出当前网桥及其连接的接口的工具:

brctl show
bridge name	bridge id		      STP enabled	interfaces
virbr0		  8000.52540003f59e	yes		      virbr0-nic

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

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

创建虚拟机#

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

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

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

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

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

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

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

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

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

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

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

操作系统安装完成后,您可以从virt-manager应用程序,通过ssh或使用串行控制台界面。

结论#

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

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

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

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

  • 在 ubuntu 10 64 位上安装 java 时出错

    EDIT 我添加此注释是为了解释为什么我将这个问题保留在这里 我添加了 Android 作为关键字 我想知道其他人是否尝试过下载代码以及如何解决此问题 我担心如果我问 Ubuntu 他们会建议我使用 OpenJDK 但问题是 有人使用该 S
  • 在 R 4.0.2 中安装 rsvg 库 (conda-forge)

    我在下载 r 包时遇到困难rsvg 我首先使用 conda 为最新的 R 版本 4 0 2 创建了一个环境 如下所示指示 https anaconda org conda forge r base 我能够毫无问题地下载许多其他 R 包和生物
  • 限制 SFTP 用户只能访问主目录

    我正在尝试在 EC2 ubuntu 服务器上设置客户端 SFTP 空间 访问权限仅限于该用户的主目录 关于此的其他主题只有大约六千个 而且我在其他选项卡中打开了其中的大多数主题 这看起来很简单 我已经搞定了 sudo groupadd lo
  • 为什么我无法“停用”pyenv / virtualenv?如何“修复”安装

    我是新安装的乌班图16 04并考虑到使用最新版本的开发pandas我安装了Python 3 6 0使用虚拟环境 选择 3 6 0 的一个原因是因为我在某处读到这个版本的 Python 可以原生处理虚拟环境 即无需安装任何其他东西 无论如何安
  • VS Code 不会构建具有多个 .cpp 源文件的 C++ 程序

    请注意 我在 Ubuntu 17 10 上使用 VS Code 并使用 GCC 编译器 我在构建一个使用附加 cpp 文件的简单程序时遇到问题 我可能在这里遗漏了一些明显的东西 因为我对编程相当陌生 但我会解释到目前为止我所做的事情 这阻止
  • 安装 openstack 时发生错误:./stack.sh:137:die

    我尝试使用以下命令通过 devstack 安装 openstack git 克隆https github com openstack dev devstack git https github com openstack dev devst
  • 如何在 Ubuntu 14.04 LTS 中安装 ia32-libs (Trusty Tahr)

    我昨天安装了 Ubuntu 14 04 Trusty Tahr 一切看起来都还好 但是当我尝试编译一些C代码时 我遇到了以下错误 该错误似乎是由于操作系统缺乏 32 位架构支持造成的 错误输出如下 usr bin ld i386 archi
  • IDLE 无法导入 Tkinter。您的 Python 可能未配置 Tk [重复]

    这个问题在这里已经有答案了 我运行的是 Ubuntu 10 10 今天安装了 Python 3 2 系统已经运行Python 2 6 我在终端中输入idle3 2 它给了我 IDLE 无法导入 Tkinter 您的 Python 可能未针对
  • 使用 ImageMagick 从文本生成图像?

    我正在尝试使用 ImageMagick 创建 3840 x 2160 的缩略图 我需要图像具有黑色背景和白色文本 文本应垂直和水平居中 我希望能够设置字体大小 但如果文本超出图像 则会自动减小字体大小 使其适合左侧和右侧的一定量的填充 我将
  • Ubuntu OpenCV 无法编译

    我正在尝试使用以下命令编译 OpenCV 3 2 1 cmake DCMAKE BUILD TYPE Release DBUILD SHARED LIBS OFF DCMAKE INSTALL PREFIX usr local DOPENC
  • 升级到Python 3.6后启动时无法启动cloud-init

    我在新的云服务器 Ubuntu 16 04 上安装了 Python 3 6 而不是默认的 3 5 版本 我重启服务器后发现执行失败cloud init启动时出现以下错误syslog Sep 20 16 16 14 cloud init 13
  • 保护一个保存 MySQL 数据库的简单 Linux 服务器?

    这是一个初学者问题 但我浏览了该网站上的许多问题 但没有找到简单直接的答案 我正在设置一个运行 Ubuntu 的 Linux 服务器来存储 MySQL 数据库 该服务器尽可能安全非常重要 据我所知 我主要担心的是传入的 DoS DDoS 攻
  • 在 Linux/Ubuntu 计算机上通过 Python/Django 设置网络设置

    我正在为嵌入式计算机开发一个简单的网络界面 计算机将附带一个静态默认 IP 然后需要由可能不懂技术 Linux 的安装技术人员进行更新 基本上我需要从 Django 应用程序更改以下系统设置 IP地址 Subnet 默认网关 DNS 服务器
  • 如何使用 SVN 通过网络提交单个文件?

    我可以查看整个svn使用以下命令存储库 svn co https myaccount svn beanstalkapp com myapp 但我无法弄清楚提交单个文件的命令 如果我改变成myapp page1 html 我怎样才能只签入那一
  • gdb 错误 - 文件不是可执行格式:无法识别文件格式

    我正在尝试使用 gdb 调试某个名为 xdf 的程序 但是当我运行 gdb xdf 时 出现以下错误 home nealtitusthomas X ray astronomy heasoft 6 24 x86 64 pc linux gnu
  • 有没有人在 Ubuntu 16.04 LTS 上安装 QGIS

    按照以下网址提供的说明进行操作 这一页 http www qgis org en site forusers alldownloads html并收到以下错误 以下软件包具有未满足的依赖关系 python qgis Depends pyth
  • Docker 中的 Airflow:如何将 DAG 添加到 Airflow?

    我想将 DAG 文件添加到 Airflow 它在 Ubuntu 上的 Docker 中运行 我用了以下git 存储库 https github com puckel docker airflow 包含配置和 docker 镜像的链接 当我跑
  • 伪分布式模式下的 Hadoop。连接被拒绝

    P S 请不要将此标记为重复 Hi 我一直在尝试以伪分布式模式设置和运行 Hadoop 当我运行 start all sh 脚本时 我得到以下输出 starting namenode logging to home raveesh Hado
  • NMCLI 设备不可用

    我正在尝试在 ubuntu core 16 04 上配置带有蜂窝接口的新设备 我有 NMCLI 包在上面运行 在添加连接之前 我检查了接口 nmcli dev DEVICE TYPE STATE CONNECTION eth1 ethern
  • Apache 反向代理的基本身份验证问题

    我想为在 Ubuntu 服务器 12 04 1 上运行的 Apache 反向代理站点添加基本身份验证 网络应用程序是Jenkins http jenkins ci org运行在 Java EE 容器上 我在中添加了以下配置httpd con

随机推荐

  • 什么是RAID存储技术

    RAID是廉价磁盘冗余阵列的缩写 但随着世界变得数字化 效率和成功达到顶峰 它被重命名为独立磁盘冗余阵列 负责以完整的协议存储您的宝贵数据 并为您提供具有一般或传统存储设备可能无法实现的容错功能 为什么要使用RAID 当 RAID 领域的工
  • 如何检查您的业务网络是否防御不力

    Summary 您最后一次检查业务网络是否存在缺陷和漏洞是什么时候 如果时间太长 现在可能就有危险了 请继续阅读以了解执行快速测试的方法 Details 如今 任何组织 无论大小 都无法逃脱黑客的攻击 如果您拥有一家企业 就不能没有万无一失
  • Java程序检查回文数

    A 回文数是一个即使数字顺序颠倒也保持不变的数字 例如 121 12321 1001等都是回文数的例子 在本文中 我们将探讨如何使用 Java 程序检查数字是否为回文数 概念概述 为了确定一个数字是否是回文 我们将原始数字与其相反的版本进行
  • 了解 Terraform 提供商

    Terraform 是 HashiCorp 开发的开源基础设施即代码软件 使用户能够使用声明性配置语言定义和提供数据中心基础设施 其运作机制的关键是概念 提供者 它们是 Terraform 基于插件的架构的组成部分 在本文中 我们将探讨 T
  • 什么是本地主机?

    在计算机网络中 术语 本地主机 指当前用于访问它的设备 它用于通过环回网络接口访问主机上运行的网络服务 使用环回接口绕过任何本地网络接口硬件 期限 本地主机 是由单词的组合衍生而来 local and host 这个单词 local 指的是
  • 如何通过 SSH 使用 Nagios 监控远程 Linux 系统

    NRPE是使用 Nagios 服务器监控远程 Linux 系统的最流行方法 但在某些情况下 我们不想在远程系统上安装 NRPE 或者无法安装它 在这种情况下 几乎没有其他方法可以监视远程系统 在本教程中 我们将描述通过 ssh 检查 met
  • 如何在 Ubuntu 22.04 上安装 Anaconda

    Anaconda 是一个用于 R 编程和 Python 的开源平台 其中包含各种各样的包和存储库 它的功能很重要 因为它提供大规模的处理和计算数据 并且还可以用Python语言进行编程 Anaconda 为 python 应用程序提供了一个
  • 如何在 Ubuntu 20.04 上安装 Docker Compose

    Docker compose 是管理多个 docker 容器的有用工具 它帮助我们使用单个命令启动 更新和构建一组 docker 容器 在多容器应用程序的情况下 docker compose帮助我们更轻松地管理它 本教程帮助您在 Ubunt
  • 构建第一个 RPM 包的初学者指南

    如果您正在开始 Linux 世界的旅程并选择了红帽生态系统 那么您需要掌握的基本技能之一就是创建 RPM 软件包 本指南将逐步引导您完成整个过程 帮助您了解 RPM 打包以及如何构建自己的 RPM 包 即使作为初学者也是如此 什么是 RPM
  • Linux 中的 Pstree 命令

    在 Linux 计算机上工作时 有时您可能需要了解当前正在运行哪些进程 您可以使用许多命令来查找有关正在运行的进程的信息 其中ps and top是最常用的 在这篇文章中 我们将讨论pstree命令 它类似于ps 但它不是列出正在运行的进程
  • 如何在 Ubuntu 18.04 上安装 Asterisk

    Asterisk 是最流行和广泛采用的开源 PBX 平台 为 IP PBX 系统 会议服务器和 VoIP 网关提供支持 它被世界各地的个人 小型企业 大型企业和政府使用 Asterisk 功能包括语音邮件 等待音乐 电话会议 呼叫排队 通话
  • 如何在 Ubuntu 20.04 上安装 PHP 8

    PHP 是最广泛使用的服务器端编程语言之一 许多流行的 CMS 和框架 例如 WordPress Magento 和 Laravel 都是用 PHP 编写的 PHP 8 0 是 PHP 语言的最新主要版本 它引入了一些重大变化 性能改进以及
  • 如何在 Debian 9 上安装 MariaDB

    MariaDB 是一个开源 多线程关系数据库管理系统 向后兼容 MySQL 的替代品 它由以下机构维护和开发MariaDB基金会包括MySQL的一些原始开发人员 随着 Debian 9 的发布 MySQL 被 MariaDB 取代作为默认数
  • 如何在 Ubuntu 18.04 上安装 R

    R 是一种快速发展的开源编程语言和免费环境 专门从事统计计算和图形表示 它由 R 统计计算基金会支持 主要供统计学家和数据挖掘人员用于开发统计软件和执行数据分析 本教程将指导您完成在 Ubuntu 18 04 计算机上安装 R 的步骤 先决
  • 如何在 Linux 中复制文件和目录

    复制文件和目录是使用命令行时最常见的任务之一 Linux 中有多种用于复制文件的命令 其中cp and rsync是使用最广泛的工具 通常的做法是使用cp复制文件的命令和rsync复制目录 为了能够复制文件和目录 您必须至少具有源文件的读取
  • 如何在 Ubuntu 18.04 上安装和使用 Docker Compose

    Docker 组合是一个允许您定义和管理多容器 Docker 应用程序的工具 它使用 YAML 文件来配置应用程序的服务 网络和卷 Compose 可用于不同的目的 单主机应用程序部署 自动化测试和本地开发是 Docker Compose
  • 如何设置无密码 SSH 登录

    Secure Shell SSH 是一种加密网络协议 用于客户端和服务器之间的安全连接 支持多种身份验证机制 两种最流行的机制是基于密码的身份验证和基于公钥的身份验证 在本教程中 我们将向您展示如何设置基于 SSH 密钥的身份验证以及如何在
  • 如何在 Ubuntu 20.04 上安装 Visual Studio Code

    视觉工作室代码是微软开发的一款功能强大的开源代码编辑器 它具有内置的调试支持 嵌入式Git控制 语法突出显示 代码完成 集成终端 代码重构和片段 Visual Studio Code 是跨平台的 可在 Windows Linux 和 mac
  • 如何在 Debian 10 Linux 上安装 Webmin

    Webmin是一个用于管理 Linux 服务器的开源 Web 控制面板 它允许您管理系统用户 组 磁盘配额以及安装和配置 Web ssh ftp 电子邮件和数据库服务器 使用 Webmin 您几乎可以配置系统的每个方面 在本教程中 我们将向
  • 如何在 Ubuntu 18.04 上安装 Kvm

    KVM 基于内核的虚拟机 是内置于 Linux 内核中的开源虚拟化技术 它允许您运行多个基于 Linux 或 Windows 的隔离来宾虚拟机 每个来宾都有自己的操作系统和专用虚拟硬件 例如 CPU 内存 网络接口和存储 本指南介绍如何在