Виртуальная машина с определенным ЦП

можно ли создать виртуальную машину с определенным ЦП, который поддерживает только определенный набор инструкций.

например, я хочу попробовать что-то на машине, которая имеет процессор, который не поддерживает инструкции AVX или SSE, можно ли создать виртуальную машину с процессором, который не имеет поддержки AVX или SSE?

27
задан Humam Helfawi
07.02.2023 3:11 Количество просмотров материала 2643
Распечатать страницу

2 ответа

в документации VMware упоминается "маска CPUID", но я не знаю, насколько это настраивается.

Если вы хотите поэкспериментировать с другими VMMs, QEMU может включать и отключать флаги CPUID в командной строке. Например, qemu-system-i386 -cpu n270,fpu=off приводит к виртуальному процессору с функциями n270, но с отключенным флагом fpu. Существует полный список поддерживаемых моделей процессоров и флагов CPUID в qemu-system-i386 -cpu help.

3
отвечен dsstorefile1 2023-02-08 10:59

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

в этой статье имеет некоторые детали о том, как подделать CPUID, как сообщается гостю. Имейте в виду, что на самом деле это не отключает никаких функций.

инструкции для продуктов VMware (цитата):

использовать редактор (например, блокнот) откройте виртуальный файл конфигурации машины (.vmx)

Добавление следующих строк:

cpuid.1.eax = "00000000000000110100011010101001"
cpuid.1.edx = "10111111111010111111101111111011"

Если CPUID все еще не изменен или недействителен, попробуйте добавить:

cpuid.1.ebx = "00000000000000110100011010101001"
cpuid.1.ecx = "10111111111010111111101111111011"

сохранить файл конфигурации и запустить виртуальную машину.

инструкции для VirtualBox (quote):

Откройте командную строку и перейдите в рабочий каталог VirtualBox.

Выполните следующую команду, чтобы изменить CPUID.

vboxmanage modifyvm  --cpuidset 1 000306a9 00100800 3d9ae3bf bfebfbff

начать виртуальная машина.

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

Если вы хотите эмулировать функции, вам придется использовать эмулятор. QEMU может выполнять как виртуализацию, так и полную эмуляцию. Он также поддерживает множество процессорных архитектур, отличных от x86 / x64.

3
отвечен Daniel B 2023-02-08 13:16

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх