次を使用して仮想マシンを起動しようとすると:
qemu-system-x86_64 -m 1024 -cdrom /Host/iso/ubuntu-13.10-desktop-AMD64.iso -name mac -hda ~/ubuntu
インストールの開始直後(言語を選択する前)に黒い画面が表示されます。 「その他のオプション」でnomodeset
を設定しようとしましたが、問題は解決しませんでした。
ただし、同じISOを使用して、Virtual Machine Managerを使用してVMを起動できます。私のプロジェクトの1つでqemu-system-x86_64
を使用してVMを起動する必要があります。
これを解決する方法を教えてください。
デフォルトでは、qemu-system-x86_64
は仮想化ではなくエミュレーションを行います。エミュレーションは低速でCPUを集中的に使用します。top
を実行すると、CPUを100%近くで表示します。システムでqemu-system-x86_64
を使用してXubuntu 14.04を起動したところ、デスクトップから起動するのに10分かかりました。 Ubuntuは通常、ブート情報を非表示にします。これが黒い画面(またはBIOSの解像度の変更に起因する他のグラフィカルアーティファクト)が表示される理由です。 splash quiet
を削除し、debug
をカーネルパラメーターに追加すると、この間に何が行われているかがわかります。
おそらくやりたいことは、qemu-system-x86_64 -enable-kvm
を実行して、ハードウェア仮想化のサポートを有効にすることです。
qemu-system-x86_64 -enable-kvm -m 1024 -cdrom /Host/iso/ubuntu-13.10-desktop-AMD64.iso -name mac -hda ~/ubuntu
man qemu-system-x86_64
から:
-enable-kvm
Enable KVM full virtualization support. This option is only available
if KVM support is enabled when compiling.
(パッケージqemu-kvm
のプログラムkvm
を推奨している人を見るかもしれません。kvm
はexec qemu-system-x86_64 -enable-kvm "$@"
を実行する単なるラッパースクリプトです)
KVMはシミュレーションではなくハードウェア仮想化を使用するため、はるかに高速です。ほとんどの最新のPCシステムに搭載されているハードウェア仮想化拡張機能(Intelの場合はVT-x、AMDの場合はAMD-V)をサポートするCPUが必要です。
仮想化では、CPUは実際にゲストOSから生の実行可能バイナリコードを実行しています。仮想化は高速ですが、ホストOSとゲストOSはバイナリ互換でなければならないという制限があります。エミュレーションにより、ゲストOSのバイナリコードはホストCPUで実行されるように書き換えられます。遅いですが、異なるCPUアーキテクチャ用にコンパイルされたゲストOSを実行できるという利点があります(例: Debian armelのQEMUイメージ Debian ARMを実行する方法を説明しますPC)。
仮想化のもう1つの一般的なオプションは、 VirtualBox です。