システムがBIOS設定でデフォルトで仮想化を無効にするのはなぜですか?


81

デフォルト構成でMMUおよびディレクテッドI / O仮想化が有効になっているシステムはまだ見ていません。多くの場合、VMの64ビットサポートなど、必要に応じて再起動してBIOSを有効にする必要があります。

これがオンになっていて、仮想化を使用していない場合に発生する、かなりの種類のプロセッサオーバーヘッドはありますか?そうでない場合、デフォルトでオフになっている理由は何ですか?

回答:


52

しばらく前に、VTがオンのシステムを所有できるBlue Pillのような概念実証のルートキットがいくつかありました。この発見の後、ほとんどのベンダーは一般的なセキュリティ予防策としてVTを無効にしてユニットの出荷を開始しました。


7
+1デスクトップ/ラップトップでVTを使用する人は例外です。そのマシンがviriiの影響を受けやすいことがルールです。
クリスS

ハードウェア仮想化を有効にして多数のVMを実行する、この輝かしい新しい強力な開発マシンについて突然考え直しています。仮想化は必要ありません、数か月ごとに仮想化を繰り返さなくても、長期的には時間を節約できると思います。これはどのくらい大きな問題ですか?
Paperjam

2
実質的に存在しない(このコメントの時点で)。ブルーピルは概念実証でした。私は野生でこのようなことを知りません。
MDマーラ

1
ここでは、クライアントの役割のシステムではデフォルトでVTをオフにする勧告を含むセキュリティ問題のマイクロソフトの評価は、次のとおりです。msdn.microsoft.com/en-us/windows/hardware/gg463498.aspx
Jpsy

3
MicrosoftのペーパーはWebサイトで入手できなくなりましたが、必要に応じてインターネットアーカイブで読むことができます。
ジョシュケリー14

5

購入するすべてのサーバーブレードでは、デフォルトで仮想化が有効になっています。ベンダーが多くのサポートコールを節約するために商業的に決定したためである可能性があります。

プロセッサがヒットしたために無効になることはありませんが、使用目的によって異なります。これらの機能を有効にすると、周辺機器のアクセスに影響する可能性があるため、デフォルトではオフになっている場合があります。


4
これはどのような周辺機器アクセスに影響しますか?それを聞いたことがありません。
MDMarra

周辺機器のアクセスについて言及したとき、VT-dについて話しているのですか?
ゾレダチェ

いいえ、それはMMUでした...最近、誰かがそれについてdしているのを覚えています。Rasberry Piと何か関係があります。
サーチ

2

この他のスレッドによると、パフォーマンスに何らかの影響があるようです https://superuser.com/questions/545101/why-does-hp-recommend-that-i-keep-hardware-virtualization-off

命令セットの削減がより効率的であるため、それは私に関連しているようです。BIOSオプションを変更すると、これが直接影響を受けるとは思わなかったでしょう。

影響が大きいかどうかはわかりませんでしたが、これとセキュリティの潜在的な欠陥を考慮すると、このようなめったに使用されない機能をデフォルトで無効にすると良い選択のように見えます。


2
リンクされた回答からの効率の角度は意味がありません。命令キャッシュは、ソフトウェアプログラムの命令を保持します。プログラムが仮想化命令を使用しない場合、そのキャッシュに影響はありません。さらに、仮想化を処理する独立した実行ユニットや、バイパスできる命令デコーダーの一部があるという報告はないため、どちらの方法でも効率の違いはないはずです。
ニムロッド

1

もう1つの理由は、ほとんどのユーザーカーネル関数(gettimeofdayなど)がVDSOで移動されることです。

仮想化では、この高速パスを有効にできない場合があります。

そのため、システムは次のことができません。

これらの関数の高速実行を獲得する

ユーザーランドからカーネルへの高価な切り替えを避けて戻る



0

@MDMarraの回答で提起されたセキュリティ上の懸念に加えて、さらに2つの点を考慮する必要があります。

  1. 有効化されたオプション機能は、他の機能との厄介で予期しないやり取りをする可能性がわずかであり、追加の検証が必要です。PCベンダー、めったに使用されない機能にリソースを費やすことを嫌い、クライアント側の仮想化もその1つです。

  2. #1により、Intelの基本的なクライアントファームウェア/ BIOS BLOBでVTが無効になっていると思われます。そのため、VT対応クライアントを出荷するベンダーは、ファームウェアを準備するときにそのオプションをカスタマイズする必要があります。

とはいえ、現在は2019年です。デフォルトでVTが有効になっているクライアントがさらに表示されます。サーバーはまったく別の問題です。VTが常に有効になっているだけでなく、VT-dもアクティブになっていることがよくあります。

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