QEMU下虚拟机内的声卡模拟方法总结

VENOM漏洞:QEMU软盘模拟器中的虚拟机逃逸根源 虚拟机逃逸是云计算安全的核心威胁之一,其本质源于虚拟化层设备模拟代码的可信边界失效。VENOM(CVE-2015-3456)作为典型代表,揭示了QEMU软盘控制器(FDC)中缓冲区溢出如何被用于Guest到Host的任意代码执行。该漏洞不依赖高权限或复杂利用链,仅需普通用户态I/O端口操作即可触发,凸显设备模拟层代码审计与最小化启用的重要性。在KVM、Xen、VirtualBox等主流平台中广泛存在,影响所有默认启用FDC的QEMU版本(<2.3.0)。当前防御已从单点补丁升级为全栈实践:BIOS虚拟化开关 阅读详情
AI摘要

本文介绍了在QEMU虚拟机环境中模拟声卡的三种方法:将声音导出到宿主机文件、通过soundhw参数启用模拟声卡驱动以及使用-device参数添加模拟设备。详细解释了每种方法的具体步骤和注意事项。

转载请注明:http://blog.youkuaiyun.com/hubbybob1/article/details/77199567
在做VAG或者USB穿透的过程中如果声卡和网卡在同一个分组内,那么就不适合穿透声卡了,那么就需要模拟声卡来试用了,一步一步来介绍吧

一,虚拟机内部声音导出到本地宿主机内

主要是针对qemu虚拟机下的音频如何使用,首先要查看help命令:

qemu-system-x86_64 -audio-help

这个命令能告诉我们audio的一些基本的信息和使用方法,以及Qemu支持的驱动

Audio options:
  QEMU_AUDIO_DAC_FIXED_SETTINGS: boolean, default = 1
    Use fixed settings for host DAC
  QEMU_AUDIO_DAC_FIXED_FREQ: integer, default = 44100
    Frequency for fixed host DAC
  QEMU_AUDIO_DAC_FIXED_FMT: format, default = S16, (one of: U8 S8 U16 S16 U32 S32)
    Format for fixed host DAC
  QEMU_AUDIO_DAC_FIXED_CHANNELS: integer, default = 2
    Number of channels for fixed DAC (1 - mono, 2 - stereo)
  QEMU_AUDIO_DAC_VOICES: integer, default = 1
    Number of voices for DAC
  QEMU_AUDIO_DAC_TRY_POLL: boolean, default = 1
    Attempt using poll mode for DAC
  QEMU_AUDIO_ADC_FIXED_SETTINGS: boolean, default = 1
    Use fixed settings for host ADC
  QEMU_AUDIO_ADC_FIXED_FREQ: integer, default = 44100
    Frequency for fixed host ADC
  QEMU_AUDIO_ADC_FIXED_FMT: format, default = S16, (one of: U8 S8 U16 S16 U32 S32)
    Format for fixed host ADC
  QEMU_AUDIO_ADC_FIXED_CHANNELS: integer, default = 2
    Number of channels for fixed ADC (1 - mono, 2 - stereo)
  QEMU_AUDIO_ADC_VOICES: integer, default = 1
    Number of voices for ADC
  QEMU_AUDIO_ADC_TRY_POLL: boolean, default = 1
    Attempt using poll mode for ADC
  QEMU_AUDIO_TIMER_PERIOD: integer, default = 100
    Timer period in HZ (0 - use lowest possible)

Available drivers:
Name: spice
Description: spice audio driver
One playback voice
One capture voice
Options:

Name: oss
Description: OSS http://www.opensound.com
Theoretically supports many playback voices
Theoretically supports many capture voices
Options:
  QEMU_OSS_FRAGSIZE: integer, default = 4096
    Fragment size in bytes
  QEMU_OSS_NFRAGS: integer, default = 4
    Number of fragments
  QEMU_OSS_MMAP: boolean, default = 0
    Try using memory mapped access
  QEMU_OSS_DAC_DEV: string, default = /dev/dsp
    Path to DAC device
  QEMU_OSS_ADC_DEV: string, default = /dev/dsp
    Path to ADC device
  QEMU_OSS_EXCLUSIVE: boolean, default = 0
    Open device in exclusive mode (vmix won't work)

Name: alsa
Description: ALSA http://www.alsa-project.org
Theoretically supports many playback voices
Theoretically supports many capture voices
Options:
  QEMU_ALSA_DAC_SIZE_IN_USEC: boolean, default = 0
    DAC period/buffer size in microseconds (otherwise in frames)
  QEMU_ALSA_DAC_PERIOD_SIZE: integer, default = 1024
    DAC period size (0 to go with system default)
  QEMU_ALSA_DAC_BUFFER_SIZE: integer, default = 4096
    DAC buffer size (0 to go with system default)
  QEMU_ALSA_ADC_SIZE_IN_USEC: boolean, default = 0
    ADC period/buffer size in microseconds (otherwise in frames)
  QEMU_ALSA_ADC_PERIOD_SIZE: integer, default = 0
    ADC period size (0 to go with system default)
  QEMU_ALSA_ADC_BUFFER_SIZE: integer, default = 0
    ADC buffer size (0 to go with system default)
  QEMU_ALSA_THRESHOLD: integer, default = 0
    (undocumented)
  QEMU_ALSA_DAC_DEV: string, default = default
    DAC device name (for instance dmix)
  QEMU_ALSA_ADC_DEV: string, default = default
    ADC device name

Name: sdl
Description: SDL http://www.libsdl.org
One playback voice
Does not support capture
Options:
  QEMU_SDL_SAMPLES: integer, default = 1024
    Size of SDL buffer in samples

Name: none
Description: Timer based audio emulation
Theoretically supports many playback voices
Theoretically supports many capture voices
No options

Name: wav
Description: WAV renderer http://wikipedia.org/wiki/WAV
One playback voice
Does not support capture
Options:
  QEMU_WAV_FREQUENCY: integer, default = 44100
    Frequency
  QEMU_WAV_FORMAT: format, default = S16, (one of: U8 S8 U16 S16 U32 S32)
    Format
  QEMU_WAV_DAC_FIXED_CHANNELS: integer, default = 2
    Number of channels (1 - mono, 2 - stereo)
  QEMU_WAV_PATH: string, default = qemu.wav
    Path to wave file

Options are settable through environment variables.
Example:
  export QEMU_AUDIO_DRV=wav
  export QEMU_WAV_PATH=$HOME/tune.wav
(for csh replace export with setenv in the above)
  qemu ...

可以看到audio的很多操作,也可以设置Audio的参数,通过export来设置,我们可以看到,支持的驱动有spice,oss,alsa,sdl, none, wav,每种驱动都给出了相应的操作方法,并且还给出了Example:
如果你是本地启动虚拟机二没有通过远程spice连接的话那么可以如下:

#在启动qemu虚拟机命令前执行,修改下面的环境变量
export QEMU_AUDIO_DRV=wav #audio的驱动方式为wav
export QEMU_WAV_PATH=$HOME/tune.wav #把所有虚拟机下的声音存储到tune.wav内,$HOME改写为你的绝对路径如:/home/tune.wav

这样你的所有在虚拟机下的声音统统都导入到了你的宿主机的文件内了,这个方法缺点是是无法在虚拟机内真正的发出声音或者录音,只有通过本地打开的wav文件才能收听。

二.通过soundhw来模拟声卡

这个方法也很简单,首先就是查看支持的驱动

qemu-system-x86_64 -soundhw ? #查看支持的驱动

查看结果如下:
这里写图片描述
可以看到支持的驱动有ac97,hda等,我们使用ac97或者hda,或者all,all是最好的就是使能所有的驱动,使用的方式如下:

在你的启动qemu-system-x86_64的命令参数内加上下面任意一个就可以了
-soundhw ac97 #或者
-soundhw hda #或者
-soundhw all

三.使用device添加模拟设备

如果你做了一些穿透的工作如,VGA或者usb的穿透,那么上面的方法二就无法使用了,因为会报如下错误,说PCI已经被使用了,无法使用,因此上面的方法是没办法使用的,如下图所示:

这里写图片描述

因此我们只能使用-device这个参数来模拟了
要想使用这种方法来模拟,必须对qemu这个库进行重新配置编译,编译的选项如下

./configure  --target-list=x86_64-softmmu --enable-kvm \
--enable-gtk --with-gtkabi=3.0 --enable-virtfs \
--enable-tcg-interpreter --enable-xfsctl \
--enable-libiscsi --enable-glusterfs --enable-snappy \
--enable-lzo --enable-rdma --enable-linux-aio \
--enable-vhost-net --enable-spice --enable-smartcard  \
--enable-libusb --enable-usb-redir --enable-guest-agent  \
--enable-libssh2 \
--enable-sdl --audio-drv-list='oss alsa sdl' 

看到最后一行,就是我们需要的,添加上audio驱动列表audio-drv-list,配置结果可以查看到下图:
这里写图片描述
使能了sdl和audio 驱动列表。
接下来我们就可以通过-device来查询支持的设备了,查询命令如下:

qemu-system-x86_64 -device ? #查询支持添加的设备

我们在打印出的很多内容中找到Hub devices,USB devices ,Storage devices ,Network devices , Input devices , Display devices , Sound devices , Misc devices , CPU devices , Uncategorized devices ,而我们只需要查看Sound devices如下:
这里写图片描述
因此我们只需要在qemu启动虚拟机的命令内添加参数如下:

-device AC97 #这个驱动效果是做好的
-device intel-hda #这个效果很不好
-device usb-audio #这个下过没测试过

那么我们在运行qemu启动虚拟机命令是会报出一个错误

#在使用的过程中默认使用oss但是启动脚本是会报错:无法初始化OSS
audio: Could not init `oss' audio driver

这个错误无关紧要,不会影响模拟的效果,但是看着就不爽,下面就是解决方法:

# 修改驱动为alsa就可以了
export QEMU_AUDIO_DRV=alsa

到此声卡的模拟也就总结完毕了

QEMU中音频模拟工作过程(十) QEMUSoundCard:建模一个给定的模拟的声卡 SWVoiceOut:建模一个来自 QEMUSoundCard 的音频输出 SWVoiceIn:建模一个来自 QEMUSoundCard 的音频输入 HWVoiceOut:建模一个主机端的音频输出(后端) HWVoiceIn:建模一个主机端的音频输入(后端) 每个声音在采样大小,字节序,速率等方面都可以有自己的设置。 对于一个给定声卡的模拟典型的做法如下: 1/ 创建一个 QEMUSoundCard 对象,然后用AUD_register_car. 阅读详情

相关推荐

QEMU/KVM带与不带音频驱动参数的实际区别

QEMU/KVM带与不带音频驱动参数的实际区别

phmatthaus的专栏 988

qemu声卡模拟原理-基本使用方法

qemu版本:5.2.50 qemu声卡的模拟分为模拟声卡和声卡后端设备两个部分,模拟声卡主要为虚拟机提供一个模拟的硬件设备,后端负责处理模拟声卡的声音数据,可以是直接播放声音、存储为文件或者传送到远程进行播放。 创建后端设备 要模拟声卡首先要考虑音频的后端是被是什么,后端设备大致有:oss、spice、sdl、wav、alsa、pa这几种。 pa后端 pa其实就是linux上的音频服务pulseaudio,在linux本地播放声音选择pa作为后端是一种较好的方式。oss、alsa都不建议选择,他们会独占声

柏鑫的博客 4945

Python XML 转 JSON,XML 转字典

今天我们将学习如何在 Python 中将 XML 转换为 JSON 和 XML 转换为字典。我们可以使用 Python 的xmltodict模块来读取 XML 文件并将其转换为字典或 JSON 数据。我们还可以在大型 XML 文件上进行流式处理,并将其转换为字典。在进入编码部分之前,让我们首先了解为什么需要进行 XML 转换。

rubys_的专栏 2503

qemu声卡模拟原理-声卡初始化(pa+ac97)

后端初始化 pa后端的源码在:audio/paaudio.c 在vl.c的qemu_create_early_backends开始初始化,初始化主体流程如下: vl.c:qemu_create_early_backends->  audio.c:audio_init_audiodevs->   audio.c:audio_init->    audio.c:audio_driver_init->     paaudio.c:qpa_audio_init 设备初始化 模拟设备的初始化与

柏鑫的博客 1863

Canoe CAPL TCP通信避坑指南:从OnTcpConnect回调不触发到Socket句柄管理

本文详细解析了Canoe CAPL中TCP通信的常见问题与解决方案,包括OnTcpConnect回调不触发的三大原因、Socket句柄管理的内存泄漏风险、数据发送截断规则等。通过实战案例和代码示例,帮助开发者规避TCP通信中的典型陷阱,提升车载网络测试的稳定性和可靠性。

weixin_26976635的博客 358

Spring Boot Admin 完整教程

SpringBootAdmin是一个用于管理和监控SpringBoot应用的Web工具,提供健康检查、性能指标、日志管理等核心功能。系统由AdminServer(管理服务器)和AdminClient(客户端)组成,通过Actuator端点收集数据。配置需添加Maven/Gradle依赖,通过@EnableAdminServer注解启动服务端,客户端需配置注册信息。支持UI自定义、安全认证(基本/OAuth2)、多种通知方式(邮件/Slack)及与Eureka/Consul等服务发现的集成。最佳实践包括分层监

weixin_51040479的博客 2558

qemu声卡模拟原理-声音播放(pa+ac97)

之前声卡初始化说道了SWVoiceOut、HWVoiceOut两个结构体,在讲解声音播放之前有必要先介绍一下这两个对象。 QEMUSoundCard:建模一个给定的模拟的声卡 SWVoiceOut:建模一个来自 QEMUSoundCard 的音频输出 HWVoiceOut:建模一个主机端的音频输出(后端) 虚拟声卡的启动 虚拟声卡由虚拟机内部调用启动,主要流程如下: ac97.c:nabm_write-> ac97.c:nabm_writeb-> ac97.c:voice_set_acti

柏鑫的博客 2298

libopus 实现pcm 编码到opus

opus 是一种音频格式,常用于语音通话、视频会议中。最近做了个pcm 到opus 的编码,踩了不少坑,特此记录一下。

sinat_27720649的博客 9477

OSX-KVM 音频延迟终极解决方案:USB 声卡直通 + 软件调参,把延迟压到 20ms 内

开视频会议时麦克风比画面慢半拍,K 歌时声音永远落在节拍后面——这是很多 OSX-KVM 用户最头疼的问题。好消息:只要走对路线,延迟能从 200ms+ 压到 20ms 内,人耳基本感知不到。 读完这篇文章,你会拿到两条路线:⚡ 首选的 USB 声卡直通(硬件方案,效果最彻底)和不动硬件的 QEMU 软件调参(备选方案),外加一套 3 步验收法,帮你确认延迟是否真的达标。 ## 延迟从哪来?两

gitblog_00970的博客 694

高比例风电电力系统储能运行及配置研究(python&Matlab实现)

目录1 概述2 案例3 Matlab实现 3.1 题目及分析3.2 Matlab代码 4 七个题全部代码(值得学习) 下面我们先以第二题为例,然后给出Matlab代码:先考虑风电装机300MW直接替代机组3的发电功率曲线,观察系统功率平衡发生的变化情况。然后在此场景下,以最小发电成本为目标函数,将负荷分配给两台火电机组1、2和风电机组,绘制机组日发电计划图。再将风电装机容量作为一个决策变量,以最小发电成本为目标函数,求取最小发电成本对应的风电装机容量,绘制机组日发电计划图。1. 风电装机300MW、直接

weixin_46039719的博客 1741

030、自动白平衡AWB实战:灰度世界、完美反射与色温估计的工程实现与局限

本文深入探讨了自动白平衡(AWB)算法在工程实践中的实现与局限性。作者结合实际项目经验,分析了灰度世界算法、完美反射算法和色温估计三种主流方法的优缺点和适用场景,并分享了调试过程中的关键技巧和常见陷阱。文章指出,纯色背景、多光源环境等特殊场景容易导致算法失效,需要通过混合策略和场景检测来优化。作者强调AWB调试需要大量实际场景测试,建议保留手动调节功能,并针对不同硬件配置进行参数标定。最后提出,AWB优化是一个持续迭代的过程,需要工程化的测试方法和数据处理能力。

zzfmlxs的博客 283

QEMU音频虚拟化完全指南:如何为虚拟机配置高质量的音频输出

前往项目官网免费下载:[https://ar.openeuler.org/ar/](https://ar.openeuler.org/ar/?utm_source=csdn_blog) QEMU作为一款强大的开源机器模拟器和虚拟化工具,不仅能实现高效的硬件虚拟化,还提供了完善的音频虚拟化解决方案。本文将详细介绍如何在QEMU虚拟机中配置高质量音频输出,帮助用户解决虚拟环境中的声音问题,享受流畅的

gitblog_06844的博客 161

Unity之如何实现TTS文本转语音(真人发音)

微软Azure TTS 文本转语音 服务 将文本转换为逼真的语音的语音服务功能 支持个各国语言,各种中文各种方言,支持不同音色男音女音 支持离线和在线版本

TxNet 5483

v86 中安装与配置 Windows 9x 虚拟机:Windows 95/98/ME 客机镜像搭建完整指南

本篇指南围绕 v86 项目中的 [Windows 9x 客机设置文档](https://link.gitcode.com/i/7ed2af14cf5181e678e75a36912b6872),系统讲解如何为运行在浏览器中的 x86 模拟器 v86 制作 Windows 95/98/ME 的客机磁盘镜像:既包含使用 QEMU 离线安装的推荐路径,也包含直接在 v86 网页内完成安装的替代方案,并覆

gitblog_00090的博客 404

Codex CLI 手机号验证失败?5 种接码平台实测对比与绕过地区限制的 3 步操作

揭示 Codex CLI 手机号验证失败的真实原因在于上下文污染而非网络问题,分析其通过 ASN、Accept-Language 和 TLS SNI 三重加权风控的机制,并实测对比 5 种接码平台在 DNS 解析路径、ASN 干净度和复用间隔上的差异,提出剥离浏览器指纹、固化 TLS SNI、隔离

weixin_42627902的博客 741

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

linux下qemu-kvm、virt-manager和virsh建立虚拟机没有声音解决方法

ENV: [root@Fedora32 ~]#uname -r 5.8.16-200.fc32.x86_64 [root@Fedora32 ~]#cat /etc/redhat-release Fedora release 32 (Thirty Two) [root@Fedora32 ~]#rpm -qa|grep kvm qemu-kvm-core-4.2.1-1.fc32.x86_64 libvirt-daemon-kvm-6.1.0-4.fc32.x86_64 qemu-kvm-4.2.1-1.

silent_ghost的专栏 4470

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

ubuntu下qemu使用:图文详解

1、qemu安装 以ubuntu为例,执行(更换国内源请参考Ubuntu更换源) sudo apt install -y qemu 如果安装失败执行 sudo apt install -f sudo apt install -y qemu 2、qemu能模拟的平台 安装完成后在Terminal中输入“qemu-"按两下Table键可以列出所有qemu可以模拟的...

master 6万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Limbo虚拟机:Android上的终极QEMU模拟器完全指南

Limbo虚拟机是一款基于QEMU的Android模拟器,支持x86、ARM、PowerPC和Sparc等多种架构,让你在移动设备上也能体验完整的虚拟化功能。无论是开发测试还是系统体验,Limbo都能提供强大而灵活的解决方案。 ## 🚀 为什么选择Limbo虚拟机? Limbo作为开源QEMU项目的Android移植版本,具有以下核心优势: - **多架构支持**:同时兼容x86/x86_

gitblog_00821的博客 1139

QEMU模拟器

QEMU(Quick EMUlator,快速模拟器)是一套由法布里斯·贝拉(Fabrice Bellard)所编写的以GPL许可证分发源码的模拟处理器软件,在GNU/Linux平台上使用广泛。Bochs,PearPC等与其类似,但不具备其许多特性,比如高速度及跨平台的特性,通过KQEMU这个闭源的加速器,QEMU能模拟至接近真实电脑的速度。 0.9.1及之前版本的qemu可以使用kqemu加速器。在qemu1.0之后的版本,都无法使用kqemu,主要利用qemu-kvm加速模块,并且加速效果以及稳定性明显

顺其自然~专栏 4300

XP下使用QEMU虚拟机实战

安装QEMU安装版 安装KEMU加速模块,安装完成默认已经启动了KQEMU服务。 如果没有启动就在 (开始→运行→net start kqemu)启动KQEMU服务,这样以后运行虚拟机速度就快多了。 启动QEMU后可以在QEMU控制台输入(info kqemu)来查看KQEMU的运行状态。 进入QEMU的安装目录创建一个 批处理.BAT 文件 (以后编辑QEMU的启动参数就靠它了) qemu-im

Linux嵌入式开发 2961

虚拟机QEMU使用参数详解

QEMU它可以工作在linux,windows,FreeBSD和苹果系统上.大家根本都不用担心支持问题.因为其没有UI界面,纯粹是命令行的操作,和vmware等虚拟平台软件相比,它比较难于上手.但是它却对我们掌握系统模块有很大的帮助,所有的外设和一些常用模块,需要我们手动的去使用命令来挂载才能有效运行.很多人都觉得先学习QEMU后,再去用vmware等模拟软件,更易上手。...

weixin_34130389的博客 2067

OSX-KVM 音频延迟彻底消除:USB 声卡直通方案让 macOS 虚拟机告别卡顿声

在 OSX-KVM 里跑 macOS,声音拖影、语音不同步是不少人的痛点。这篇文章直接给你一套经过实战验证的处置办法:按步骤做完,虚拟机里的音乐、会议和录音都能回到接近原生的响应速度。 ## 先给结论:哪种方案值得直接上 不用先绕一圈试错。两种路径的效果对比如下,绝大多数情况选第一行就够了: | 方案 | 做法 | 预期效果 | | --- | --- | --- | | USB 声卡直通(

gitblog_01002的博客 425

OSX-KVM 消除 macOS 虚拟机音频延迟:3 步直通 USB 声卡

把一只几块钱的 USB 声卡插到宿主机,给你的 QEMU 启动脚本加一行 usb-host,OSX-KVM 里 macOS 虚拟机的音频延迟就能从 200ms 以上压到接近零,开会议不再口型不同步。 ## 最快路径:3 步完成 USB 音频直通 1. 声卡插到宿主机,运行 `lsusb`,记下它的 vendor/product ID。 预期看到:`ID 8086:0808` 这样的一行(

gitblog_00678的博客 377

如何用Docker快速部署QEMU虚拟机?超简单完整指南

想在任何设备上轻松运行虚拟机?QEMU-docker项目让这一切变得简单!通过将强大的QEMU虚拟化技术与Docker容器化方案完美结合,你只需几条命令就能快速搭建高性能虚拟环境,无需复杂配置,小白也能轻松上手。 ## ???? 什么是QEMU-docker? QEMU-docker是一款将QEMU虚拟机功能容器化的创新工具,它通过Docker封装了完整的虚拟化环境,让你可以在Linux、macO...

gitblog_00636的博客 1234

(转载)qemu/kvm/qemu-kvm/virsh的区别

(觉得不错,就分享下吧   出处:http://zk2052041.blog.163.com/blog/static/137723720128260384768/) qemu是一套虚拟机管理系统,kqemu是qemu的加速器,可以认为是qemu的一个插件;qemu可以虚拟出不同架构的虚拟机,如在x86平台上可以虚拟出power机器;       kvm是另外的一套

神奇物种 的专栏 4407

KVM、QEMU及KVM-QEMU关系解析

QEMU与KVM的协同工作:QEMU作为通用模拟器提供设备模拟和管理功能但性能较低,KVM作为Linux内核模块利用硬件虚拟化实现高效CPU执行。二者结合形成KVM-QEMU架构,QEMU处理I/O设备模拟,KVM直接执行客户机指令,通过/dev/kvm接口交互。这种分工类似赛车引擎(KVM)与完整车身(QEMU)的组合,既保持功能完整性又获得接近原生的性能。现代Linux虚拟化通常采用这种QEMU-KVM组合方案,由libvirt等工具进行管理。

漫谈网络 853
上一篇: VGA GPU passthrough qemu虚拟桌面pci穿透--Shell脚本检测与关机
下一篇: USB 重定向库usbredir的移植到Android下使用的方法总结
葫芦娃二娃
博客等级 码龄15年 1850粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值