
昔の質問を読むと、VMで2番目のOSを実行するOS の異なるインスタンスを実行するには、VM が推奨される方法です。ただし、コンピューターが 2 つのオペレーティング システムに対応する必要があるため、VM 内で OS を実行すると、速度が遅くなるのではないですか? すでに Windows 7 を実行しているラップトップに Windows 7 の別のインスタンスをインストールしたいのですが、VM インスタンスはメモリをすべて使用できないため、速度が遅くなるのではないかと心配しています。
答え1
CPU にハードウェア仮想化拡張機能が搭載されている場合 (ほとんどのサーバーとデスクトップ、および多くのラップトップ プロセッサに搭載されています)、CPU に依存するアプリケーションへの影響は最小限に抑えられます。
VM 専用に十分な RAM がある場合、その RAM は共有されません (VirtualBox と Microsoft の HyperV はメモリをオーバーコミットしないはずですが、これらのいずれかを使用する場合、これは意味のない問題です。VMWare を使用する場合、メモリを固定して VM 用に予約することができます)。そのため、メモリにバインドされたアプリケーションへの影響は最小限に抑えられます。
ホストとゲストが同じドライブを使用する場合、または複数のゲストが同じドライブを使用する場合、ディスク バウンド アプリケーションは常に影響を受けます。多くの場合、影響はかなり大きくなります。ドライブを VM 専用にしたり、ディスク バウンド アプリケーション用に高速 NAS ボックスを使用したりできる場合は、影響は最小限に抑えられます。
それは役に立ちますか?
答え2
はい、いいえ。ハイパーバイザーの登場により、仮想 OS は物理ハードウェアにさらに直接アクセスできるようになりました。その一方で、パフォーマンスを低下させる「オーバーヘッド」がまだあるものもあります。たとえば、ディスク イメージをホスト OS 上のファイルに保存する場合、抽象化レイヤーがまだ存在し、パフォーマンスを低下させます。多くの場合、オーバーヘッドの量はわずかです。生の計算能力のほとんどでは、仮想環境のオーバーヘッドはほぼゼロです (CPU/RAM アクセス)。多くのハイパーバイザーでは、ページ ファイルを仮想化する方法も提供されており、実際に劇的な結果をもたらす可能性があります。
私は実際に、ゲスト OS が SSD に直接アクセスし、ホスト OS が標準のプラッタ ディスクから直接実行されるシステムを構築しました...そして、ゲスト OS はホスト OS を大幅に上回るパフォーマンスを発揮しました。
OS を仮想化することには多くの利点があります。その理由としては次のようなものが挙げられます。
- 移植性。最小限のダウンタイムで、仮想インスタンスをあるハードウェアから別のハードウェアに移動できます。
- スケーラビリティ。複数の OS を並行して実行して、ハードウェアをより有効に活用できます。ほとんどの場合、OS はほとんど何もせずにアイドル状態になっています。では、必要なのは 1 セットの計算能力だけなのに、なぜ 6 セットの物理ハードウェアを専用にする必要があるのでしょうか。何かをテストするために追加のサーバーが必要になったときに、常に追加のサーバーを何もせずに放置しておくのではなく、どうすればよいでしょうか。
- 適応性。Windows から Linux、Mac OS などに切り替える必要がある場合、一方をシャットダウンしてもう一方を起動するには、それらを単純に並列に実行するよりもずっと時間がかかります。
他にも理由はいくつかありますが、私の率直な意見としては、お気に入りのオペレーティング システムをホスト OS として実行し、セカンダリ OS をオンデマンドの仮想インスタンスとして実行するということです。今日のオーバーヘッドと処理能力の比を考えると、デュアル ブートの理由はどれも愚かに思えます。
答え3
VM 化された Windows 7 は、より少ないリソースで実行されます (ハードウェアによっては、必ずしも遅くなるとは限りません) というのはその通りです。別の Windows 7 が必要な理由があるのでしょうか? 回避策があるかもしれません。
また、Windows 7 のインスタンスを 2 つデュアル ブートできると思います。ただし、起動時に OS を管理するには、GRUB のようなものを入手することをお勧めします。Windows には、ブート マネージャーを台無しにする癖があります。