Назад | Перейти на главную страницу

Почему системы обычно отключают виртуализацию по умолчанию в настройках BIOS?

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

Возникают ли какие-то значительные накладные расходы на процессор, если он включен, а вы не используете виртуализацию? Если нет, то в чем причина того, что он отключен по умолчанию?

Были некоторые экспериментальные руткиты, такие как Синяя таблетка некоторое время назад он мог владеть системой с включенной VT. После этого открытия большинство поставщиков начали поставлять свои устройства с отключенным VT в качестве общей меры безопасности.

На всех блейд-серверах, которые мы покупаем, по умолчанию включена виртуализация. Это может быть связано с тем, что наш поставщик принял коммерческое решение сделать это, чтобы сэкономить на стольких обращениях в службу поддержки.

Он отключается не из-за удара процессора, а в зависимости от того, для чего он используется. По умолчанию он может быть отключен, поскольку включение этих функций может повлиять на доступ к периферии.

Обратите внимание, что согласно этому другому потоку, это также, похоже, оказывает некоторое влияние на производительность. https://superuser.com/questions/545101/why-does-hp-recommend-that-i-keep-hardware-virtualization-off

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

Я понятия не имел, является ли влияние значительным, но, учитывая это и потенциальный недостаток безопасности, отключение такой редко используемой функции по умолчанию кажется мне хорошим выбором.

Другая причина заключается в том, что большинство пользовательских функций ядра (например, gettimeofday) перемещены в VDSO.

иногда при виртуализации этот быстрый путь не может быть включен.

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

получить быстрое выполнение этих функций

избежать дорогостоящего переключения с пользовательской среды на ядро ​​и вернуться

В дополнение к проблемам безопасности, поднятым в ответе @MDMarra, вам следует учесть два дополнительных момента:

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

  2. Я сильно подозреваю, что из-за №1 базовая клиентская микропрограмма Intel / BLOB-объект BIOS отключен VT. Таким образом, любой поставщик, поставляющий клиента с поддержкой VT, должен настроить эту опцию при подготовке своей прошивки.

Тем не менее, мы сейчас в 2019 году; Я вижу больше клиентов с включенным VT по умолчанию. Другое дело - серверы: я не только всегда обнаруживал, что VT включен, но VT-d также часто активен.