Qemu:修订间差异
跳转到导航
跳转到搜索
第59行: | 第59行: | ||
使用9p文件系统+Virtio可用作宿主机到客户机(虚拟机内部)的文件共享,即实现宿主机与客户机(虚拟机内部)相互文件传输。 | 使用9p文件系统+Virtio可用作宿主机到客户机(虚拟机内部)的文件共享,即实现宿主机与客户机(虚拟机内部)相互文件传输。 | ||
对于[[Linux]] | 对于[[Linux]]而言,可使用9p文件系统将宿主机某个目录挂载到客户机(虚拟机内部)某个目录上,也可将其挂载为根文件系统。 | ||
参考链接: | 参考链接: |
2023年8月31日 (四) 07:47的版本
源代码
主要
https://gitlab.com/qemu-project/qemu
备用
https://github.com/qemu/qemu.git
说明
开源模拟器与虚拟机。
Qemu主要有以下功能:
- 机器模拟器:可在任意受支持的架构的机器上运行操作系统。模拟器的优点时要求的支持较少,缺点是效率低。
- 用户模式模拟:可在Linux/BSD上运行其它架构上的Linux/BSD用户程序。如在x86_64的Linux上运行arm的Linux程序。不支持windows。通常可用来测试应用程序。
- 虚拟机:可运行KVM/XEN虚拟机。可获得接近原生机器的效率(即宿主机的效率)。
Win32版Qemu
安装
- 可安装MSYS2并使用其中的qemu软件包。
- 从https://qemu.weilnetz.de/下载安装程序并安装。
加速
默认情况下Qemu未启用任何加速,纯粹以模拟器方式运行,效率较低。在部分架构上可启用加速提高效率。
HAXM
Intel CPU的加速驱动。源代码:https://github.com/intel/haxm
通过在Qemu的命令中添加-accel hax
启用haxm,启用条件:
- 在BIOS/UEFI中启用VT-X
- 安装HAXM
- 关闭Hyper-V
WHPX
Windows的Hyper-V虚拟机管理平台,通过在Qemu的命令中添加-accel whpx
启用WHPX,启用条件:
- 支持并启用Hyper-V
- 启用HypervisorPlatform(
Dism /Online /Enable-Feature:HypervisorPlatform
)
注意:64位windows应当使用64位Qemu,32位windows应当使用32位Qemu。
Virtio
Virtio是一种虚拟化标准,通常用于磁盘与网络设备,对于Qemu而言,还包括但不限于以下设备:
- GPU:用于显示。
- 鼠标
- 键盘
- 串口
对于客户机而言,virtio提供了一组通用的虚拟设备,与实际物理硬件无关,这样可以方便设计在各种架构的驱动。
对于宿主机而言,可通过virtio的接口提供各种资源(如磁盘、文件共享、网络),具体实现根据宿主机的环境不同而不同。
使用virtio可测试绝大多用户程序而不需要了解具体的特定硬件,只在Qemu测试CPU指令集而不关心具体物理硬件的实现。
9p文件系统
使用9p文件系统+Virtio可用作宿主机到客户机(虚拟机内部)的文件共享,即实现宿主机与客户机(虚拟机内部)相互文件传输。
对于Linux而言,可使用9p文件系统将宿主机某个目录挂载到客户机(虚拟机内部)某个目录上,也可将其挂载为根文件系统。
参考链接:
技术文档
参考资料
- https://wiki.libvirt.org/Virtio.html
- https://docs.oasis-open.org/virtio/virtio/v1.2/virtio-v1.2.html
- https://www.linux-kvm.org/page/Virtio
官方资料
相关资料
- Box86:在非x86(x86_64)小端模式架构上运行x86(x86_64) Linux用户模式程序。