news 2026/7/6 7:50:41

QEMU入门教程:10分钟搭建你的第一个虚拟机

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
QEMU入门教程:10分钟搭建你的第一个虚拟机

QEMU入门教程:10分钟搭建你的第一个虚拟机

【免费下载链接】intel-qemuqemu is a generic and open source machine emulator and virtualizer.项目地址: https://gitcode.com/openeuler/intel-qemu

前往项目官网免费下载:https://ar.openeuler.org/ar/

QEMU是一款功能强大的开源机器仿真器和虚拟化工具,能够在不同架构之间实现完整的系统仿真和虚拟化。无论你是想测试不同的操作系统,还是需要在开发环境中运行跨平台的应用程序,QEMU都能为你提供灵活高效的解决方案。本教程将带你快速入门,在10分钟内完成第一个虚拟机的搭建。

🔧 QEMU快速安装指南

Linux系统安装方法

在大多数Linux发行版上,你可以通过包管理器轻松安装QEMU:

Ubuntu/Debian系统:

sudo apt-get update sudo apt-get install qemu-system-x86 qemu-utils

CentOS/RHEL/Fedora系统:

sudo yum install qemu-kvm qemu-img # 或使用dnf sudo dnf install qemu-kvm qemu-img

openEuler系统:

sudo dnf install qemu

Windows系统安装方法

对于Windows用户,可以从QEMU官方网站下载安装包,或者使用Chocolatey包管理器:

choco install qemu

🚀 创建你的第一个虚拟机

步骤1:准备操作系统镜像

首先,你需要一个操作系统镜像文件。这里以Ubuntu为例,你可以从官方网站下载ISO镜像:

# 下载Ubuntu 22.04 LTS镜像 wget https://releases.ubuntu.com/22.04/ubuntu-22.04.3-live-server-amd64.iso

步骤2:创建虚拟硬盘

使用qemu-img工具创建一个20GB的虚拟硬盘:

qemu-img create -f qcow2 ubuntu.qcow2 20G

步骤3:启动虚拟机安装

运行以下命令开始安装Ubuntu系统:

qemu-system-x86_64 \ -m 2048 \ -smp 2 \ -hda ubuntu.qcow2 \ -cdrom ubuntu-22.04.3-live-server-amd64.iso \ -boot d \ -enable-kvm

参数说明:

  • -m 2048:分配2GB内存
  • -smp 2:分配2个CPU核心
  • -hda ubuntu.qcow2:使用刚才创建的虚拟硬盘
  • -cdrom:指定安装镜像
  • -boot d:从光盘启动
  • -enable-kvm:启用KVM加速(需要硬件支持)

📊 QEMU核心功能解析

1. 系统仿真功能

QEMU最强大的功能之一是跨架构仿真。你可以在x86机器上运行ARM、MIPS、PowerPC等不同架构的系统:

# 在x86主机上运行ARM系统 qemu-system-arm -M versatilepb -kernel zImage -initrd rootfs.img

2. 用户模式仿真

QEMU还支持用户模式仿真,可以直接运行不同架构的二进制文件:

qemu-arm ./arm-binary qemu-mips ./mips-binary

3. 网络配置

为虚拟机配置网络连接:

qemu-system-x86_64 \ -netdev user,id=mynet0 \ -device e1000,netdev=mynet0 \ -hda ubuntu.qcow2

🛠️ 常用配置选项详解

存储配置

QEMU支持多种存储格式,包括qcow2、raw、vmdk等:

qcow2格式(推荐):

  • 支持快照
  • 动态分配空间
  • 支持压缩和加密

创建不同格式的虚拟硬盘:

# 创建qcow2格式 qemu-img create -f qcow2 disk.qcow2 50G # 创建raw格式 qemu-img create -f raw disk.raw 50G # 格式转换 qemu-img convert -f raw -O qcow2 disk.raw disk.qcow2

显示选项

QEMU提供多种显示后端:

# 使用VNC显示 qemu-system-x86_64 -vnc :1 -hda ubuntu.qcow2 # 使用SDL显示 qemu-system-x86_64 -display sdl -hda ubuntu.qcow2 # 无图形界面(服务器模式) qemu-system-x86_64 -nographic -hda ubuntu.qcow2

性能优化配置

qemu-system-x86_64 \ -m 4096 \ -smp 4 \ -cpu host \ -enable-kvm \ -drive file=ubuntu.qcow2,format=qcow2 \ -netdev bridge,br=virbr0,id=net0 \ -device virtio-net-pci,netdev=net0

🔍 实用技巧与故障排除

1. 查看QEMU版本信息

qemu-system-x86_64 --version

2. 查看支持的机器类型

qemu-system-x86_64 -M help

3. 查看支持的设备

qemu-system-x86_64 -device help

4. 常见问题解决

问题:KVM加速不可用

# 检查KVM模块是否加载 lsmod | grep kvm # 检查CPU是否支持虚拟化 egrep -c '(vmx|svm)' /proc/cpuinfo

问题:网络连接失败检查网络配置是否正确,确保防火墙没有阻止相关端口。

📁 项目文件结构概览

了解QEMU项目结构有助于深入学习和定制:

核心源码目录:

  • accel/- 加速器相关代码(KVM、TCG等)
  • hw/- 硬件设备仿真代码
  • target/- 目标架构相关代码
  • softmmu/- 系统模式仿真
  • linux-user/- 用户模式仿真

配置文件示例:查看Makefile了解构建配置 参考README.rst获取完整文档

🎯 高级应用场景

开发环境搭建

QEMU是嵌入式开发和内核开发的理想工具:

# 运行自定义内核 qemu-system-x86_64 \ -kernel bzImage \ -initrd initrd.img \ -append "console=ttyS0" \ -nographic

容器化环境测试

使用QEMU测试不同架构的容器:

# 在x86上运行ARM容器 docker run --rm -it arm64v8/ubuntu bash

CI/CD集成

QEMU可以集成到持续集成流程中,进行跨平台测试。

💡 最佳实践建议

  1. 使用qcow2格式:节省磁盘空间,支持快照功能
  2. 启用KVM加速:显著提升性能(需要硬件支持)
  3. 合理分配资源:根据实际需求分配CPU和内存
  4. 定期备份:重要虚拟机定期备份虚拟硬盘文件
  5. 使用版本控制:虚拟机配置脚本纳入版本管理

📚 学习资源推荐

官方文档:

  • QEMU用户手册:查看docs/目录
  • 在线文档:https://www.qemu.org/docs/

社区资源:

  • QEMU邮件列表:qemu-devel@nongnu.org
  • IRC频道:#qemu on irc.oftc.net

🎉 开始你的虚拟化之旅

通过本教程,你已经掌握了QEMU的基本使用方法。从简单的虚拟机创建到高级配置,QEMU为你提供了强大的虚拟化能力。无论是学习操作系统原理、测试软件兼容性,还是搭建开发环境,QEMU都是你的得力助手。

下一步建议:

  1. 尝试创建不同操作系统的虚拟机
  2. 实验网络配置和端口转发
  3. 学习使用QEMU监控器进行高级管理
  4. 探索QEMU在嵌入式开发中的应用

记住,实践是最好的学习方式。现在就开始创建你的第一个QEMU虚拟机吧!🚀

【免费下载链接】intel-qemuqemu is a generic and open source machine emulator and virtualizer.项目地址: https://gitcode.com/openeuler/intel-qemu

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/30 17:50:08

为什么选择openYuanrong agent runtime?AI Agent分布式执行的终极方案

为什么选择openYuanrong agent runtime?AI Agent分布式执行的终极方案 【免费下载链接】yuanrong-agentruntime openYuanrong agent runtime:openYuanRong Agent 运行时,支持 AI Agent 的分布式调度与执行 项目地址: https://gitcode.com/o…

作者头像 李华
网站建设 2026/6/30 17:49:08

iTrustee_tzdriver安全通信原理:守护ARM服务器机密计算边界

iTrustee_tzdriver安全通信原理:守护ARM服务器机密计算边界 【免费下载链接】itrustee_tzdriver Confidential computing framework for iTrustee OS driver 项目地址: https://gitcode.com/openeuler/itrustee_tzdriver 前往项目官网免费下载:ht…

作者头像 李华
网站建设 2026/6/30 17:48:03

openEuler技术委员会如何管理SIG组:从创建到审视的完整流程

openEuler技术委员会如何管理SIG组:从创建到审视的完整流程 【免费下载链接】TC The TC repo is to store all the information about openEuler TC, inclouding meeting record, technology vision, technology topic and etc. 项目地址: https://gitcode.com/op…

作者头像 李华
网站建设 2026/6/30 17:47:54

openeuler/libummu性能优化技巧:提升内存共享效率的10个方法

openeuler/libummu性能优化技巧:提升内存共享效率的10个方法 【免费下载链接】libummu An UMMU driver on user space, provide UMMU device registration,initialization,configuration table management,address translation table management, and permission ta…

作者头像 李华
网站建设 2026/6/30 17:47:53

CTForge监控与告警:构建全方位安全态势感知系统的终极指南

CTForge监控与告警:构建全方位安全态势感知系统的终极指南 【免费下载链接】ctforge CTForge is an eBPF-based security framework that provides non-intrusive, dynamic protection with centralized control. It features an extensible payload ecosystem for …

作者头像 李华
网站建设 2026/6/30 17:47:37

openYuanrong agent runtime进阶技巧:提升AI Agent执行效率的10个方法

openYuanrong agent runtime进阶技巧:提升AI Agent执行效率的10个方法 【免费下载链接】yuanrong-agentruntime openYuanrong agent runtime:openYuanRong Agent 运行时,支持 AI Agent 的分布式调度与执行 项目地址: https://gitcode.com/o…

作者头像 李华