Чому системи зазвичай відключають віртуалізацію за замовчуванням у налаштуваннях BIOS?


81

Мені ще не доводиться бачити систему, конфігурація якої за замовчуванням дозволяє MMU та направляти віртуалізацію вводу / виводу. Часто це потребує перезавантаження та переходу в BIOS, щоб увімкнути його, якщо ви хочете, наприклад, 64-розрядна підтримка ваших віртуальних машин.

Чи є якісь значні накладні витрати процесора, які виникають, якщо це увімкнено, і ви не використовуєте віртуалізацію? Якщо ні, то яка причина його вимкнення за замовчуванням?

Відповіді:


52

З’явилося кілька руткітів із підтвердженням концепції, наприклад Blue Pill , який міг володіти системою з включеним VT. Після цього відкриття більшість виробників почали доставляти свої блоки з вимкненим VT як загальну запобіжну безпеку.


7
+1 Виняток становлять люди, які використовують VT на робочому столі / ноутбуці. Правило того, що машина, сприйнятлива до virii, - це правило.
Chris S

У мене раптом виникають другі думки про цю блискучу нову потужну машину розробників, яку я створив, яка працює безліччю візменів, з включеною апаратною віртуалізацією. Мені не потрібна віртуалізація, але я вважаю, що це заощадить мені час, не потребуючи ремонту кожні пару місяців. Наскільки це велика проблема?
Paperjam

2
Практично не існує (станом на цей коментар). Блакитна таблетка була доказом концепції. Я не знаю нічого подібного в дикій природі.
MDMarra

1
Ось оцінка Microsoft проблемою безпеки, включаючи рекомендацію вимкнути VT за замовчуванням у рольових системах клієнта: msdn.microsoft.com/en-us/windows/hardware/gg463498.aspx
Jpsy

3
Папір Microsoft більше не доступний на їхньому веб-сайті, але ви можете прочитати його в Інтернет-архіві, якщо хочете.
Джош Келлі

5

Усі куточки серверів, які ми купуємо, мають за замовчуванням включену віртуалізацію. Це може бути тому, що наш постачальник прийняв комерційне рішення, щоб зробити це, щоб заощадити на стільки дзвінках підтримки.

Він не вимкнений через попадання процесора, але залежно від того, для чого він використовується. Це може бути вимкнено за замовчуванням, оскільки включення цих функцій може впливати на периферійний доступ.


4
На який периферійний доступ це може вплинути? Я ніколи цього не чув.
MDMarra

Ви говорите про VT-d, коли згадали про периферійний доступ?
Зоредаче

Ні, це було ММУ ... Пам’ятаю, хтось нещодавно про це гукав. Щось із Rasberry Pi.
Сірч

2

Зауважте, що згідно з цією іншою темою, схоже, це має певний вплив на продуктивність https://superuser.com/questions/545101/why-does-hp-recommend-that-i-keep-hardware-virtualization-off

Мені це здається актуальним, оскільки скорочений набір інструкцій є більш ефективним. Я просто не подумав би, що зміна параметра BIOS може безпосередньо вплинути на це.

Я не маю поняття, чи є вплив суттєвим чи ні, але враховуючи це і недолік потенціалу безпеки, відключення такої рідко використовуваної функції за замовчуванням виглядає для мене гарним вибором.


2
Кут ефективності від пов'язаної відповіді не має сенсу. Кеш інструкцій містить інструкції програмного забезпечення. Якщо програма не використовує вказівки щодо віртуалізації, це не вплине на цей кеш. Крім того, немає повідомлення про те, що існує окремий блок виконання, який обробляє віртуалізацію, або частина декодера інструкцій, яку можна обійти, тому не повинно бути різниці в ефективності.
Німрод

1

Ще одна причина - більшість функцій ядра користувача (наприклад, gettimeofday) переміщені у VDSO.

іноді за допомогою віртуалізації цей швидкий шлях неможливо включити.

тому система не може:

отримати швидке виконання цих функцій

уникайте дорогого переходу з користувальницької на ядро ​​та повернення



0

На додаток до проблем безпеки, порушених у відповіді @MDMarra, слід врахувати два додаткові моменти:

  1. будь-які включені, необов'язкові функції мають малу ймовірність мати неприємні та несподівані взаємодії з іншими функціональними можливостями, що потребують додаткової перевірки. Постачальники ПК ненавидять витрачати ресурси на рідко використовувані функції, а віртуалізація на стороні клієнта - одна з них.

  2. Я сильно підозрюю, що через # 1, основна програма мікропрограмного забезпечення / BIOS blob відключила VT. Отже, будь-який постачальник, що доставляє клієнт із підтримкою VT, повинен налаштувати цю опцію під час підготовки його програмного забезпечення.

Це сказало, що ми зараз у 2019 році; Я бачу більше клієнтів з VT, включеними за замовчуванням. Сервери - це зовсім інша справа: я не тільки завжди ввімкнув VT, але VT-d також часто активний.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.