デュアル仮想化 vs. デュアルブート vs. シングル仮想化

デュアル仮想化 vs. デュアルブート vs. シングル仮想化

最近、友人が興味深いことを提案してくれました。複数のオペレーティング システムを同時に必要とする場合、デュアル ブートや複数のコンピューターを使用する代わりに、実質的にリソースを消費しない低レベルのホストを使用して 2 つの仮想システムをホストできるというものです。コンピューターのリソースをシステム間で均等に分割できるという利点と、一度に 1 つのシステムだけを使用するというオプションが得られます。例:

デュアルブート:

    Computer
       |
    --------
    |      |
Windows  Linux

単一仮想化:

    Computer
       |
     Linux
       |      
    Windows

デュアル仮想化:

    Computer
       |
      Host
       |
    --------
    |      |
Windows  Linux

デュアルブートの問題は、一度に 1 つのオペレーティング システムしか使用できないことです。また、シングル仮想化の問題は、Linux がオンになっていなければ Windows を使用できないことです。

このデュアル仮想化のアイデア思われる問題を解決するために、なぜ今まで聞いたことがなかったのか不思議です。

このアイデアには重大な欠点はありますか? 長所と短所は何ですか?

私が思いつく唯一の本当の欠点はパフォーマンスです。これは時々重要になるかもしれませんが、例えば、私の次のラップトップは 16 GB の RAM をサポートするので、各システムは 8 GB より少し少ない RAM を搭載できます。これで十分です。

答え1

問題は、「ホスト」がリソースをまったく消費しないホストとは程遠く、本質的にはオペレーティング システムそのものであることです。基本的に「ホスト オペレーティング システム」として機能する Linux の小さなディストリビューションをインストールし、必要なオペレーティング システムの両方を同時に実行する方がよいでしょう。

ディスクリートOSホストの問題は資源の管理

どの OS がどのハードウェアをいつ取得するかを誰が決定しますか? OS の優先順位を管理するのは誰ですか? アドレス空間内のメモリのどの部分を誰が取得するかを管理するのは誰ですか? OS 間の CPU 使用率を管理するのは誰ですか? OS 間のストレージ デバイスの読み取り/書き込み同期をどのように処理しますか?

実際にそれを実行する唯一の方法は、次のようにすることです。

    Computer
       |
  Linux/Windows
       |
    --------
    |      |
Windows  Linux

ただし、そこまで行く場合は、ホスト オペレーティング システム自体を仮想化するのではなく、ホスト オペレーティング システムを使用する方が適切です (つまり、Windows ホストを使用する場合は Linux を仮想化し、その逆も同様です)。

答え2

あなたが説明していることは、ハイパーバイザーVMWareとMicrosoftはどちらも、仮想化サービスを提供するだけの機能を持つシンハイパーバイザーを提供しています。また、Windows Server 2008(および08R2、そして現在はWindows 8 Server)を実行している場合も、およびクライアント) の場合は、Hyper-V をインストールして、ハイパーバイザーを「ホスト」OS の下に配置することができます。管理の観点からは、Windows を実行する必要がありますが、技術的には Windows はハイパーバイザーのゲストにすぎません。

ハイパーバイザーは、仮想化アシスタンスが有効になっているハードウェアでのみ動作します。現在のすべてのプロセッサ (Intel および AMD) はハードウェア仮想化をサポートしていますが、一部のローエンドのラップトップおよびデスクトップでは、この機能が有効になっていません (市場を細分化するため)。

私の理解では、VMWare ハイパーバイザーはフットプリントが最も小さいですが、Windows ライセンスを既に持っていると仮定すると無料の Hyper-V よりもコストがかかります。

もう 1 つの選択肢は、ハードウェア仮想化を活用しながらもホスト OS 内で実行される Virtual Box などの仮想化システムを使用することです。

答え3

両方のゲスト OS を仮想化する場合の問題は、仮想化をホストするための OS が依然として必要であることです。これは、特別なオペレーティング システム (VMWare ESXi など) では不要ですが、そのコンピューターに接続されているコンポーネントは、VM ではなくホスト OS に直接接続されます。その結果、画面、キーボード、マウスがホスト OS に接続されているため、ターミナル サービスまたは SSH を使用してゲスト OS にリモートで接続する必要があります。

この方法による仮想化は、ワークステーションとして使用することを意図していないサーバー上でのみ実際に役立ちます。

デュアルブートの制限を懸念し、一方の OS を他方よりも頻繁に使用する場合は、最も頻繁に使用する OS をホストにする必要があります。たとえば、Windows を頻繁に使用する場合は、Windows に仮想化ソフトウェアをインストールし、Linux をゲスト OS としてインストールします。

編集:リモートで接続する必要があるというのは間違いです。Microsoft Hyper-V は、ホストからゲスト OS を制御できるソリューションの一例ですが、他のオペレーティング システムのサポートは限られており、セットアップも簡単ではないと思います。

関連情報