1

ОС хоста: Гостевая ОС Fedora: Windows 10 Виртуализация: KVM

Таким образом, идея состоит в том, чтобы запустить хост-компьютер Windows 10, который не знает, что это виртуальная машина. Поэтому, когда я открываю диспетчер задач на компьютере с гостевым Windows и захожу на вкладку "Производительность", для тега "Виртуальная машина" устанавливается значение "НЕТ". До сих пор я понял, что диспетчер задач делает определения на основе этих двух параметров:

  1. Проверка присутствующего бита гипервизора CPUID
  2. Тестирование информации виртуального BIOS DMI и порта гипервизора

Я хочу запустить Windows 10 на виртуальной машине (как гость) и убедить ее, что ее нет на виртуальной машине. Причин действительно много: прохождение через GPU, переключатели уничтожения драйверов, тестирование и т.д.

Может кто-нибудь помочь мне настроить эту ВМ, чтобы он больше не знал, что это ВМ.

Я также использую Virt-Manager.

Ответ от Майкла, приведенный ниже, решает проблему и дает четкие указания. Однако даже если цель была достигнута и в диспетчере задач об этом больше не сообщается как о виртуальной машине, когда в PowerShell выполняется команда "systeminfo", все в порядке, за исключением "Версии BIOS", которая выглядит примерно так: SeaBios -...... fedora28 ..... "и" Производитель системы ", которая гласит" QEMU ".

Можно ли изменить эти параметры?

Спасибо за ваше время и усилия.

1 ответ1

1

Чтобы скрыть гипервизор от гостевой ОС, нужно сделать две вещи:

  • Скрыть флаг функции процессора гипервизора.
  • Скрыть гипервизор CPUID оставляет.

Ничто из этого не может быть сделано полностью в virt-manager; вам придется редактировать виртуальную машину XML.

По умолчанию для ЦПУ установлено значение "Гипервизор по умолчанию":

Virt-manager Выбор процессора по умолчанию для гипервизора

Это приводит к «QEMU Virtual CPU версии 2.5+»

Диспетчер задач с виртуальным процессором QEMU

Во-первых, вам нужно будет установить тип процессора в virt-manager. Виртуальный процессор QEMU по умолчанию не может удалить свой флаг гипервизора в libvirt.

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

Настройка ЦП в virt-manager Копировать конфигурацию ЦП хоста

Теперь в виртуальной машине будет раздел CPU, который вы можете редактировать. Запустите sudo virsh edit <vmname> . Раздел процессора будет выглядеть так:

  <cpu mode='host-model' check='partial'>
    <model fallback='allow'/>
  </cpu>

Вам нужно добавить элемент для удаления функции ЦП гипервизора, чтобы он выглядел так:

  <cpu mode='host-model' check='partial'>
    <model fallback='allow'/>
    <feature policy='disable' name='hypervisor'/>
  </cpu>

Теперь вам также нужно отключить гипервизор CPUID листья. Это позволяет работать некоторым другим вещам, таким как драйверы NVIDIA.

Это делается путем добавления нового элемента внутри элемента <features> .

Чуть выше:

  </features>

Вы должны добавить:

  <kvm>
    <hidden state='on'/>
  </kvm>

Теперь выключите виртуальную машину и запустите ее снова (перезагрузка не достаточна; требуется полное отключение).

На данный момент диспетчер задач показывает:

Диспетчер задач с копией модели хоста ЦП

Вы также можете запустить systeminfo в PowerShell или в командной строке. Внизу, если все хорошо, вы увидите все ответы «Да» в разделе Hyper-V:

Hyper-V Requirements:      VM Monitor Mode Extensions: Yes
                           Virtualization Enabled In Firmware: Yes
                           Second Level Address Translation: Yes
                           Data Execution Prevention Available: Yes

Теперь вы можете делать все, что хотели.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .