千家信息网

Ubuntu中怎么构建Kvm环境

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,Ubuntu中怎么构建Kvm环境,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1. 硬件系统的配置在 x86-64 架构
千家信息网最后更新 2026年11月02日Ubuntu中怎么构建Kvm环境

Ubuntu中怎么构建Kvm环境,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

1. 硬件系统的配置

在 x86-64 架构的处理器中, KVM 必需的硬件虚拟化扩展分别为: Intel 的虚拟化技术(Intel VT) 和 AMD 的 AMD-V 技术。首先处理器(CPU) 要在硬件上支持 VT 技术, 还要在 BIOS 中将其功能打开, KVM 才能使用到。 目前, 多数流行的服务器和部分桌面处理器的 BIOS 都默认将 VT 打开了。

Linux 系统中, 可以通过检查 /proc/cpuinfo 文件中的 CPU 特性标志(flags) 来查看 CPU 目 前是否支持硬件虚拟化。 在 x86 和 x86-64 平台中, Intel 系列 CPU 支持虚拟化的标志为"vmx",AMD 系列 CPU 的标志为" svm", 所以可以用如下命令行查看" vmx" 或者" svm" 标志。

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

2. 安装宿主机 Linux 系统

KVM 是基于内核的虚拟化技术, 要运行 KVM 虚拟化环境, 安装一个 Linux 操作系统的宿主机(Host) 是必需的。下面将使用ubuntu18.04为例进行安装。

3. 编译和安装 KVM

3.1 download source code

  1. download Kvm

    url: https://git.kernel.org/pub/scm/virt/kvm/kvm.git/

    version: linux-4.16.tar.gz

3.2 Config Kvm

  1. 使用可视化的配置选项,否则9k+的配置会让你崩溃。

      make menuconfig


  2. 如果出现错误:Unable to find the ncurses libraries

         sudo apt-get install ncurses-dev


  3. 选择了 Virtualization 之后, 进入其中进行详细配置, 包括选中 KVM、 选中对处理器的支持等。

      CONFIG_HAVE_KVM=y        CONFIG_HAVE_KVM_IRQCHIP=y        CONFIG_HAVE_KVM_EVENTFD=y        CONFIG_KVM_APIC_ARCHITECTURE=y        CONFIG_KVM_MMIO=y        CONFIG_KVM_ASYNC_PF=y        CONFIG_HAVE_KVM_MSI=y        CONFIG_VIRTUALIZATION=y        CONFIG_KVM=m        CONFIG_KVM_INTEL=m        # CONFIG_KVM_AMD is not set        CONFIG_KVM_MMU_AUDIT=y

    确保以上与Kvm相关的配置正确。

3.3 Compile Kvm

需要经过编译 kernel、 编译 bzImage 和编译 module 等三个步骤。

  1. 编译 kernel

            make vmlinux -j 20


    -j参数表示使用20个进程进行编译,不是必须。

    遇到错误:scripts/extract-cert.c:21:10: fatal error: openssl/bio.h: No such file or directory

          sudo apt install libssl-dev


  2. 编译 bzImage

         make bzImage


  3. 编译 module

           make modules -j 20


3.4 Install Kvm

KVM 的安装包括两个步骤: module 的安装、 kernel 与 initramfs 的安装。

  1. 安装 module

     make modules_install


    以上命令可以将编译好的 module 安装到相应的目录之中, 在默认情况下 module 被安装到 /lib/modules/$kernel_version/kernel 目录之中。

    报错Makefile:934: "Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev,libelf-devel or elfutils-libelf-devel" 在配置文件暂时去掉这个配置:

      # CONFIG_STACK_VALIDATION  is not set


    安装好 module 之后, 可以查看一下相应的安装路径, 可看到 kvm 模块也已经安装.

          ls -l /lib/modules/4.15.0/kernel/        ls -l /lib/modules/4.15.0/kernel/arch/x86/kvm/


  2. 安装 kernel 和 initramfs

        make install


    报错:gzip: stdout: No space left on device 清理/boot分区或者调整/boot分区的大小。

       ls -l /boot/


    通过以上命令可见, 在 /boot 目录下生成了内核(vmlinuz) 和 initramfs 等内核启动所需的文件。

     cat /boot/grub/grub.cfg


    通过以上命令看到,在运行 make install 之后, grub 配置文件(如 : /boot/grub/grub.cfg) 中也自动添加了一个 grub 选项。

  3. 重新启动系统, 选择刚才为了 KVM 而编译、 安装的内核启动。

    在通常情况下, 系统启动时默认已经加载了 kvm 和 kvm_intel 这两个模块; 如果没有加载, 请手动用 modprobe 命令依次加载 kvm 和 kvm_intel 模块。

            # 查看是否加载        lsmod | grep kvm        # 如果没有就手动加载        modprobe kvm        modprobe kvm_intel


  4. 检查 /dev/kvm 文件

    它是 kvm 内核模块提供给用户空间的 qemu-kvm 程序使用的一个控制接口, 它提供了客户机(Guest) 操作系统运行 所需要的模拟和实际的硬件设备环境。

        ls -l /dev/kvm


4. 编译和安装 qemu-kvm

除了在内核空间的 kvm 模块之外,在用户空间需要 QEMU 来模拟所需要 CPU 和设备模型以及用于启动客户机进程,这样才有了一个完整的 KVM 运行环境。 而 qemu-kvm 是为了针对 KVM专门做了修改和优化的 QEMU 分支。

  1. 下载 qemu-kvm 源码

    url: https://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git

    version: qemu-kvm-2.3.0.tar.gz

  2. 配置 qemu-kvm 直接运行代码仓库中 configure 文件进行配置.

      ./configure


    报错ERROR: pkg-config binary 'pkg-config' not found

     sudo apt install pkg-config


    报错ERROR: zlib check failed Make sure to have the zlib libs and headers installed.

      sudo apt-get install zlib1g-dev


    报错ERROR: glib-2.12 gthread-2.0 is required to compile QEMU

         sudo apt-get install libglib2.0-dev


    报错ERROR: pixman >= 0.21.8 not present.

      apt-get install libpixman-1-dev


    报错ERROR: DTC (libfdt) not present.

      apt-get install libfdt-dev


    修正以上错误后还是会编译出错。

    发现kernel.org下载的版本两年没更新了,到官网下载最新的稳定版:

    url: https://www.qemu.org/download/ version: 2.12.0

    确保一下配置正确:

      VNC support yes # 通常需要通过 VNC 连接到客户机中        KVM support yes # 这是对 KVM 的支持


  3. 编译 qemu-kvm 直接make进行安装:

           make -j 20


    可以看到, 最后有编译生成 qemu-system-x86_64 文件, 它就是我们常用的 qemu-kvm 的命令行工具

  4. 安装 qemu-kvm 编译完成之后, 运行make install 命令即可安装 qemu-kvm。

    qemu-kvm 安装过程的主要任务有这几个 : 创建 qemu 的一些目录, 复制一些配置文件到相应的目录下, 复制一些 firmware 文件(如 : sgabios.bin, kvmvapic.bin) 到目录下以便 qemu-kvm 的命令行启动时可以找到对应的固件提供给客户机使用, 复制 keymaps 到相应的目录下以便在客户机中支持各种所需键盘类型, 复制 qemu-system-x86_64、 qemu-img 等可执行程序到对应的目录下。

  5. 检查 qemu-kvm 安装之后的系统状态

           which qemu-system-x86_64        which qemu-img        ls /usr/local/share/qemu/        ls /usr/local/share/qemu/keymaps/


  6. 由于 qemu-kvm 是用户空间的程序, 安装之后不用重启系统, 直接用 qemu-systemx86_64、 qemu-img 这样的命令行工具即可使用 qemu-kvm 了。

5. 安装客户机

  1. 创建一个镜像文件或者磁盘分区等来存储客户机的系统和文件

            dd if=/dev/zero of=rhel6u3.img bs=1M count=40960


  2. 启动客户机

            qemu-system-x86_64 -usbdevice tablet -m 4096 -smp 2 --enable-kvm -boot order=cd -hda /home/micle/Proj/VirtDemo/win7sp1.img -cdrom  /home/micle/Proj/VirtDemo/win7pro_sp1_x64_dvd_u_677031.iso


  3. 安装vncviewer 并连接客户机

        sudo apt install vnc4server        sudo apt install xvnc4viewer


          vncviewer ip:5900


  4. Ctrl+Alt+2 切换到 QEMU 监视器窗口

    在监视器窗口中可以执行一些命令, 比如执行info kvm 命令来查看当前 QEMU 是否使用着 KVM. Ctrl+Alt+1 可以切换回原窗口。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

编译 配置 命令 文件 系统 客户 客户机 目录 支持 内核 运行 模块 硬件 环境 处理器 技术 标志 空间 处理 用户 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中国互联网科技工作委员会毛军 智能科技公司是互联网公司吗 壕鑫互联网络科技 互联网科技美容 成都狮子座互联网科技 哈尔滨秒房互联网科技有限公司 科技与互联网的利与弊 互联网之后的科技是什么 中国的互联网科技企业的崛起 互联网企业和科技型企业 互联网科技革命什么开始 江阴互联网智能科技产品进口 元气玛特互联网科技公司是外包吗 广州千川互联网科技有限公司 南京一网一红互联网科技有限公司 版纳互联网科技选哪家 长沙渺峰互联网科技有限公司 银川新华互联网科技学校原画 数字互联网科技有限公司 山东亿川互联网科技有限责任公司 互联网科技公司的优势 互联网科技排名 卓越科技互联网 招聘 北京大学互联网科技怎么样 互联网企业和科技型企业 深圳市优智互联网科技有限公司 山东大美朱楼互联网科技有限公司 广东鹅鹅鹅互联网科技有限公司 唯美互联网科技 互联网科技对化妆品行业
0