web-dev-qa-db-ja.com

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

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

デュアルブート:

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

単一仮想化:

    Computer
       |
     Linux
       |      
    Windows

二重仮想化:

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

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

この二重仮想化のアイデアは問題を解決するようですが、なぜこれまで聞いたことがないのか疑問に思います。

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

私が考えることができる唯一の本当の欠点はパフォーマンスであり、それは時々問題になるかもしれませんが、例として:私の次のラップトップは16 GBのRAMをサポートするので、各システムは8GBより少し少ないRAM-十分すぎるほど。

7
Thomas Shields

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

ディスクリートOSホストの問題はリソースの管理です。

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

それを行う唯一の真の方法は、次のようなことを行うことです。

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

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

7
Breakthrough

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

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

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

もう1つの方法は、仮想ボックスまたはハードウェア仮想化を利用しながらホストOS内で実行される別の仮想化システムを使用することです。

3
Michael Brown

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

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

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

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

1
john