たとえば、Linuxゲストを使用してWindows 7でVirtualBoxを実行し、そのLinuxマシン内でBochsを実行することは可能ですか?
その理由は、私はOS開発の開始に興味があり、すべてのチュートリアルと内容が* nixマシンではるかに簡単であることがわかったからです。Cygwinを使用してみましたが、複雑さの別の層が追加され、必ずしも物事が簡単になるとは限らないと思います。
たとえば、Linuxゲストを使用してWindows 7でVirtualBoxを実行し、そのLinuxマシン内でBochsを実行することは可能ですか?
その理由は、私はOS開発の開始に興味があり、すべてのチュートリアルと内容が* nixマシンではるかに簡単であることがわかったからです。Cygwinを使用してみましたが、複雑さの別の層が追加され、必ずしも物事が簡単になるとは限らないと思います。
回答:
簡単に言えば、 はい。
各仮想マシンは技術的には互いに「独立」しており、VirtualBoxを使用すると、WindowsとLinuxの両方のホストオペレーティングシステム(エミュレートまたは非エミュレート)でサポートされているため、簡単に実行できます。Windowsを「ベースホスト」OSとして使用し、VMでLinuxを実行してから、そのオペレーティングシステムをBochsの新しいベースホストとして使用できます。
ここでの唯一の制限はハードウェアであることに注意してください。開発の要件に応じて、より多くのメモリが必要になるか、64ビットの「ベースホスト」オペレーティングシステムへのアップグレードが必要になる場合があります。そうは言っても、Linuxディストリビューションを賢明に選択すれば、現代のシステムはこのように任意のネストができるはずです。
コンピューターでx86仮想化サポートを有効にするとパフォーマンスが向上します(マザーボードとCPUがサポートしている場合)。そして、この機能を複数のネストされた仮想マシンに「パススルー」できます。我々が持っている場合はn
お互いにネストされた仮想マシンを、これは、限り、サポートされている1
STの n-1
第ネストされたゲストOSは、x86仮想化(ベースホストでも、それをサポートしている必要があります)をサポートしています。これを行う場合、注意すべきセキュリティ上の問題がまだあることに注意してください。そのため、適切な予防措置を講じてください。
VMware Workstation内でVMware vSphere仮想インフラストラクチャ全体を実行し、仮想シスコルーターおよびスイッチ、EMC Celerra Virtualized Storage Applianceを自己学習およびテスト目的で実行することがあります。
私はそれを「インセプションコンピューティング」と呼びますが、かなり混乱する可能性があります。ただし、実際のギアを使用するよりも多少安価です。
この質問を読んで、受け入れられた答えを見て、これがVirtualBoxにも当てはまると思う人には、元の質問に関する@superbatfishのコメントをご覧ください。彼は、仮想化とエミュレーションの違いについて良い点を述べています。
具体的には、「ハードウェア支援VM」は「トップレベル」のゲストOSでは使用できません(つまり、この記事の執筆時点では、VirtualBoxはゲストOSにハードウェアVMを提供していません)。VirtualBoxを使用すると、最上位のゲストが64ビットで「実際の」ホストにハードウェアVMがある場合でも、32ビットの「ネストされたゲスト」OSのみを作成できます。
あなたにとって最高のものではないかもしれませんが、注目に値します。Chef cookbookのテストのために、Windows内のUbuntuゲストでVagrantを実行するためにこれが必要でした。
Linux-KVMは、ネストされた仮想マシンをある程度サポートしています。KVM IRCチャンネルで質問し、次の情報を入手しました(しかし、私の言葉を受け入れないで、自分で試してみてください):
私はまだこれを試していません。「KVM nested」を検索すると、自分で試してみるのに十分な情報が得られます。
編集:KVMはLinuxホストでのみ実行されます。ネストされたVMの適切なサポートに関するWindows仮想化ソフトウェアに関する信頼できる情報を得ていません。「適切」とは、ハイパーバイザーが仮想化拡張機能をゲストに公開することを意味します。純粋なソフトウェアハイパーバイザー(動的変換など)を使用してネストされたVMをいつでも実行できますが、それは著しく遅くなります。
編集:あなたが言及したBochsは、ソフトウェアのみのハイパーバイザーです。これは、常に遅いことを意味し、ホスト上のハイパーバイザーがゲストに仮想化拡張機能を公開する場合(KVMのように)無関係です。ただし、他のほとんどの仮想化ソフトウェア(KVM、VirtualBox、VMWare)は、これらの拡張機能を利用でき、使用可能であればパフォーマンスが大幅に向上します。
このプロセスの詳細な説明はこのページにあります:https : //wiki.openstack.org/wiki/XenServer/VirtualBox
VirtualBoxマシンのネットワークカードでは、Promiscuous Modeと他のいくつかのオプションですべてを許可するように設定する必要があります。
はい、仮想マシンで仮想マシンを実行できます。私がやったのは、Windows 7 Ultimate x64コンピューターを取得し、仮想マシンで同じOSを実行し、3番目のレイヤーで32ビットバージョン(3番目のレイヤーで64ビットを処理できなかった)を実行することでした。それはかなり遅れていましたが、私はそれでインターネットエクスプローラーでニューヨークタイムズに到達することができました。強力なコンピューターを持っていない場合、これは難しいかもしれませんが、軽量のオペレーティングシステムであるLinuxとBochsを実行しているので、可能なはずです。
はい、それはあなたのコンピュータがそれを処理するのに十分強力であることを考えると、可能です。
私のマシン(i7 4770S、16GB RAM)では、4.5のVM-ception-nessレベルを得ることができました(最後の1つは半分の時間クラッシュします)。
VirtualBoxはVM-xのエミュレートを好まなかったため、VMware Player 12を使用しました。今、XPでW2Kを動作させようとしていますが、VMwareはインストールできません。VirtualBoxはBSODを生成するため、QEMUを使用しようとしています。
このスクリーンショットをご覧ください(私が今まで見た中で最も美しいスクリーンショットの1つ):