| 原作者 | ファブリス・ベラール |
|---|---|
| 開発者 | QEMU チーム: Peter Maydell 他 |
| 安定版リリース | 9.1.2 [1]
/ 2024年11月21日 |
| リポジトリ |
|
| 書かれた | C |
| オペレーティング·システム | Linux、Microsoft Windows、macOS、その他のUNIXプラットフォーム |
| タイプ | ハイパーバイザー、エミュレータ |
| ライセンス | GPL-2.0のみ[2] |
| Webサイト | 詳しくはこちら |
QEMU (Quick Emulator) [3]は、動的バイナリ変換を使用してコンピュータのプロセッサをエミュレートする無料のオープンソース エミュレータです。マシンにさまざまなハードウェアおよびデバイスモデルを提供し、さまざまなゲストオペレーティングシステムを実行できるようにします。QEMU は、カーネルベースの仮想マシン(KVM)と組み合わせて使用して、仮想マシンをネイティブに近い速度で実行できます。さらに、QEMU はユーザーレベルのプロセスのエミュレーションをサポートしているため、1 つのプロセッサアーキテクチャ用にコンパイルされたアプリケーションを別のプロセッサアーキテクチャで実行できます。[4]
QEMU は、 x86、ARM、PowerPC、RISC-Vなど、 さまざまなプロセッサ アーキテクチャのエミュレーションをサポートしています。
ライセンス
QEMUはFabrice Bellardによって開発されたフリーソフトウェアです。そのさまざまなコンポーネントは、GNU General Public License (GPL)、BSDライセンス、GNU Lesser General Public License (LGPL)、またはその他のGPL互換ライセンスの下でライセンスされています。[5]
動作モード
QEMUには複数の動作モードがある: [6]
- ユーザー モード エミュレーション。ユーザー エミュレーション モードでは、QEMU は異なる命令セット用にコンパイルされた単一のLinuxまたはDarwin / macOSプログラムを実行します。システム コールは、エンディアンおよび 32/64 ビットの不一致のためにサンク化されます。高速なクロスコンパイルとクロスデバッグが、ユーザー モード エミュレーションの主な目的です。
- システムエミュレーション。システムエミュレーションモードでは、QEMUは周辺機器を含む完全なコンピュータシステムをエミュレートします。これは、1台のコンピュータ上で複数の仮想コンピュータの仮想ホスティングを提供するために使用できます。QEMUは、 Linux、Solaris、Microsoft Windows、DOS、BSDなど、多くのゲストオペレーティングシステムを起動できます。[7] x86、MIPS、32ビットARMv7、ARMv8、PowerPC、RISC-V、SPARC、ETRAX CRIS、MicroBlazeなど、いくつかの命令セットのエミュレーションをサポートしています。
- ハイパーバイザーのサポート。ハイパーバイザーサポートモードでは、QEMUは仮想マシンマネージャー(VMM)として機能するか、ハイパーバイザーで実行される仮想マシンのデバイスエミュレーションバックエンドとして機能します。最も一般的なのはLinuxのKVMですが、プロジェクトはXen、AppleのHVF、WindowsのWHPX、NetBSDのnvmmなど、さまざまなハイパーバイザーをサポートしています。 [8]
特徴
QEMUは、x86、MIPS64(リリース6まで)、[9] SPARC(sun4mとsun4u)、ARM(Integrator/CPとVersatile/PB)、SuperH、PowerPC(PRePとPower Macintosh)、ETRAX CRIS、MicroBlaze、RISC-Vなど、さまざまなアーキテクチャのエミュレーションをサポートしています。すべてのプログラムの実行中に仮想マシンの状態を保存する機能をサポートしています。ゲストオペレーティングシステムは、QEMU内で実行するためにパッチを適用する必要はありません。
仮想マシンは、ユーザーのハード ディスク、CD-ROM ドライブ、ネットワーク カード、オーディオ インターフェイス、USB デバイスなど、さまざまな種類の物理ホスト ハードウェアとインターフェイスできます。USB デバイスは完全にエミュレートすることも、ホストの USB デバイスを使用することもできますが、これには管理者権限が必要であり、一部のデバイスでは機能しません。
仮想ディスク イメージはQcow形式で保存できるため、イメージ サイズを大幅に削減できます。保存される QCOW イメージのサイズは、仮想ディスク内で実際に使用されるサイズであり、構成された最大容量ではありません。つまり、QCOW は未使用のディスク領域をイメージ ファイルに保存しないため、構成された 120 GB ディスクはホスト上で数百メガバイトしか占有しない可能性があります。
QCOW2 形式では、別の (変更されていない) ベース イメージ ファイルとの差異を記録するオーバーレイ イメージの作成も可能です。これにより、エミュレートされたディスクの内容を以前の状態に戻すことができます。たとえば、ベース イメージには、動作が確認されているオペレーティング システムの新規インストールを保持し、オーバーレイ イメージを使用して変更を記録できます。ゲスト システムが使用できなくなった場合 (ウイルス攻撃、偶発的なシステム破壊などにより)、ユーザーはオーバーレイを削除して、以前のエミュレートされたディスク イメージを使用できます。
QEMU は、ネットワーク アドレスを変換することでホスト システムの接続を共有するネットワーク カード (異なるモデル) をエミュレートできるため、ゲストがホストと同じネットワークを効果的に使用できます。仮想ネットワーク カードは、他の QEMU インスタンスのネットワーク カードやローカルTAPインターフェイスに接続することもできます。ネットワーク接続は、ホスト OS のブリッジ機能を使用して、QEMU が使用する TUN/TAP インターフェイスをホスト OS 上の非仮想イーサネット インターフェイスにブリッジすることによっても実現できます。
QEMU は、ホスト システムとゲスト システムの通信を可能にするために、統合されたSMBサーバーやネットワーク ポート リダイレクト (仮想マシンへの着信接続を許可する) などのいくつかのサービスを統合しています。また、ブートローダーなしで Linux カーネルを起動することもできます。
QEMU は、ホスト システム上のグラフィカル出力メソッドの存在に依存しません。代わりに、統合されたVNCサーバーを介してゲスト OS 画面へのアクセスを提供します。また、該当するオペレーティング システムでは、画面のないエミュレートされたシリアル ラインを使用することもできます。
SMP を実行する複数の CPU をシミュレートすることが可能です。
QEMU は、速度を向上させるために追加のカーネル モジュール (KQEMU など) が使用されるか、ネットワーク接続モデルの特定のモードが使用されない限り、実行に管理者権限を必要としません。
小さなコードジェネレータ
Tiny Code Generator (TCG) は、GCCの特定のバージョンまたは任意のコンパイラに依存するという欠点を解消し、代わりに QEMU が実行時に実行する他のタスクにコンパイラ (コード ジェネレータ) を組み込むことを目的としています。したがって、変換タスク全体は 2 つの部分で構成されます。つまり、ターゲット コードの基本ブロック( TB ) がTCG ops (マシンに依存しない中間表記の一種)で書き換えられ、その後、この表記が TCG によってホストのアーキテクチャ用にコンパイルされます。オプションの最適化パスは、ジャストインタイム コンパイラ(JIT) モード 用に、それらの間で実行されます。
TCG では、JIT がTCG オペレーションを何に変換するかがわかるように、実行されるすべてのアーキテクチャをサポートするために記述された専用コードが必要です。アーキテクチャに専用の JIT コードがない場合、TCG は TCG インタープリター (TCI) と呼ばれる低速のインタープリターモードにフォールバックします。また、古いdyngenオペレーションの代わりに TCG オペレーションを使用するようにターゲット コードを更新する必要があります。
QEMUバージョン0.10.0以降、TCGはQEMU安定版リリースに同梱されています。これは、GCC 3.xに依存して動作していたdyngenに代わるものです。 [10] [11]
アクセル
KQEMU は、 Fabrice Bellardによって書かれたLinux カーネル モジュールで、同じ CPU アーキテクチャを持つプラットフォーム上で x86 または x86-64 ゲストのエミュレーションを大幅に高速化しました。これは、ユーザー モードコード (およびオプションで一部のカーネル コード) をホスト コンピューターの CPU 上で直接実行し、プロセッサと周辺機器のエミュレーションをカーネル モードとリアル モードコードにのみ使用することで機能しました。KQEMU は、ホスト CPU がハードウェア支援による仮想化をサポートしていなくても、多くのゲスト OS のコードを実行できました。KQEMU は当初、無料で利用できるクローズド ソース製品でしたが、バージョン 1.3.0pre10 (2007 年 2 月) から[12] GNU General Public Licenseの下で再ライセンスされました。QEMU バージョン 0.12.0 (2009 年 8 月現在) 以降は大容量メモリをサポートしているため、KQEMU と互換性がありません。[13] QEMU の新しいリリースでは、KQEMU のサポートが完全に削除されています。 [アップデート]
QVM86 は、当時クローズドソースだった KQEMU の GNU GPLv2ライセンスによる代替品でした。QVM86 の開発者は 2007 年 1 月に開発を中止しました。
カーネルベースの仮想マシン(KVM)は、KQEMUとQVM86のサポートがなくなったため、QEMUで使用するLinuxベースのハードウェア支援仮想化ソリューションとして主に採用されています。[要出典] QEMUは、 ARMやMIPSなどの他のアーキテクチャでもKVMを使用できます。[14]
Intelのハードウェアアクセラレーテッド実行マネージャ(HAXM)は、 Intel VTを使用したNetBSD、Linux、Windows、macOS上のx86ベースのハードウェア支援仮想化のためのKVMのオープンソース代替品です[15]。2013年現在、IntelはAndroid開発にQEMUでの使用を推奨しています。[16]バージョン2.9.0以降、公式QEMUにはHaxという名前でHAXMのサポートが含まれています。[17][アップデート]
QEMUは以下のアクセラレータもサポートしている: [17]
- hvf、Apple の
Hypervisor.frameworkIntel VT ベース。 - whpx は、Intel VT または AMD-V をベースにした Microsoft の Windows ハイパーバイザー プラットフォームです。
- tcg、QEMU 独自の Tiny Code Generator。これがデフォルトです。
サポートされているディスクイメージ形式
QEMUは以下のディスクイメージ形式をサポートしています: [18]
- macOS ユニバーサルディスクイメージフォーマット(
.dmg) – 読み取り専用 - Bochs – 読み取り専用
- Linux cloop – 読み取り専用
- Parallelsディスクイメージ (
.hdd、.hds) – 読み取り専用 - QEMUコピーオンライト(
.qcow2、、、.qed).qcow.cow - VirtualBox 仮想ディスクイメージ(
.vdi) - 仮想PC 仮想ハードディスク(
.vhd) - 仮想VFAT
- VMware 仮想マシン ディスク(
.vmdk) .imgディスクのセクタごとの内容を含むRAWイメージ( )- CD/DVDイメージ(
.iso)は、光ディスクのセクター単位のコンテンツ(例:ライブOSの起動)を含む[19]
QEMU オブジェクト モデル
QEMUオブジェクトモデル(QOM)は、ユーザーが作成できる型を登録し、それらの型からオブジェクトをインスタンス化するためのフレームワークを提供します。[20]
QOM は次の機能を提供します。
- 動的に型を登録するシステム
- 型の単一継承のサポート
- ステートレスインターフェースの多重継承
並列エミュレーション
QEMU を使用する仮想化ソリューションは、複数の仮想 CPU を並列に実行できます。ユーザー モード エミュレーションの場合、QEMU はエミュレートされたスレッドをホスト スレッドにマップします。QEMU は、完全なシステム エミュレーションのために、エミュレートされた仮想 CPU (vCPU) ごとにホスト スレッドを実行できます。これは、並列システム エミュレーションをサポートするように更新されているゲスト (現在は ARM、Alpha、HP-PA、PowerPC、RISC-V、s390x、x86、Xtensa) によって異なります。それ以外の場合は、1 つのスレッドを使用してすべての仮想 CPU (vCPU) をエミュレートし、各 vCPU をラウンドロビン方式で実行します。
統合
バーチャルボックス
2007年1月に初めてリリースされたVirtualBoxは、QEMUの仮想ハードウェアデバイスの一部を使用し、QEMUに基づく動的再コンパイラを内蔵していました。KQEMUと同様に、VirtualBoxはVMM(Virtual Machine Manager)を介してホスト上でほぼすべてのゲストコードをネイティブに実行し、再コンパイラはフォールバックメカニズムとしてのみ使用します(ゲストコードがリアルモードで実行される場合など) 。[21]さらに、VirtualBoxは再コンパイルを最小限に抑えるために、組み込みの逆アセンブラを使用して多くのコード分析とパッチ適用を行いました。VirtualBoxは、特定の機能を除いて、無料のオープンソース(GPLの下で利用可能)です。
Xen-HVM
仮想マシンモニターであるXenは、 Intel VT-xまたはAMD-Vハードウェアx86仮想化拡張機能とARM Cortex-A7およびCortex-A15仮想化拡張機能を使用して、HVM(ハードウェア仮想マシン)モードで実行できます。[22]つまり、準仮想化デバイスの代わりに、実際の仮想ハードウェアセットがDomUに公開され、実際のデバイスドライバーを使用して通信します。
QEMUには、CPUエミュレータ、エミュレートされたデバイス、汎用デバイス、マシン記述、ユーザーインターフェイス、デバッガなどのコンポーネントが含まれています。QEMUのエミュレートされたデバイスと汎用デバイスは、I/O仮想化のデバイスモデルを構成します。[23]これらは、PIIX3 IDE(基本的なPIIX4機能を含む)、Cirrus LogicまたはプレーンVGAエミュレートビデオ、RTL8139またはE1000ネットワークエミュレーション、およびACPIサポートで構成されています。[24] APICサポートはXenによって提供されます。
Xen-HVM には、VM に I/O 仮想化を提供する QEMU プロジェクトに基づくデバイス エミュレーションがあります。ハードウェアは、Dom0 でバックエンドとして実行される QEMU「デバイス モデル」デーモンによってエミュレートされます。他の QEMU 実行モード (動的変換または KVM) とは異なり、仮想 CPU はハイパーバイザーによって完全に管理され、QEMU がメモリ マップされた I/O アクセスをエミュレートしている間はハイパーバイザーが CPU を停止します。
仮想化
KVM (カーネルベースの仮想マシン) は、FreeBSD および Linux カーネル モジュールであり、ユーザー空間プログラムがさまざまなプロセッサのハードウェア仮想化機能にアクセスできるようにします。これにより、QEMU は x86、PowerPC、および S/390 ゲストの仮想化を提供できます。ターゲット アーキテクチャがホスト アーキテクチャと同じ場合、QEMU はアクセラレーションなどの KVM の特定の機能を利用できます。
Win4Lin Proデスクトップ
2005 年初頭、Win4Lin はQEMU と KQEMU の「調整」バージョンをベースにした Win4Lin Pro Desktop を発表し、NT バージョンの Windows をホストしました。2006 年 6 月、[25] Win4Lin は同じコード ベースをベースにした Win4Lin Virtual Desktop Server をリリースしました。Win4Lin Virtual Desktop Server は Linux サーバーからシン クライアントに Microsoft Windows セッションを提供します。
2006年9月、Win4Linは、FreeBSDとPC-BSDへの製品の移植版であるWin4BSD Pro Desktopのリリースに伴い、社名をVirtual Bridgesに変更すると発表しました。2007年5月には、Win4Solaris Pro DesktopとWin4Solaris Virtual Desktop Serverのリリースにより、Solarisのサポートが続きました。[26]
シリアルICE
SerialICEはQEMUベースのファームウェアデバッグツールで、QEMU内でシステムファームウェアを実行し、ホストシステムへのシリアル接続を介して実際のハードウェアにアクセスします。これは、ハードウェアインサーキットエミュレータ(ICE)の安価な代替品として使用できます。[27]
勝つUAE
WinUAEはバージョン3.0.0でQEMU PPCコアを使用したCyberStorm PPCおよびBlizzard 603eボードのサポートを導入しました。 [28]
ユニコーン
Unicornは、QEMUの「TCG」CPUエミュレータをベースにしたCPUエミュレーションフレームワークです。QEMUとは異なり、UnicornはCPUのみに焦点を当てています。周辺機器のエミュレーションは提供されておらず、生のバイナリコード(実行ファイルまたはシステムイメージのコンテキスト外)を直接実行できます。Unicornはスレッドセーフであり、複数のバインディングと計測インターフェースを備えています。[29]
Limbo x86 PC エミュレーター
Limboは、Android用のx86およびARM64 QEMUベースの仮想マシンです。[30]これは、LinuxとDOSをエミュレートするように設計されていますが、Microsoft WindowsをエミュレートできるAndroid用の数少ない仮想マシンソフトウェアの1つです。他のQEMUベースのエミュレータとは異なり、使用するためにユーザーがコマンドを入力する必要はなく、代わりに仮想マシンの設定を行うユーザーインターフェイスがあります。
インド、マレーシア、タイなどのアジアの発展途上国では、Androidオペレーティングシステムの使用率が高いため、YouTubeでより人気があります。[32] Limboは2019年2月から2020年12月の間に不明な理由でGoogle Playストアから削除されましたが、APK(Androidパッケージ)インストールを使用して開発者のウェブサイトからインストールすることはできます。[33] Limboは、オーディオ品質と再生に関して問題が発生する傾向があります。2024年現在、これらの問題の修正は見つかっていません。[34]全体的に、Limboは他の仮想マシンソフトウェアよりも知名度が低く、トラブルシューティングに関する情報もあまりありません。
Limbo x86では、Ctrl、Alt、Del、ファンクションキーなど、基本的なAndroidキーボードでは使用できない多くのキーボード機能を使用するには、「Hacker's Keyboard」と呼ばれるアプリケーションをインストールする必要があります。[35] Google Playストアでは、新しいAndroidバージョンをサポートしていないと記載されているため、APKファイルを使用してHacker's Keyboardをインストールすることをお勧めします。APKファイルを使用すると、新しいバージョンのAndroidにHacker's Keyboardをインストールできます。[36] [検証が必要]
エミュレートされたハードウェアプラットフォーム
86 の
QEMUはi386とx86_64アーキテクチャをエミュレートできます。CPU (これも設定可能で、2018年3月3日現在、 Sandy Bridge、[37] Ivy Bridge、[38] Haswell、[39] Broadwell [40] [41]、Skylake [39]を含む多数のIntel CPUモデルをエミュレートできます)の他に、次のデバイスがエミュレートされます。
- ISOイメージを使用するCD / DVD-ROMドライブ
- フロッピーディスクドライブ
- ATAコントローラまたはシリアル ATA AHCIコントローラ
- グラフィック カード: Cirrus CLGD 5446 PCI VGAカード、Bochs VBE付き標準 VGA グラフィック カード、Red Hat QXL VGA
- ネットワークカード: Realtek 8139C+ PCI、NE2000 PCI、NE2000 ISA、PCnet、E1000 (PCI Intel ギガビットイーサネット)、E1000E (PCIe Intel ギガビットイーサネット) [42] [43]
- NVMeディスクインターフェース
- シリアルポート
- パラレルポート
- PCスピーカー
- i440FX/PIIX3 または Q35/ICH9 チップセット
- PS/2 マウスとキーボード
- SCSI コントローラ: AMD PCscsi および Tekram DC-390 コントローラに搭載されている LSI MegaRAID SAS 1078、LSI53C895A、NCR53C9x
- サウンドカード: Sound Blaster 16、AudioPCI ES1370、ICH AC'97、Gravis Ultrasound、Intel HD Audio [44]
- ウォッチドッグ タイマー(Intel 6300 ESB PCI、または iB700 ISA)
- USB 1.x/2.x/3.x コントローラー ( UHCI、EHCI、xHCI )
- USB デバイス: オーディオ、Bluetooth ドングル、HID (キーボード/マウス/タブレット)、MTP、シリアル インターフェイス、CACスマートカード リーダー、ストレージ (一括転送およびUSB 接続 SCSI )、Wacom タブレット
- 準仮想化 VirtIO デバイス: ブロック デバイス、ネットワーク カード、SCSI コントローラ、ビデオ デバイス、シリアル インターフェイス、バルーン ドライバ、9pfsファイルシステム ドライバ
- 準仮想化 Xen デバイス: ブロック デバイス、ネットワーク カード、コンソール、フレーム バッファ、入力デバイス
QEMUのバージョン0.12以降で使用されるBIOS実装はSeaBIOSです。SeaBIOSのVGA BIOS実装もバージョン2.0.0以降で使用されています。QEMUのUEFIファームウェアはOVMFです。[45]
パワーPC
パワーマック
QEMU は次のPowerMac周辺機器をエミュレートします。
- UniNorth PCI ブリッジ
- VESA Bochs拡張をマッピングするPCI-VGA互換グラフィックカード
- ハードディスクと CD-ROM をサポートする 2 つの PMAC-IDE インターフェイス。
- NE2000 PCI アダプタ
- 不揮発性RAM
- ADBキーボードとマウスを備えた VIA-CUDA 。
ファームウェアとして OpenBIOSが使用されます。
準備
QEMU は次のPREP周辺機器をエミュレートします。
- PCIブリッジ
- VESA Bochs 拡張機能を備えた PCI VGA 互換グラフィック カード
- ハードディスクとCD-ROMをサポートする2つのIDEインターフェース
- フロッピーディスクドライブ
- NE2000ネットワーク アダプタ
- シリアルインターフェース
- PREP 不揮発性 RAM
- PC互換のキーボードとマウス
PREP ターゲットでは、Open-Firmware互換の BIOS であるOpen Hack'Ware が使用されます。
IBM システム p
QEMU は、次の周辺機器を使用して準仮想 sPAPR インターフェイスをエミュレートできます。
- virtio デバイス、VGA 互換グラフィックス、USB などにアクセスするための PCI ブリッジ。
- 仮想 I/O ネットワーク アダプタ、SCSI コントローラ、シリアル インターフェイス
- sPAPR 不揮発性 RAM
sPAPR ターゲットでは、SLOF と呼ばれる別の Open-Firmware 互換 BIOS が使用されます。
アーム
ARM32

QEMUは、NEON拡張機能を備えたARMv7 命令セット(およびARMv5TEJまで)をエミュレートします。[46] Integrator/CPボード、Versatileベースボード、RealViewエミュレーションベースボード、XScaleベースのPDA、Palm Tungsten|E PDA、 Nokia N800およびNokia N810インターネットタブレットなどの完全なシステムをエミュレートします。QEMUは、 Android SDKの一部であるAndroidエミュレーターもサポートしています(現在のAndroid実装のほとんどはARMベースです)。Samsungは、Bada SDKのバージョン2.0.0から、エミュレートされた「Wave」デバイスの開発を支援するためにQEMUを選択しました。
1.5.0 および 1.6.0 では、Samsung Exynos 4210 (デュアルコア Cortex-A9) および Versatile Express ARM Cortex-A9 ARM Cortex-A15がエミュレートされます。1.6.0 では、ARMv8 (AArch64) アーキテクチャの 32 ビット命令がエミュレートされますが、64 ビット命令はサポートされていません。
Xilinx Cortex A9 ベースの Zynq SoC は、次の要素を使用してモデル化されています。
- Zynq-7000 ARM Cortex-A9 CPU
- Zynq-7000 ARM Cortex-A9 MPCore
- トリプルタイマーカウンター
- DDR メモリ コントローラ
- DMA コントローラ (PL330)
- スタティック メモリ コントローラ (NAND/NOR フラッシュ)
- SD/SDIO 周辺コントローラ (SDHCI)
- Zynq ギガビット イーサネット コントローラ
- USB コントローラー (EHCI – ホスト サポートのみ)
- Zynq UART コントローラー
- SPI および QSPI コントローラ
- I2C コントローラ
ARM64
QEMUは、 ARM Cortex-A53やARM Cortex-A72など、Linuxでよく使われる64ビット「Aプロファイル」CPUをエミュレートできます。これにより、 Raspberry Pi 3および4をエミュレートできます。[47]
スパーク
QEMU は、32 ビットと 64 ビットの両方のSPARCアーキテクチャをサポートしています。
JavaStation(sun4mアーキテクチャ)のファームウェアがバージョン0.8.1 Prollになったとき、[48]バージョン0.8.2で使用されていたPROMの代替品がOpenBIOSに置き換えられました。
SPARC32
QEMU は次のsun4m/sun4c/sun4d周辺機器をエミュレートします。
- IOMMU または IO-UNIT
- TCX フレーム バッファ (グラフィック カード)
- ランス (Am7990) イーサネット
- 不揮発性RAM M48T02/M48T08
- スレーブI/O: タイマー、割り込みコントローラ、Zilogシリアルポート、キーボード、電源/リセットロジック
- ハードディスクと CD-ROM をサポートする ESP SCSI コントローラ
- フロッピードライブ(SS-600MP には搭載されていません)
- CS4231 サウンド デバイス (SS-5 のみ、まだ動作していません)
SPARC64
QEMU は、次の周辺機器を備えた Sun4u (UltraSPARC PC のようなマシン)、Sun4v (T1 PC のようなマシン)、または汎用Niagara (T1) マシンをエミュレートします。
- UltraSparc IIi APB PCI ブリッジ
- VESA Bochs 拡張機能を備えた PCI VGA 互換カード
- PS/2 マウスとキーボード
- 不揮発性RAM M48T59
- PC互換シリアルポート
- ハードディスクとCD-ROMをサポートする2つのPCI IDEインターフェース
- フロッピーディスク
マイクロブレイズ
QEMU は次の周辺機器をサポートしています。
- MicroBlaze(MMU あり/なし、[文の断片] を含む)
- AXIタイマーおよび割り込みコントローラ周辺機器
- AXI 外部メモリ コントローラ
- AXI DMA コントローラ
- ザイリンクス AXI イーサネット
- AXI イーサネット ライト
- AXI UART 16650 および UARTLite
- AXI SPI コントローラ
ラティスMico32
サポートされている周辺機器: Milkymist SoC から
- シリアル
- アナログ
- メモリーカード
- イーサネット
- プフ
- タイマー
クリス
オープンRISC
その他
外部ツリーが存在し、次のターゲットをサポートしています。
- Zilog Z80 [49] 48K ZX Spectrumをエミュレート
- HP PA-RISC [50]
- RISC-V
参照
参考文献
- ^ 「[お知らせ] QEMU 9.1.2 安定版がリリースされました」。2024年11月21日。2024年11月21日閲覧。
- ^ 「ライセンス - QEMU」。
- ^ 「用語集」。アメリカ国立標準技術研究所。 2023年4月24日閲覧。
- ^ Speed, Richard (2019-04-25). 「QEMU 4 は Arm 愛好家、RISC-V 革命家、POWER 愛国者向けのおもちゃを装備して登場します...おわかりですね」www.theregister.co.uk . The Register . 2019-10-01 にオリジナルからアーカイブ。2019-10-01に取得。
- ^ 「ライセンス - QEMU」. wiki.qemu.org .
- ^ 「QEMUについて」。qemu.readthedocs.io。
- ^ 「QEMU OS サポート リスト」www.claunia.com。2014 年 5 月 13 日のオリジナルからアーカイブ。2024年 3 月 21 日閲覧。オフラインになる前の数年間の頻繁な変更がアーカイブに記録されています。
{{cite web}}: CS1 メンテナンス: 追記 (リンク) - ^ 「サポートされているホスト アーキテクチャ」。
- ^ 「QEMU PRIP 1 - MIPS64 Release 6 のサポート - PRPL」。wiki.prplfoundation.org。2017年 4 月 21 日時点のオリジナルよりアーカイブ。2014年 12 月 22 日閲覧。
- ^ 「[Qemu-devel] お知らせ: QEMU 0.10.0 リリース」. lists.gnu.org .
- ^ Filardo, Nathaniel (2007 年 9 月 11 日)。「Plan 9 への QEMU の移植: QEMU の内部と移植戦略」( PDF) 。gsoc.cat-v.org。-- 古いディンゲンの仕組みの復習
- ^ 「KQEMU 1.3.0pre10 リリース - GPL 下 [LWN.net]」 Lwn.net。2007 年 2 月 6 日。2009年 1 月 3 日閲覧。
- ^ Liguori, Anthony (2009 年 8 月 10 日). 「[Qemu-devel] [PATCH 1/2] kqemu を削除して大容量メモリのサポートを中断しない」. 2010 年 3 月 11 日閲覧。
- ^ 「QEMU / KVM CPU モデル構成」。QEMU 5.0.50 (v5.0.0-962-g49ee115552) ドキュメント。
- ^ 「HAXM がオープンソース化」。QEMU 開発者。2017 年 11 月 17 日。2017年 1 月 14 日閲覧。HAXM
がオープンソース化されました
- ^ 「Intel Hardware Accelerated Execution Manager」。Intel。2013 年 11 月 27 日。2014年 5 月 12 日閲覧。Intel
Hardware Accelerated Execution Manager (Intel® HAXM) は、Intel Virtualization Technology (Intel® VT) を使用してホストマシン上の Android アプリのエミュレーションを高速化するハードウェア支援仮想化エンジン (ハイパーバイザー) です。
- ^ ab "呼び出し". QEMU 5.0.50 (v5.0.0-962-g49ee115552) ドキュメント。
- ^ 「QEMU エミュレータ ユーザー ドキュメント」。qemu.weilnetz.de。2019年 4 月 27 日時点のオリジナルよりアーカイブ。2018 年 4 月 10 日閲覧。
- ^ 「qemu を使用して ISO イメージから起動する」。Linux Tips。2015 年 8 月 3 日。
- ^ 「Qemu Readme」。GitHub。2021年10月26日。
- ^ 「VirtualBox 開発者 FAQ」 。2015年 2 月 2 日閲覧。
- ^ 「仮想化拡張機能を備えた Xen ARM」。
- ^ 「Oracle と Sun Microsystems - 戦略的買収 - Oracle」(PDF) . www.sun.com .
- ^ Xen HVM の謎を解明 2007 年 12 月 22 日アーカイブ、Wayback Machineより
- ^ win4lin VDS アナウンス 2008 年 2 月 10 日アーカイブ、Wayback Machineより
- ^ Win4Solaris 発表 アーカイブ 2007 年 12 月 23 日、Wayback Machineにて
- ^ “シリアルICE”.シリアス.com。
- ^ 「WinUAE 3.0.0」。English Amiga Board。2014年12月17日。 2016年3月25日閲覧。
- ^ 「Unicorn & QEMU」。Unicornエンジン。
- ^ 「Limbo エミュレータ チュートリアル」。Virtual Machinery。2023年 9 月 2 日閲覧。
- ^ AndroidデバイスにWindowsをインストールする方法(完全インストール[ルートなし])(Limbo PCエミュレータを使用) 、 2023年9月2日取得
- ^ “インド: モバイル OS シェア 2022”.スタティスタ。2023-09-02に取得。
- ^ 「Limbo Downloads」。Virtual Machinery 。 2023年9月2日閲覧。
- ^ 「ダウンロード」. GitHub . 2023年9月2日閲覧。
- ^ Weidner, Klaus (2023-09-01)、klausw/hackerskeyboard 、 2023-09-02取得
- ^ 「Hacker's Keyboard - Google Play のアプリ」. play.google.com . 2023 年 9 月 2 日閲覧。
- ^ 「[Qemu-devel] [PATCH 3/3] SandyBridge CPU モデルを追加」。lists.gnu.org。
- ^ 「Qemu-Changelog-2.3 x86」. wiki.qemu.org .
- ^ ab "QEMU-changelog-2.6, x86 KVM". wiki.qemu.org .
- ^ 「QEMU-changelog-2.1、x86 KVM」。wiki.qemu.org。
- ^ 「QEMU-changelog-2.5、x86 CPU モデルと機能」。wiki.qemu.org。
- ^ https://qemu.weilnetz.de/doc/qemu-doc.html#pcsys_005fnetwork 2019-04-27 にWayback Machineにアーカイブされました"i82551、i82557b、i82559er、ne2k_pci、ne2k_isa、pcnet、rtl8139、e1000、smc91c111、lance、mcf_fec"
- ^ http://pclosmag.com/html/issues/201208/page11.html QEMU でのネットワーク: E1000 と Novell NE2000 ISA 評価のセットアップ
- ^ "ChangeLog/0.14" . 2011年8月8日閲覧。
- ^ 「UEFI/OVMF - Ubuntu Wiki」.
- ^ 「gitorious.org Git - rowboat: external-qemu.git/commit」。gitorious.org。
- ^ 「Arm System エミュレータ」。QEMUドキュメント。2024年 11 月 23 日閲覧。
- ^ 「ZaitcevのLinux」。090427 ピープル.redhat.com
- ^ 「QEMU Z80 ターゲット」。2016 年 6 月 6 日時点のオリジナルよりアーカイブ。090506 ホームページ.ntlworld.com
- ^ 「QEMU リンク」。090506 ノンヌ.org
外部リンク
- 公式サイト
- QEMU ドキュメント
- QEMU によるシステム エミュレーション、M. Tim Jones による IBM developerWorks の記事
- QVM86 プロジェクトページ
- エミュレートされた ARM マシン上の Debian
- QEMU による Fedora ARM ポート エミュレーション
- Wikibook「QEMU と KVM」(ドイツ語、または英語にコンピューター翻訳)
- Windows 上の QEMU
- Windows 用 QEMU バイナリ
- QEMU による Microblaze エミュレーション
- UnifiedSessionsManager – 非公式の QEMU/KVM 構成ファイル定義
- QEMU ベースのコード カバレッジ プロジェクト Couverture
- Mac 用 UTM 仮想マシン
- iOS 向け UTM 仮想マシン
