web-dev-qa-db-ja.com

Linuxを常にVM=で実行しない理由はありますか?

私は日常のほとんどの作業でArch Linuxを使用するように切り替えましたが、ゲームやOneNoteのようにLinuxに移植されていないいくつかのアプリ以外にはWindowsは必要ありません。私のLinuxディストリビューションはWindowsをホストとするVirtualBoxでホストされており、スナップショットは非常に便利です。

Windowsホストのことはほとんど気にせず、ゲストの時間の95%を費やしていたとしましょう。

深刻な欠点はありますか?

パフォーマンスは深刻な影響を受けますか?マシンに直接インストールすると、私の人生はより素晴らしいものになりますか?

215

すべてを機能させることができ、ゲームのプレイや大規模なコンパイルの実行など、リソースを大量に消費するタスクを実行したくない場合は、大丈夫だと思います。

おそらく遭遇するいくつかの基本的な問題があります:

  • ゲストの時間は正しくありません
  • ゲスト画面のサイズまたは色深度が正しくない
  • uSBデバイス(プリンター、電話など)にアクセスできない

これを修正するには、 VirtualBoxゲストの追加 をインストールする必要があります。詳細は VirtualBox Arch Linuxゲストガイド を参照してください。

USB 2.0やIntel PXEサポートなどの追加機能を取得するには、 VirtualBox拡張パック をインストールすることもできます。

その後、あなたが知っておくべきいくつかの問題があります:

もちろん、Windowsシステムがクラッシュした場合、Linux VMも影響を受けます。最近発生した問題:

  • ドライバーのバグが原因でWindowsホストがクラッシュする(ブルースクリーン)
  • セキュリティ更新によりWindowsホストが再起動する

仮想マシンを実行する場合 最大のパフォーマンスヒットはディスクI/Oに影響します 。可能であれば、 別のディスクにVMを配置 または ソリッドステートドライブを使用 を使用します。仮想IDEドライブの代わりに 仮想SATAドライブ を使用することも役立ちます。

151
Mikel

私はLinuxでハンズオンクラスを教えていますが、残念ながら、会社の方針により、クラス提供のラップトップを再フォーマットすることは許可されていないため、VirtualBoxゲストアプローチを採用します。

すべてのパフォーマンスの懸念を無視して、ここに私が気づいたいくつかの注意事項/問題があります:

1)ブリッジモードとワイヤレス

一部のワイヤレスカードは、「デュアルアイデンティティ」を持つのが難しいようです。つまり、ルーティング/ファイアウォール/ネットワークのレッスンは地獄に行きます。これは既知の問題です。ほとんどのワイヤレスドライバはブリッジをサポートしていません。

bridge | The Linux Foundation-私のワイヤレスカードでは動作しません!

これは、ワイヤレスインターフェイスを使用している場合、ゲストが「パブリック」IPを取得するために追加の作業を行う必要があることを意味します。

2)デスクトップ統合

いくつかの壁にぶつからないように、現代のデスクトップ環境はかなりよく考えられており、入力/出力またはデバイスの接続/切断ツールへの完全なアクセス権がないと失われるいくつかの便利さを提供します。たとえば、ウィンドウチューザーや通知があると、下部にあるVboxメニューが非常に煩わしくなります。また、一部のマシンでは、Ctrl + Alt + cursor_keyショートカット(ワークスペースの切り替え)を使用して、表示を反転します。

つまり、GNOMEでのUSBデバイスの取り外しがいかに簡単か、Windowsでの同等のサブメニュー/クリック数を比較してください。そして、どのデバイスを毎日使用したいかはわかっています。

3)USB「盗む」

時々、WindowsがUSBドライブを手放したくない場合があります-バーチャルボックスにアタッチするように指示することが常に機能するとは限りません-おそらく、何らかの理由でWindowsがコンテンツを読み取っているときです。そして、いくつかのUSBドライブはまっすぐなストレージデバイスではありませんが、ドライブをアクセス可能にするためにモード切り替えのようなアクションを実行します-それらはLinuxマシンに接続するのが面倒です。

4)安定性

通常、LinuxよりもWindowsを「破壊」する方が簡単です。そのため、通常はLinuxでWindowsインスタンスを「保護」したいのですが、その逆ではありません。スタッフが間違ったファイルを上書きし、VirtualboxのインストールとLinuxイメージの両方を壊してしまうことで、私はすでに数日の仕事を失いました。

5)コマンドラインツール

少なくともLinuxでは、qemu-nbdとネットワークブロックデバイスを使用して、Vboxディスクイメージをいじくるオプションがあります。

QEMU /画像-Wikibooks、開かれた世界のための開かれた本-ホストへの画像のマウント

これにより、たとえば、ゲストOSディスクを起動不可にした場合など、起動することなく、ゲストOSディスクの内容を確認して変更できます。

また、VDIのバックアップのスクリプトを作成したり、その内容だけを実行したり、シンボリックリンクを介してVirtualBoxの「プロファイル」を変更したりすることもできます。

77
madumlao

VMはエミュレーションです。お使いのUnixシステムは、VMインストールされているほど強力ではありません。Archlinuxは好みに合わせて作られています。 、最大にカスタマイズできるディストリビューションです。
以前はVM上で実行するようにしていましたが、自分のコンピューターに確実にインストールすることを考えました。現在、私のシステムは約15秒で起動します。ビルドは非常に高速で、すべてがうまく機能しています。
Archlinuxはそれほど大きくありません。小さなパーティションにインストールできます(ルートパーティションにプログラム用の十分なスペースがあることを確認してください(ルートパーティションは小さすぎるため、再フォーマットする必要がありました))。 Windowsをプレイのみに使用する場合、そのオプションを検討する必要があります=)

PS:はい、コンピューターに直接インストールすると、あなたの人生は素晴らしいものになります。 :P

27
Depado

2つのOSをセットアップする方法は3つあります。

  1. Windowsホスト、Linux VM(ご存知のとおり)。

  2. Linuxホスト、Windows VM。

  3. デュアルブート。

Windowsゲームを実行したい場合はnotオプション2をお勧めします。

Windowsのみのプログラム(Wineではうまく動作しない)を定期的に使用したい場合during Linuxセッションの場合、オプション3はうまく機能しません。

ゲーム以外のWindowsのものをあまり使用しないので、再起動がそれほど面倒ではない場合は、オプション3が最も効率的です。

だから、問題は:あなたの現在のセットアップはあなたを困らせますか?または、それで十分ですか?私が考えることができる古い本当の欠点は、起動時間が長くなり、メモリの可用性が低下することです。

ところで、デュアルブートシステムをセットアップするのは可能ですまた Windowsで同じLinuxインストールをVMしかし、その逆ではありません(Linuxはブート時にハードウェアを検出しますが、Windowsには、インストールされるとドライバーがハードコードされます)。

購入前のデュアルブート設定が必要な場合は、Ubuntu "wubi"インストーラーを試してください。 (はい、私はあなたがArchの人であることを知っていますが、それを試しているだけですよね?)Wubiは、ディスクをVMのようにWindows内のイメージファイルとしてインストールしますが、ホストOSとして起動します。パーティションの干渉はありません。完了したら、Windowsのコントロールパネルから直接アンインストールできます。唯一の欠点は、ディスクI/Oパフォーマンスがわずかに低下することです。

24
ams

このボックスを主にSSH経由で使用する場合、VMであるか実際のハードウェアであるかは関係なく、バターゾーンにいる可能性が高くなります。ゲストOSをGUIデスクトップとして使用しようとすると、他の回答で述べられている問題の多くが発生します。 LinuxサーバーはVM内で非常に満足しています。 Webホスティング市場の大部分は、VMにおけるLinuxです。

VMではなく実際のハードウェアでLinuxサーバーを実行せざるを得なかったいくつかのケースに遭遇しました。

実際のハードウェアアクセス

場合によっては、VMシステムが仮想化できないPCIカードを使用する必要があります。たとえば、 4チャンネルMPEG-2デコーダー と言います。一部のVMシステムは、 IntelのVT-dテクノロジー などを介して、カードの排他的所有権をVMに与えることができますが、これには問題がないわけではありません。

  • スピードヒットがあります。それは重要かもしれません。

  • すべてのVMシステムがこれを実行できるわけではなく、実行できるシステムに切り替える自由がない場合があります。

  • VMware ESXi 5のように、カードのVM所有権を与えるにはホストを再起動する必要があり、そのVMのスナップショットを実行できないようにするという重要でない結果が生じる可能性があります。 (本質的でないということは、これらの問題が解決される可能性があることを意味し、開発時間を要するだけです。)

大きなストレージ

VMシステムは、ベアハードウェアが実際のディスクに許可する大きさの仮想ディスクを作成できない場合があります。たとえば、VMware ESXi 5には、2 TB仮想ボリュームのサイズ制限があります。 VM内でより大きな単一ボリュームが必要な場合は、制限を回避するためにフープをジャンプする必要があります。

  • RAIDコントローラをVT-dでVMにプッシュできますが、やはり問題があります。

  • 2 TB仮想ボリュームのパッセルをVMにプッシュし、それらを [〜#〜] lvm [〜#〜] で一緒に文字列化できます。しかし、あなたは自分自身にも問題の道を買ってきました。

    1つには、物理​​ディスクの1つが故障したとき(!)ベアハードウェアでゲストOSを使用している場合、3Wareの3DMやtw_cliソフトウェアなどの提供されている管理ソフトウェアを使用して診断および修正できます。 。ただし、VMware ESXi 5.0ホストで実行されるバージョンを見つけてみてください。これで、BIOS管理インターフェイスを使用できるように再起動を強制されます。

    また、抽象化レイヤーが仮想ボリュームを物理ボリュームから切断しているため、ゲストOSのソフトウェアRAID/LVMレイヤーはディスクを効率的に管理できません。その層は、ラウンドロビン方式でディスクに書き込むのが賢明だと考えるかもしれませんが、それらはおそらく同じ物理ディスクの一部を共有しているため、一部のディスクが連続して書き込みを行っているため、パフォーマンスが低下します。

  • 実際のハードウェアシステムでボリュームを作成し、NFS経由でVMにエクスポートすることもできますが、その場合にも速度が低下します。

上記のいくつかを、VMを一時停止し、別のホストに移動し、シームレスに再起動する機能など、仮想化の利点と相殺できる場合があります。

18
Warren Young

Linuxではどのグラフィック環境を使用していますか?最近のデスクトップ環境(GNOME、KDE、Unity)のほとんどは、ハードウェア3Dアクセラレーションサポートが適切に機能するように要求する方向に向かっています。 VM内のグラフィックスのハードウェアアクセラレーションサポートは、現時点では比較的未熟な技術です。 VirtualBoxには実験的なサポートがあります

14
jmtd

基本的に、インターネットからハードウェアの初期化用のパッケージのインストールまで、すべてが正常に機能しますが、Windowsマシンの障害には料金が発生します。

11
WAEL

私は同様の構成を使用していますが、自分の作業Linux VM=マシン間でコピーおよび移動できるため、それは非常に便利です。

VMを使用することには、2つの重大な欠点があります。

  1. ホストがワイヤレスネットワーク接続を使用している場合、ゲストでのVPNの信頼性は非常に低い
  2. マルチモニターのセットアップは、通常、VMを吸い込みます。

ポイント2は、VMWareとUnityを使用することで効果的に克服できます-Unityは、ホストのデスクトップ上のウィンドウでアプリケーションを実行するVMWare機能です(Ubuntu Unityと混同しないでください)。

8
Phyxx

あなたが考慮したいと思うかもしれない一つのことはあなたのハードウェアがあなたが使用しているLinuxディストリビューションでテストされていることを確認することです。使用したディストリビューションはVMで完全に正常に動作しましたが、グラフィックカードがディストリビューションで完全にテストされていなかったため、ネイティブでひどく不安定であるという問題に遭遇しました。たとえばFedoraには、完全にテストされたハードウェアのリストがあります。実際のところ、新しいバグのあるドライバーを備えた最先端のハードウェアで100%安定するLinuxディストリビューションはありません。私はあなたがしたことをやろうとしましたが、いくつかのディストリビューションが私にとって十分に安定して実行されなかった後、私のLinuxパーティションを削除してしまいました。私の意見では、ハードウェアアクセラレーションを必要とする作業を行わない限り、Linuxをネイティブで実行する必要はまったくありません。

8
ctilley79

VirtualBoxを起動すると、消費電力が大幅に増加します。

私の場合、私はLinuxをホストとゲストの両方として実行していますが、ホスト/ゲストOSが違いをもたらすかどうか、またはこれがVirtualBoxまたは仮想化技術に固有のものかどうかはわかりません。

powertop を使用するプロセス "VBoxHeadless"は、多くの場合、私のシステムで最大の単一の消費電力であることがわかります。

これがデスクトップシステムである場合は、おそらく問題ではありませんが、私のラップトップでは、ゲストシステムが不要なときはいつでも、VirtualBoxをオフにしたいと思います。

7
user50849

VMを特別な目的で使用していない場合(VMのクローンを作成する必要がある、サーバー間でコピー/移動する、複数の異なるテスト環境があるなど)、95%のアクティビティのプライマリOSとしてLinuxをインストールすることをお勧めします。次に、WindowsをVM Windowsアクティビティの5%アクティビティ用にLinux内からインストールします(Windowsアクティビティの5%が非常にCPU /メモリを大量に消費する場合を除き、フォトショップやビデオ編集の使用など)。)プライマリOSとしてLinuxを使用している場合、すべてのメモリとすべてのCPUコアにフルアクセスできます。ただし、VM内にある場合、メモリCPUのごく一部しか割り当てることができませんにコアを追加します。通常、マシンのリソースの最大で半分をVMに割り当てることができます。したがって、8 GBのRAMを備えたクアッドコアマシンで、VMに1コアと2GBしか割り当てていない場合、 VM 95%のものはかなり苦しむでしょう。

VMの使用は遅くなります。ほとんどの場合、今日の仮想化は非常に良好であり、その違いは顕著ではありません(VMで利用可能なCPU/RAMの顕著な低下を除く))。ファンシーなハードウェアアクセラレーション(グラフィックなど)が必要な場合VMがカードに正しく変換されない可能性があるため、VM内でvideo/3-dレンダリングが大幅に低下することに気付く場合があります。

6
dr jimbob

私の経験では、逆の構成の方が良いと言えます。 Linuxを備えたホストとWindowsを備えたゲストを意味します。これは、パフォーマンスと安定性のためです。この瞬間、私はオフィスでホストウィンドウとゲストLinuxを使用して作業しています(両方が必要です)が、私の個人用ラップトップでは、Linuxを使用したホストとWindowsを使用したゲストがあります。そして、私のラップトップの方がパフォーマンスは優れています。私の個人用ラップトップのリソースが少なくても。

とにかく、私はあなたの構成に問題を(回避策なしで)見ることができません。それは単に好みの問題です。

5
PCJ

私はVirtualBox VMでUbuntuを実行していますが、私が遭遇した唯一の問題は、ホストへのOpenGLアクセラレーションパススルーが不安定であることです。

4
Alan B

* nixを仮想マシンで実行することから始めました。これは試すのに最適ですが、裏返すことをお勧めします。 WindowsはVMで驚くほどうまく実行できます。主にLinuxを使用している場合は、ホストシステムにLinuxを使用させてみませんか?

長所:

  1. ホストの問題をより詳細に制御(つまり、Linuxではクラッシュ/自動再起動の可能性が低い)
  2. Linuxはアイドル時にWindowsよりも少ないリソースを使用します(代わりに仮想マシンに割り当てることができるリソース)
  3. 私の意見では、VirtualboxはLinuxでよりよく動作します。私はそれを両方の方法で試しました。
  4. セットアップが簡単で、Linux上の仮想マシンの速度が大幅に向上します。 2つのコンシューマーハードドライブでソフトウェアRAIDを使用して、Windows XP VMを8秒以内にFirefoxで起動します。

短所:

  1. Linuxをホストとして実行しているときに起こり得るドライバの問題
  2. Linuxで3Dアクセラレーションを始めるのは難しいかもしれません
  3. ゲームをプレイするためにWindowsを使用する場合、仮想マシンは十分に高速ではない可能性があります
3
Earlz

ホストとクライアントで実行したいすべてのことが期待どおりに機能する限り、そうしない理由はありません。

私はこのセットアップをソニーのPCG-Z505でVMwareとともに2000年の初めから2003年の半ばまで使用しました。ホスト:Windows 98およびクライアントSuSE Linux。そのセットアップの主な理由は、移動中にHost Outlook ExpressからLinuxでimapサーバーを使用できることでした(LinuxでのWin98を使用する前に、デスクトップLinuxマシンでそれを使用していました)。 Linuxクライアントは、Linuxでスパムフィルタリングなども行います。また、より使い慣れた環境でsshを使用して職場でサーバーにログインすることもできます。

VMホストはLinuxをハードウェアの問題から適切に保護しました。IIRCはワイヤレスにいくつかの問題がありましたが、ほとんどの場合、自宅またはオフィスで有線接続を使用していました。そうでなければ、 Outlook Expressはメールをピックアップしてimapサーバーにプッシュし、ワイヤレスのみで一時的にspamfilteringを失います。

通常はグラフィックなしでLinuxを実行していたため、これを逆に実行することはできませんでした(以前のデスクトップで実行したように)。そうしないと、メモリに収まりません。 Linuxをホストとして使用する場合は、常にグラフィックモードで実行する必要があり、Windows 98でメモリを残しておくと、スワップせずにWordを実行できません。

2
Anthon

私もこの設定を使用しています(WindowsのUbuntuゲスト)。

プロ:

  • 初期ウィンドウに変更はありません。私の会社のIT部門は、ウィンドウ関連の問題/クラッシュをサポートします。

短所:

  • 起動が遅い:Windowsを起動してから、仮想マシンを起動する必要があります。
  • ワイヤレスブリッジなし。
1
Florian

既存の(そして優れた)回答にメモを追加します。LinuxとWindowsを並行して実行することも可能です。

プロジェクト Cooperative Linux はこれを目的としています:

Cooperative Linuxは、Microsoft WindowsでネイティブにLinuxを最適に実行するための最初のフリーでオープンソースな方法です。より一般的には、Cooperative Linux(略称coLinux)はLinuxカーネルの移植版であり、単一のマシン上の別のオペレーティングシステムと一緒に協調して実行することができます。

そして、その上で実行されるLinuxディストリビューションもあります: TopologiLinux および andLinux

残念ながら、これらのプロジェクトは放棄されたようです。 coLinuxの最新リリースは3年前で、両方のディストリビューションの最新リリースは8年前です。

1
dr01