QEMU-KVM的初始化与客户系统的执行

本文详细介绍了QEMU-KVM虚拟化的初始化过程,包括QEMU的系统模式执行、参数解析、虚拟化方案选择、CPU和内存的初始化,以及客户系统的执行流程。QEMU通过模拟CPU、内存和I/O设备,使客户系统在无需修改的情况下运行。在启动后,QEMU主线程进行初始化,然后创建和启动VCPU,客户系统从BIOS开始执行,多个VCPU线程由宿主系统调度,与QEMU主线程协同处理I/O请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本博文为原创,遵循CC3.0协议,转载请注明出处:http://blog.youkuaiyun.com/lux_veritas/article/details/9383643

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


虚拟机运行概览

首先直观的了解一下利用QEMU运行客户虚拟机的流程。

在命令行中运行QEMU的系统模式的可执行文件,参数声明虚拟CPU的个数,内存大小,指定已经安装好的硬盘镜像,启动QEMU虚拟机主窗口。启动命令格式举例:

qemu-system-x86_64 --enable-kvm -cpu host \ 
-smp cores=4,threads=2,sockets=4 \
-m 16384 -k en-us -hda /pps/guohongwei/vm_test/ubuntu.img -monitor stdio

以下为笔者的Mac-mini上弹出QEMU虚拟机界面的图示:



QEMU-KVM 是一种基于 QEMU 的全虚拟化解决方案,它利用 KVM(Kernel-based Virtual Machine)内核模块提供硬件加速功能,使得虚拟机性能接近原生环境。通过 `qemu-system-*` 命令结合 KVM 模块,可以快速创建并运行虚拟机。 以下是使用 `qemu-kvm` 创建虚拟机的基本步骤: ### 1. 安装依赖工具 首先需要安装必要的软件包,包括 QEMUKVM: ```bash sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager -y ``` 检查是否支持硬件虚拟化: ```bash egrep -c '(vmx|svm)' /proc/cpuinfo # 如果返回值大于0,则说明支持KVM ``` 加载 KVM 内核模块: ```bash sudo modprobe kvm_intel # 对于Intel CPU sudo modprobe kvm_amd # 对于AMD CPU ``` 验证 KVM 是否正常工作: ```bash lsmod | grep kvm ``` --- ### 2. 准备磁盘镜像文件 #### 使用 qcow2 格式创建硬盘镜像: ```bash qemu-img create -f qcow2 ubuntu.qcow2 20G ``` 这将生成一个名为 `ubuntu.qcow2`、大小为 20GB 的虚拟磁盘文件。 #### 下载操作系统 ISO 文件作为引导源: 例如 Ubuntu 系统的 ISO 镜像可以从官网下载到本地路径 `/path/to/ubuntu.iso`。 --- ### 3. 启动虚拟机 以下是一个简单的启动命令示例: ```bash qemu-system-x86_64 \ -enable-kvm # 开启KVM硬件加速 -m 2048 # 分配内存大小 (单位MB) -cpu host # 虚拟CPU配置为主机相同的架构 -smp 2 # 设置vCPU核心数为2 -hda ubuntu.qcow2 # 加载之前创建的磁盘镜像 -cdrom /path/to/ubuntu.iso # 光驱加载ISO用于安装系统 -boot d # 从光驱启动(d表示cd-rom优先级最高) -vga virtio # 图形模式,默认启用VirtIO-GPU驱动 -netdev user,id=net0,hostfwd=tcp::2222-:22 -device virtio-net-pci,netdev=net0 # 添加网络设备,并端口转发主机2222->虚拟机SSH服务 -display sdl # 显示器选项(如sdl或gtk),如果无需图形界面可以用"-nographic" ``` > **注意**: 如果不需要图形界面,可以在最后添加 `-nographic` 参数以纯文本方式进行交互操作。 等待虚拟机完成初始化过程后即可开始使用新构建好的实例! --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值