QEMU搭建X86_64 + Ubuntu虚拟系统环境

这篇具有很好参考价值的文章主要介绍了QEMU搭建X86_64 + Ubuntu虚拟系统环境。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

QEMU搭建X86_64 + Ubuntu虚拟系统环境
本文记录一下学习和使用QEMU虚拟工具的过程,初次尝试,如有错误请各位大佬帮忙指正。

提示:不推荐在低版本的Ubuntu中操作,QEMU需要很多依赖所用到的版本比较高,低版本ubuntu系统无法一键安装或者升级到对应的高版本的依赖,需要手动下载安装,期间可能会遇到各种问题,建议还是用20或以上的版本,避免很多麻烦。

当前环境:
Workstation 16 Pro、Ubuntu20.04

一、qemu介绍

QEMU 是一个通用的开源机器仿真器和虚拟化器。

当用作机器仿真器时,QEMU 可以在另一台机器(例如您自己的 PC)上运行为一台机器(例如 ARM 板)制作的操作系统和程序。通过使用动态平移,它实现了非常好的性能。

当用作虚拟器时,QEMU 通过直接在主机 CPU 上执行客户机代码来实现接近本机的性能。QEMU 在 Xen hypervisor 下执行或使用 Linux 中的 KVM 内核模块时支持虚拟化。使用 KVM 时,QEMU 可以虚拟化 x86、服务器和嵌入式 PowerPC、64 位 POWER、S390、32 位和 64 位 ARM 以及 MIPS 客户机。
QEMU是一个支持跨平台虚拟化的虚拟机,QEMU的优势是可以跨指令集,VMware和Virtualbox之类的工具通常只能在x86计算机上虚拟出一个x86计算机,而QEMU支持在x86上虚拟出一个ARM计算机

二、查看环境

1.编译工具

$ gcc -v    # gcc版本不低于7.40
$ dpkg -l | grep glib    # 查看glib

2.查看系统是否支持KVM

开启处理器中的虚拟化 Intel VT-x/EPT或AMD-V/RVI(V)选项,若使用主机,请在BIOS中设置;若使用虚拟机,可以在虚拟机软件中设置:
QEMU搭建X86_64 + Ubuntu虚拟系统环境
开启后可以通过命令检查是支持KVM:

$ grep -E '(vmx|svm)' /proc/cpuinfo	# cpu虚拟化支持
$ lsmod|grep kvm   # 查看Linux内核是否已安装KVM内核模块

3.修复主机不支持KVM嵌套虚拟化

配置完重启虚拟机可能会遇到不支持嵌套虚拟化的提示如
QEMU搭建X86_64 + Ubuntu虚拟系统环境
可以参考这个教程:https://blog.csdn.net/Officialcareer/article/details/120800562
但是仍然无法解决我的这个错误。

虚拟机访问物理资源时一定是需要通过VMM去建立一个虚拟的Ring0权限的,二内核隔离开启后, 默认会启动hybrid-v, 这个东西和虚拟机是冲突的,所以我就想会不会时Windows升级的过程中默认开启了内核隔离功能,当我打开Windows安全中心>设备安全性>内核隔离,果然是打开的,然后我就关闭了内核隔离,重启了电脑:
QEMU搭建X86_64 + Ubuntu虚拟系统环境
成功进入虚拟机!

三、qemu安装

1.安装依赖

apt-get update
# 下载依赖项
apt-get install git libglib2.0-dev libfdt-dev libpixman-1-dev zlib1g-dev
apt-get install libaio-dev libbluetooth-dev libbrlapi-dev libbz2-dev
apt-get install libnfs-dev libiscsi-dev
# 实际编译时还需要这个依赖
sudo apt-get install ninja-build

2.下载qemu源码

2.1 从git克隆 QEMU / QEMU · GitLab

git clone https://gitlab.com/qemu-project/qemu.git

git下载qemu成功后会产生一个cd进入到qemu目录下,ls查看所有文件如下,其中configure命令是之后要用到的
QEMU搭建X86_64 + Ubuntu虚拟系统环境

2.2 官网下载
qemu-5.1.0.tar.xz

# 解压Qemu源码
$ xz -d qemu-5.1.0.tar.xz
$ tar xvf qemu-5.1.0.tar

3.编译qemu

对编译不太熟悉的同学可以看看这篇文章

3.1 创建一个工作空间来编译:
以官网下载的源码为例

$ cd qemu-5.1.0
# Prepare a native debug build.
$ mkdir -p bin/debug/native
$ cd bin/debug/native
# Return to the QEMU root directory.
$ cd ../../..

3.2 编译解释
configure为shell脚本,用于生成Makefile,其使用方法可使用如下命令查看:

./configure --help

–enable-kvm:

编译KVM模块,是qemu可利用KVM来访问硬件提供的虚拟化服务

–enable-vnc:

启动VNC(远程控制工具软件)

拓展:VNC(https://blog.csdn.net/CH_sir/article/details/107784528)

–target-list:

目标机器的构架,默认是将所有架构都编译,为了更快完成编译,指定需要的架构即可。

QEMU搭建X86_64 + Ubuntu虚拟系统环境

3.3 开始编译
这里选择x86_64-softmmu

$ cd bin/debug/native
$ ../../../configure --enable-kvm --enable-debug --enable-vnc --target-list="x86_64-softmmu"
$ make -j8
$ make install

# 通过指令查看编译是否成功
$ qemu-system-x86_64 -M help

QEMU搭建X86_64 + Ubuntu虚拟系统环境

四、安装linux操作系统

4.1 无图形界面安装

(1).操作系统镜像下载

Ubuntu镜像下载地址
这里下载的版本是ubuntu-20.04.5-live-server-amd64.iso

(2).创建虚拟硬盘

利用qemu-img指令可以创建1个空的虚拟硬盘,便于后面安装的时候将系统安装到虚拟硬盘上
进入到工作空间/qemu/bin/debug/native目录下
使用以下命令创建虚拟硬盘

qemu-img create ubuntu-20.04.5-amd64.img 10G	

在当前目录下会生成ubuntu20.04.5-amd64.img这样一个文件

(3).虚拟机安装

将上面的镜像文件ubuntu-20.04.5-live-server-amd64.iso 放 在/qemu/bin/debug/native该目录下
QEMU搭建X86_64 + Ubuntu虚拟系统环境然后使用以下命令安装:

qemu-system-x86_64 -m 2048 -smp 2 --enable-kvm ubuntu-20.04.5-amd64.img -cdrom ubuntu-20.04.5-live-server-amd64.iso

-m 2048 —— 给客户机分配2G内存(也可以输入“2G”);
-smp 2 —— 指定客户机为对称多处理器结构并分配2个CPU;
–enable-kvm —— 允许kvm(速度快很多)
-cdrom * —— 分配客户机的光驱

ps:输入上述命令会直接进入安装界面,如果命令行卡在那里(没有报错),大概率是没有正常安装,检查命令中的参数是否正确,**(如无特殊需求,建议只用这几个基本参数就好)**然后重新执行安装命令。

正在安装的截图:
QEMU搭建X86_64 + Ubuntu虚拟系统环境
QEMU搭建X86_64 + Ubuntu虚拟系统环境
QEMU搭建X86_64 + Ubuntu虚拟系统环境
Ubuntu无图形界面安装步骤参考

(4).再次打开创建的虚拟机

启动虚拟机输入命令如下:(不再加载iso镜像)

qemu-system-x86_64 -m 2048 -smp 2 --enable-kvm ubuntu-20.10-desktop-amd64.img 

第一次用此命令开启虚拟机可能会有点慢,需要耐心等待

至此通过QEMU工具安装无界面Ubuntu x86_64虚拟系统完成!接下来尝试带图形UI的Ubuntu

4.2 制作一个有图形界面的虚拟系统

(1).操作系统镜像下载

下载Ubuntu桌面版ubuntu-20.04.4-desktop-amd64.iso

(2).创建虚拟硬盘

emu-img create -f qcow2 test-vm-2.qcow2 10G   

QEMU搭建X86_64 + Ubuntu虚拟系统环境

(3).安装ubuntu20.04图形界面的系统

qemu-system-x86_64 -m 2048 -smp 2 --enable-kvm test-vm-2.qcow2 -cdrom ubuntu-20.04.4-desktop-amd64.iso

QEMU搭建X86_64 + Ubuntu虚拟系统环境
QEMU搭建X86_64 + Ubuntu虚拟系统环境

(4).再次打开创建的虚拟机

重新启动有点慢,需要耐心等待

qemu-system-x86_64 -m 2048 -smp 2 --enable-kvm test-vm-2.qcow2

QEMU搭建X86_64 + Ubuntu虚拟系统环境
QEMU搭建X86_64 + Ubuntu虚拟系统环境

五、可能遇到的问题

1.编译qemu时提示缺少GCC-7.4
QEMU搭建X86_64 + Ubuntu虚拟系统环境

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-7 g++-7
gcc-7 --version

如果仍无法解决:
下载gcc-7.4的tar.gz安装包

apt-get remove gcc  # 删除原有的gcc
tar -zxvf gcc-7.4.0.tar.gz    # 解压tar.gz
cd gcc-7.4.0
# 创建一个build目录,在该目录下编译,避免污染源码。
mkdir build
cd build
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
make
make install

gcc -v    # 查看gcc版本

参考文章

https://blog.csdn.net/Officialcareer/article/details/120800562
https://blog.csdn.net/M82_A1/article/details/98946271
https://www.cnblogs.com/bakari/p/7858029.html文章来源地址https://www.toymoban.com/news/detail-446275.html

到了这里,关于QEMU搭建X86_64 + Ubuntu虚拟系统环境的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在x86下运行的Ubuntu系统上部署QEMU用于模拟RISC-V硬件系统

    下载地址: 建议选择stable版本,arch选择riscv64-lp64d,libc选择常用的glibc。 下载后解压,然后将bin目录加入PATH环境变量中。 下载地址: 建议选择稳定版本,下载后解压,然后make --enable-virtfs 用户虚拟机和宿主机之间共享文件 Linux内核下载地址: 选择稳定的版本,下载完后解

    2024年02月13日
    浏览(58)
  • QEMU搭建arm虚拟机开发环境

    使用git指令切换到对应的分支上,我这里使用的是stable-4.0的分支 git checkout -b stable-4.0 remotes/origin/stable-4.0 在工程的根目录下执行 ./configure --target-list=aarch64-linux-user,aarch64-softmmu --enable-virtfs --enable-debug 然后执行make,视情况是否要执行make install

    2024年01月25日
    浏览(39)
  • 使用QEMU(x86)模拟运行ARM64架构并进行内核调试

    在 x86 上使用 QEMU 虚拟机模拟并调试 ARM64。 参考:ubuntu虚拟机中使用QEMU搭建ARM64环境 主机 ubuntu 20.04, Linux 5.16.0 QEMU emulator version 7.2.92 (v8.0.0-rc2-23-gefcd0ec14b) :qemu-7.2.29 合适的ARM64内核源码:linux-4.14.221.tar.gz 安装交叉编译工具: sudo apt-get install gcc-aarch64-linux-gnu 命令安装以及源码

    2024年02月09日
    浏览(61)
  • Ubuntu系统下Python的虚拟环境搭建方法

    Ubuntu系统下Python的虚拟环境搭建方法简介:venv、virtualenv、pipenv Python创建虚拟环境的三种方式 Ubuntu安装python虚拟环境 Python虚拟环境的作用:针对不同项目搭建独立的Python运行环境,防止与其他Python运行环境发生冲突。 Python虚拟环境的优点:有助于Python包管理和维护。另外,

    2023年04月24日
    浏览(45)
  • Qt教程3-Ubuntu(x86_64)上配置arm64(aarch64)交叉编译环境及QT编译arm64架构工程

    苦辣酸甜时光八载,春夏秋冬志此一生 Qt简介: Qt(官方发音 [kju:t],音同 cute)是一个跨平台的 C++ 开发库,主要用来开发图形用户界面(Graphical User Interface,GUI)程序,当然也可以开发不带界面的命令行(Command User Interface,CUI)程序。 Qt 支持的操作系统有很多,例如通用

    2024年01月23日
    浏览(51)
  • windows-x86使用qemu打开x86和arm虚拟机

     下载固件(UEFI固件镜像文件,BIOS的替代方案) ) 使用cmd执行qemu命令,配置好环境变量比较方便 准备好一个x86的镜像或者arm的镜像,格式可以为qcow2 打开cmd,执行命令 x86 arm 注:上面字段含义  -m 8192 : 分配8GB内存  -cpu cortex-a72 : 虚拟CPU为ARM Cortex-A72 -smp 8,sockets=4,cores=2 : 虚

    2024年02月16日
    浏览(46)
  • 基于Ubuntu20.04搭建OpenHarmony v3.0.6的qemu仿真环境

    出于个人兴趣,也出于对国产操作系统的好奇,想尝试一下以LiteOS为内核的Openharmony。但过程相当不顺利,主要原因是官方文档内容组织的不敢恭维。挺好的东西,不把说明书写好,让用户怎么用?我研究的核心问题就一个:如何在基于Qemu仿真的Openharmony中输出一个hello worl

    2024年02月09日
    浏览(41)
  • 银河麒麟服务器arm、x86安装qemu虚拟机

    使用下面的命令安装的话只能安装同构的虚拟机,如arm的就只能安装arm的;x86的就只能安装x86的 等待安装完成 直接复制脚本执行即可 使用源码编译安装就能创建异构的虚拟机了,比如:在arm服务器上创建x86的,在x86上创建arm的 我测试使用的是qemu-4.2.0.tar.xz这个版本,因为我

    2024年02月02日
    浏览(79)
  • x86 平台利用 qemu-user-static 实现 arm64 平台 docker 镜像的运行和构建

    因为国产化的普及,尤其一些证券和银行行业,已经开始走信创的路线,后期也许会接触到国产 CPU ( arm 平台,比如华为的鲲鹏处理器) 自己买 arm 平台的 CPU ,这个成本着实吃不消,于是尝试 x86 平台运行 arm 平台的容器来降本增效 docker 运行其他平台容器,需要使用 --pla

    2024年02月02日
    浏览(46)
  • MINIX 3 系统之搭建QEMU ARM运行环境

      MINIX 3是一个比较完善的微内核架构的类unix系统。如果想要了解和学习操作系统,Linux肯定是首选,而且几乎所学即所用。但是,如今的Linux已经复杂到一定层度,即便有丰富的视频和书籍作为参考,想通过Linux以窥操作系统之精髓,继而自己实现一个系统,个人认为不是

    2024年02月02日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包