Qemu:修订间差异

来自资料库(何亚红)
跳转到导航 跳转到搜索
 
(未显示同一用户的17个中间版本)
第12行: 第12行:
Qemu主要有以下功能:
Qemu主要有以下功能:


* 机器模拟器:可在任意受支持的架构的机器上运行操作系统。模拟器的优点时要求的支持较少,缺点是速率低。
* 机器模拟器:可在任意受支持的架构的机器上运行操作系统。模拟器的优点时要求的支持较少,缺点是效率低。
* 用户模式模拟:可在Linux/BSD上运行其它架构上的Linux/BSD用户程序。如在x86_64上运行arm程序。不支持windows。通常可用来测试应用程序。
* 用户模式模拟:可在Linux/BSD上运行其它架构上的Linux/BSD用户程序。如在x86_64的Linux上运行arm的Linux程序。不支持windows。通常可用来测试应用程序。
* 虚拟机:可运行KVM/XEN虚拟机。可获得原生机器的速率(即机器主机的速率)。
* 虚拟机:可运行KVM/XEN虚拟机。可获得接近原生机器的效率(即宿主机的效率)。
 
== Win32版Qemu ==
 
=== 安装 ===
 
* 可安装MSYS2并使用其中的qemu软件包。
 
* 从<nowiki/>https://qemu.weilnetz.de/<nowiki/>下载安装程序并安装。
 
=== 加速 ===
默认情况下Qemu未启用任何加速,纯粹以模拟器方式运行,效率较低。在部分架构上可启用加速提高效率。
 
==== HAXM ====
Intel CPU的加速驱动。源代码:https://github.com/intel/haxm
 
通过在Qemu的命令中添加<code>-accel hax</code>启用haxm,启用条件:
 
* 在BIOS/UEFI中启用VT-X
* 安装HAXM
* 关闭Hyper-V
 
==== WHPX ====
Windows的Hyper-V虚拟机管理平台,通过在Qemu的命令中添加<code>-accel whpx</code>启用WHPX,启用条件:
 
* 支持并启用Hyper-V
* 启用HypervisorPlatform(<code>Dism /Online /Enable-Feature:HypervisorPlatform</code> )
注意:64位windows应当使用64位Qemu,32位windows应当使用32位Qemu。
 
== Virtio ==
Virtio是一种虚拟化标准,通常用于磁盘与网络设备,对于Qemu而言,还包括但不限于以下设备:
 
* GPU:用于显示。
* 鼠标
* 键盘
*串口
 
对于客户机而言,virtio提供了一组通用的虚拟设备,与实际物理硬件无关,这样可以方便设计在各种架构的驱动。
 
对于宿主机而言,可通过virtio的接口提供各种资源(如磁盘、文件共享、网络),具体实现根据宿主机的环境不同而不同。
 
使用virtio可测试绝大多用户程序而不需要了解具体的特定硬件,只在Qemu测试CPU指令集而不关心具体物理硬件的实现。
====9p文件系统====
使用9p文件系统+Virtio可用作宿主机到客户机(虚拟机内部)的文件共享,即实现宿主机与客户机(虚拟机内部)相互文件传输。
 
对于[[Linux]]而言,可使用9p文件系统将宿主机某个目录挂载到客户机(虚拟机内部)某个目录上,也可将其挂载为根文件系统。
 
参考链接:
 
* https://wiki.qemu.org/Documentation/9psetup
* https://wiki.qemu.org/Documentation/9p_root_fs
 
==== 技术文档 ====
[[文件:Virtio-v1.2-cs01.pdf|居中|缩略图]]
 
==== 参考资料 ====
* 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


== 官方资料 ==
== 官方资料 ==
网站:https://www.qemu.org/
网站:https://www.qemu.org/
== 相关资料 ==
* [[Box86]]:在非x86(x86_64)小端模式架构上运行x86(x86_64) Linux用户模式程序。
*[https://virt-manager.org/ virt-manager]:通过[https://libvirt.org/ libvirt]管理虚拟机的桌面界面。主要管理KVM虚拟机,也可管理XEN虚拟机、[https://linuxcontainers.org/lxc/ LXC](Linux容器)。

2023年8月31日 (四) 08:59的最新版本

源代码

主要

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软件包。

加速

默认情况下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文件系统将宿主机某个目录挂载到客户机(虚拟机内部)某个目录上,也可将其挂载为根文件系统。

参考链接:

技术文档

文件:Virtio-v1.2-cs01.pdf

参考资料

官方资料

网站:https://www.qemu.org/

相关资料

  • Box86:在非x86(x86_64)小端模式架构上运行x86(x86_64) Linux用户模式程序。
  • virt-manager:通过libvirt管理虚拟机的桌面界面。主要管理KVM虚拟机,也可管理XEN虚拟机、LXC(Linux容器)。