Linux内のWindows 7は、メインOS(グラフィックスおよびビデオ用のesp)と同じように実行できますか?


10

新しいLinuxユーザー。VMPlayerを介してUbuntu / Linux Mint内でWindows 7を実行することは、Windows 7をメインOSとして実行することとまったく同じになるかどうか疑問に思っていました。

「同じ」とは、特に以下を意味します。

  • グラフィックスとビデオのレンダリング品質は同じくらい良いでしょうか?

  • HDMIやWiDiの使用など、ハードウェアの問題はありますか?

  • 十分なRAMが割り当てられている限り、アプリケーションは同じようにスムーズに実行されますか?

目立った違いがないようにするために、マシンはどれほど強力でなければなりませんか?私のマシンの特定の仕様は次のとおりです:http : //www.gadgetspecs.info/2011/07/asus-u46e-bal5-review-of-specs-and.html。SSDもインストールしています。

背景:現在、Windows 7内のLinux MintとUbuntuで反対の設定をしていますが、ビデオ品質がWindows 7ほど良くないことがわかりました。

回答:


11

以下の回答に多くのことを追加しましたが、参照用に元の回答はそのままにしました。

TL:DR:仮想マシンはツールであり、あるOSを別のOS内で簡単に使用できる一方で、システムを最大限に活用するためには、コンピューターの本来の主な用途を十分に認識する必要があります。 。

あなたの質問は、仮想マシンを使用した場合のグラフィカルおよびインターフェースパフォーマンスの可能性に強く傾いているようです。そこで、その可能性についてお答えします。

主な問題は、デバイスへのゲストオペレーティングシステムのアクセスを安全に管理する(したがって、ゲストOSがホストを踏みにじったり、物事を壊したりしないようにする)ために、使用するすべてのデバイスを「エミュレート」する必要があることです。

これが意味することは、あなたのゲストOSが見ることができるというグラフィックスカードがあるされていることではない、あなたのホストOSが見ることができるのと同じグラフィックスカード。ゲストで3Dレンダリングなどの機能を有効にできる場合がありますが、これはゲストの中間ドライバーによって処理され、3Dでレンダリングされるようにリクエストを安全な方法でホストに渡します。

サポートされているHDMIディスプレイでブルーレイディスクを安全に再生するために必要な機能などがゲストグラフィックスカードドライバーによってエミュレートされているため、これが機能しない可能性が高いです。

基本的に、ホストでハードウェアのサポートを必要とするものは、ゲストでは、たとえあったとしても、うまく機能しない可能性があります。WiDiの仕組みはわかりませんが、テレビで共有するためにビデオカードメモリに直接アクセスする必要がある場合は、ホスト(Linux)オペレーティングシステムから使用しない限り機能しません。

それ以外のパフォーマンスに関しては、VMはメインOSである場合とほぼ同じになる可能性がありますが、ハードドライブデバイスへのアクセスまたはホストが使用している他のリソースとの競合に関しては常にペナルティが存在します。

はじめに...

最初はコンピューターがありましたが、そのコンピューターで実行できるオペレーティングシステムは1つだけでした。そのオペレーティングシステムは、マシンに搭載されている特定のプロセッサやその他のハードウェアでのみ正常に動作する傾向があり、他のオペレーティングシステムは、使用可能なネイティブハードウェアでは、たとえあったとしても、ひどくしか実行できませんでした。

ある特定のプラットフォーム用のソフトウェアを別のプラットフォームで使用できるようにするには(たとえば、Commodore AmigaでPre-OSX MacOSソフトウェアを使用する場合)、「ソフトウェアをインストールする」だけでは不十分です。これら2つのマシンは、まったく異なるプロセッサアーキテクチャと補助ハードウェアを使用していました。あるOSが別のマシンのハードウェアで実行できる方法はまったくありませんでした。

エミュレーション

エミュレーションは仮想化の従兄弟のようなものであり、実際には関連しており、同様の目標があります。一方が他方を生んだ。

これらの異なるハードウェアプラットフォームが意味することは、マシンで別のOSのソフトウェアを使用したい場合、そのマシンに関するすべてを分析して、それがどのように機能するかを確認する必要があり、次に、ハードウェア部分と同じように。これは、プロセッサ、グラフィックスコントローラー、メモリコントローラーなど、すべての部分に対して実行する必要がありました

次に、これらすべての部品を組み合わせ、各部品が少しのハードウェアをエミュレートするときに、これをエミュレートされたマシンと呼びます。次に、このエミュレートされたマシン上でオペレーティングシステムを実行します。

問題は、このアプローチが遅いことです。単純に、元のハードウェアの1/10の速度を達成できれば幸運でした。エミュレートされたコンピューターをフルスピードに近い速度で実行するには、文字通り、ターゲットのエミュレートされたマシンよりも数倍速いマシンが必要でした。

何が変わったのですか?

さて、ここにクールなものがあります。それほどではありません。唯一の大きな変更は、ハードウェアプラットフォームが標準化されたことです。すべてのOSのカスタムハードウェアを入手するのをやめ、すべてのOSを単一の標準プラットフォームに移動または作成しました。

最近のMacを構成するコンポーネントは、概して、PCを構成するコンポーネントと同じです。Linuxは常にPCハードウェアで実行されていたため、新しいものは何もありませんでした。

あるOSから別のOSでソフトウェアを実行する場合は、長い間エミュレーションが標準でした。または、デュアルブートしてどちらのオペレーティングシステムも必要に応じて実行できますが、LinuxでのコーディングからWindowsでのゲームのプレイに移行したい場合、これは面倒で面倒です。

その後..

基盤となるハードウェアは同じなので、なぜ両方のOSで共有できないのでしょうか?

最終的には、QEMUとWiNE、および同様のソフトウェアソリューションが完成しました。QEMUは長い間、マシンのハードエミュレーションで人気がありましたが、WiNEでは、OS API呼び出しをトラップしてパッチを適用し、コードをプロセッサ上でネイティブに実行できるようにすることで、WindowsアプリケーションをLinuxで実行できました。

QEMUはWiNEと同様のことを行いましたが、はるかに低いレベルで行いました。それは事実上エミュレータですが、行われたすべてのハードウェア呼び出しに対して、「パッチとリダイレクト」メソッドを使用して、呼び出しが独自のエミュレートされたハードウェアプラットフォームに代わるようにしました。プログラム内のほとんどの機能するコードは実際にはハードウェア呼び出しを含まなかったためです(ほとんどは、結果を表示するための呼び出しが最後にある単純な計算のストリームです)。

これにより、今では実際にはエミュレートされていないマシンのほとんどすべてのプログラムの速度が瞬時に向上しました。プログラムは、マシンをどれだけエミュレートできるかに依存するのではなく、「仮想」ハードウェアにどれだけアクセスしたかに依存して、スローダウンで実行されました。1/10の速度ではなく、本来の速度とほぼ同じ速度で実行されていました。

では、プロセッサで実行している場合、グラフィックカードが機能しないのはなぜですか。

これらの新しい仮想マシンの唯一の問題は、オペレーティングシステムは、その性質上、コンピュータ内のすべてのハードウェアを直接制御し、メモリ管理などの機能を提供し、ハードウェアへのアクセスを制御できると想定していることです。

ただし、これは、少なくとも方法では、仮想マシンがエミュレーションを完全に回避できないことを意味します。それでも、ソフトウェアで特定の機能をエミュレートする必要があります。たとえば、グラフィックカードやネットワークカードを仮想マシンで実行しているOSに提示して、「ゲスト」オペレーティングシステムがそのハードウェアを完全に制御できると見なすようにする必要があります。メインOS(セキュリティの要件による)は、ハードウェアに直接アクセスするプログラムから自分自身を保護する必要があり、これによりゲストオペレーティングシステムが制限されます。

これを行うには、コンピュータ内のすべてのハードウェアの「仮想」部分をエミュレートする必要があります。現在、すべてのコードはプロセッサによってネイティブに実行されているため、低速ではありませんが、仮想ハードウェアの各部分をソフトウェアで作成する必要があり、これによりパフォーマンスの点でわずかなペナルティと機能の点で大きなペナルティの両方が発生します。

つまり、仮想グラフィックスカードは、実際のグラフィックスカードと同じ機能を持つことはできません。最高のパフォーマンスを得るために、仮想ハードウェアを作成してほとんどの使用機能をサポートできます。また、仮想マシンで3Dレンダリングが可能になりましたが、実際のハードウェアとは異なります。

これは、ゲストオペレーティングシステムが一般的なハードウェアオプションを取得する一方で、ホストオペレーティングシステムが最適なハードウェアオプションを取得することを意味します。

仮想マシンは実際のハードウェアほど優れていません。これは、あるシステムから別のシステムのツールを簡単に操作できるようにするためのツールにすぎません。

だから私は何をしますか?

コンピュータの主な目的を何にするかを選択する必要があります。

ハイパワーグラフィックカードで最新のゲームをプレイし、同じグラフィックカードの電源を使用して400インチHDMI TVでフル1080pムービーを再生したいが、たまに一部のLinuxプログラミングを実行したい場合は、Windowsが最善の策です。 Linuxをゲストとして。

Linuxカーネルで作業し、コンピューターのデバイス用のハードウェアドライバーを作成し、時々Windows用のソフトウェアをいくつか作成し、「標準」のWindowsシステムの近似でテストする場合は、Linuxの方が優れている可能性があります。ホストとして、Windowsをゲストとして。

Macの使いやすさが好きで、Windows用にプログラムしたい場合(またはWindows専用のソフトウェアパッケージが必要な場合)、それもオプションです。

Linuxがゲームをプレイできない、またはMacOSはプログラマー向けではないということは言っていません。自分のやりたいことに、どちらのOSが適しているかを言えるのは、あなただけです

あなたは本当にあなたがあなたのマシンに最初に何をさせたいかを本当に理解しなければなりません。そうして初めて、仮想マシンがあなたのためにできることを理解することができます。

あなたの質問に答えるには:

Will the graphics and video rendering quality will be just as good?

いいえ。エミュレートされたグラフィックスカードはホストグラフィックスカードの一部の機能を提供しますが、ハードウェアビデオアクセラレーションやCUDAプログラミング機能などの複雑な機能をサポートしない可能性があります。

Will there be any hardware issue such as using HDMI or WiDi?

繰り返しますが、これらの追加機能は、利用可能なエミュレート/仮想ハードウェアの機能ではない可能性があります。

Will applications run just as smoothly as long as enough RAM is allocated?

ほとんどのアプリケーション(特定のハードウェア機能を必要としない限り)は、ホストまたはゲストのメモリを枯渇させない限り、実際のハードウェアとほぼ同じ速度で実行されます。


+1ご回答ありがとうございます。「傾斜」を反映するように質問を変更します。
カミルシンディ2012年

8

仮想マシン(VM)は常にホストシステムよりも実行速度が遅くなります。これは、ゲストシステムがホストにグラフィックカード、ハードドライブ、メモリなどのハードウェアとのインターフェースを要求する必要があるためです。ハードウェアを直接制御することはできません。ただし、ハードウェアで処理できる場合は、速度の低下はそれほど目立ちません。

これは、プロセッサが一度に1つの命令しか実行できないためです。プログラムは通常、数千または数百万の機械語命令で構成されています。マシンが起動すると、マスターブートレコード(MBR)をスキャンしてブートローダーを探します。次に、ブートローダーがカーネルを起動します。カーネルは、すべてのハードウェアを制御するメインプロセスです。複数のタスクを切り替えるマルチタスクにより、特定の瞬間に1つだけが実行されている場合でも、一度に複数のプログラムを実行できます。ほとんどのプロセッサは、時間の約20%だけを数学的計算に費やしています。マルチコアプロセッサでは、別のコアが計算を行うのを待っている間に次の命令をフェッチできるため、アイドル時間が短縮され、システムが大幅に高速化されます。カーネルに加えて、シェル(ユーザーへのインターフェースを提供)があります。

仮想化ソフトウェアは、他のアプリケーションと同様に、カーネルによって管理されるアプリケーションです。したがって、VMのカーネルはホストカーネルからの許可を待って何かを行う必要があり、頻繁に中断されます。ホストシステムで実行されているプロセスが多いほど、VMに割り当てられる実行時間が短くなり、VMが遅くなります。VMは通常、物理マシンの3〜4倍の速度で実行されます。

ゲームなどを実行する場合は、十分なRAMと可能な限り多くのカーネル時間を割り当てます。複数のプロセッサが役立ちます。ただし、RAMの割り当てが多すぎると、データへのアクセスに時間がかかり、ホストシステムでハードディスクキャッシュが過剰になる可能性があるため、システムの速度が低下します。ただし、その一方で、少なすぎると、ゲストに過剰な量のハードディスクキャッシュが発生します。Windowsはリソースを非常に消費するため、少なくとも2〜4 GBのRAMを割り当てますが、RAMの半分以上をVMに割り当てないでください。

応答が遅すぎる場合は、デュアルブートが適切なオプションとなる場合があります。この方法では、両方でシステムリソースを完全に利用できますが、残念ながら一度に1つしか実行できません。これを行う場合は、少なくとも3つのパーティションが必要です。1つはLinux用、1つはWindows用、もう1つ(またはそれ以上)はファイル用です。


目立った違いがないために、マシンがどれほど強力でなければならないという考えはありますか?
カミルシンディ

コンピューターのホストとしてWindowsしか実行していないので、よくわかりません。私の推奨は、それを試してみて、十分に機能するかどうかを確認することです。そうでない場合は、デュアルブートを使用します。私の個人的な経験では、Wordperfectなどは十分高速ですが、VMではゲームのパフォーマンスが低下します。
ctype.h

システムの具体的な詳細は何ですか?RAMはどれくらいありますか?プロセッサーの周波数とコアの数は?ハードウェア支援仮想化(HAV)をサポートしていますか?
ctype.h 2012年

非常に興味深い概要の+1。私の仕様は、8 GB RAM、ソリッドステートドライブ、Intel Core i5-2410M(2.3 GHzでのクロック速度)です。HAVについてはわかりません。これは非常に新しいモデルです(2011)。
カミルシンディ

6

そう。VMWare Playerはタイプ2ハイパーバイザーです。つまり、ゲストはOSの上に座っています。タイプ1ハイパーバイザーでは、仮想化プラットフォームはハードウェアの上にあります。これは、タイプ2ハイパーバイザー上にあるVMWare Playerがタイプ1上のものよりも実行速度が遅いためです。ただし、VMWare Playerは、VMのハードウェア要件をカスタマイズする機能を提供します。したがって、4 GBのRAMを搭載したクアッドコアプロセッサを搭載したシステムを使用している場合は、最大1または2コア、次に2 GBのRAM(Windows x64の最小要件)を提供して、VMを効率的に実行できます。

たとえば、XPS 14zがあり、Windows 7がインストールされています。私はWindows 7 VMも実行しています-私はそれに2GBのRAMと2つのプロセッサーコア(私の4つのうち)を割り当てました。

したがって、プログラム(Notepad ++、Transwiz、Outlook、Word、Excelなど)を実行すると、目立った速度低下はありません。強力なソフトウェア(Photoshopなど)を実行しようとしたことがありません。したがって、それを何に使用するかによって、タイプ2ハイパーバイザーはニーズに合う場合とない場合があります。ゲームに使用したい場合は、ゲームによって異なります。私はいくつかのSteamゲームを実行しましたが、問題はありませんでした(FedoraマシンからVMにRDPすることもあります)が、ゲームの要件に大きく依存します。あらゆる意味でのゲームでは、VMを使用してそれを行うことはありません。私はW7マシンでゲームをしてから、VM(実際にはFedora)を使用して他のことをしています。最も負荷の高いアプリケーションがハードウェアに最初にアクセスできるようにしたいとします。


1

そこで、VMWare Playerを使用してLinux Mint 12にWindows 7をインストールしました。Linux Mint内のWindows 7のビデオレンダリングは、メインOSとしてのWindows 7よりも劣ります。私は何も設定しておらず、aviファイルのビデオレンダリングを改善するために設定する必要があるかどうかわかりません。

8 GBのメモリマシンでは、アプリの実行速度が速いことがわかりました。それは問題ではありませんでした。とはいえ、ビデオや写真の編集など、メモリを大量に消費することはしませんでした。通常のOfficeアプリ。


仮想マシンにより多くのCPU、RAM、またはビデオメモリを割り当てることができます。
iglvzx 2012年

1

VMテクノロジの問題は、物理メモリを使用して実際のOSを実行している場合、物理メモリを同じ方法でアドレス指定できないことです。VMイメージは、両方のオペレーティングシステムを同時に実行できない同じ物理アドレス空間を使用して実行された場合、論理メモリアドレス指定を使用します。最近のVMは、90%〜95%の品質のゲームと言ってもいいほど長い道のりを歩んできましたが、それでも、ゲームをフルスピードで実行する機能がありません。その90%〜95%は、コンピュータメモリの論理アドレス指定と物理アドレス指定を純粋に目的としています。メモリアドレス指定/割り当ての引数のみをカバーするようになったので、もう1つの問題は、VMwareを含むVMソフトウェアが最新のDXを完全にサポートしていないことがわかっている限り、WindowsがDirectXを使用することです。そのため、DX 9以外のものを使用すると、かなりの手間がかかります。

Linux上のQEMUはおそらくゲームに最適です!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.