-1

Итак, в принципе, проблема: когда я включаю Hyper-V, он превращает мой 64-битный ПК с Windows 8.1 в 32-битный (или я так думаю). Оба Virtualbox и Adobe Photoshop Design Space Preview оба не работают для меня. Virtualbox отображает только 32-разрядные операционные системы, а параметры Photoshop недоступны для Design Space Preview (которая является только 64-разрядной). Это нормально с выключенным Hyper-V, но мне нужно использовать Visual Studio Emulator для Android, который (я думаю) требует Hyper-V. Есть ли способ включить 64-битные вещи в моей ОС и заставить эмулятор Visual Studio работать? Мне действительно все равно, включен ли Hyper-V или нет.

1 ответ1

2

TL; DR:

Переключение статуса роли Hyper-V из любого выпуска Windows, поставляемого с ним, не должно и просто не может изменить ОС хоста на 64-разрядную или наоборот. Ваша система все та же, что и раньше.

Зачем?

32-разрядная и 64-разрядная архитектуры являются [аппаратными] платформами, которые ядро ОС должно изначально поддерживать. Для этого подавляющее большинство его компонентов скомпилировано так, чтобы использовать преимущества одной или другой архитектуры, но не обеих, путем явного нацеливания на них.

Поставщик ОС - в данном случае Microsoft - должен затем упаковать все эти компоненты и выпустить / продать их как отдельные продукты. Вот почему они идут как два отдельных DVD, если вы покупаете в любом розничном магазине, и вы не можете легко переключаться между ними. Чистая установка не требуется.

В качестве упражнения вы можете скопировать любой файл .exe из C:\Windows\System32 (например, cmd.exe или notepad.exe) на USB-накопитель и попробовать загрузить их в проверенную 32-разрядную систему. Они не будут работать.
Если у вас его нет, просто загрузите C:\Windows\SysWOW64\notepad.exe . Этот экземпляр Блокнота будет помечен как «32-битный», если вы проверите Диспетчер задач.

Папка SysWOW64 не существует в 32-битной Windows. Сокращенное наименование "Windows On Windows64" - уровень совместимости, позволяющий нормально работать 32-разрядным пользовательским приложениям. Внутри этой папки находятся 32-разрядные версии большинства компонентов Windows, чтобы обеспечить эту совместимость.

Итак, что случилось потом?

Hyper-V является гипервизором типа 1 (кольцо -1) и, следовательно, не может сосуществовать с другими решениями, использующими встроенную аппаратную виртуализацию. Поскольку сама операционная система работает поверх нее (см. Здесь), инструкции VMX не будут доступны для VirtualBox и аналогичного программного обеспечения:

Функция виртуализации VT-X x86 используется Hyper-V и недоступна для других решений, пока установлена Hyper-V.

Если, например, требуется виртуальная машина эмулятора устройств Android HAXM для Android Studio или Microsoft Visual Studio Community, то Hyper-V должен быть удален в качестве функции Windows для работы. Hyper-V может быть установлен по умолчанию, и в этом случае пользователь должен удалить функцию Hyper-V перед использованием другого приложения, для которого требуется VT-x.

Hyper-V - VT-x управляет исключительно Hyper-V

(Обратите внимание, что вы можете отключить Hyper-V вместо того, чтобы полностью удалить его, обратившись к команде bcdedit /set hypervisorlaunchtype off как описано здесь).

VirtualBox - это гипервизор типа 2 (кольцо 3 с поддержкой кольца 0, предоставляемой драйверами ядра). Он способен виртуализировать архитектуру x86 (32 бита) без использования инструкций VT-x/AMD-V, используя ресурс "Виртуализация программного обеспечения":

Благодаря сложным методам VirtualBox виртуализирует многие гостевые операционные системы исключительно в программном обеспечении. Это означает, что вы можете запускать виртуальные машины даже на старых процессорах, которые не поддерживают аппаратную виртуализацию.
(...)
Для поддержки 64-разрядной гостевой системы VirtualBox (добавлена в версии 2.0) и многопроцессорной обработки (SMP, добавлена в версии 3.0) требуется включить аппаратную виртуализацию.

10.3. Аппаратная и программная виртуализация - VirtualBox Техническая справка

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

Вот почему он не будет отображать 64-битные виртуальные машины или создавать новые, пока включен Hyper-V.


В моей системе Photoshop Design Space Preview работает с включенным Hyper-V. Эта опция недоступна в 32-битной версии Photoshop - да, возможно установить обе версии одновременно - поэтому, возможно, поэтому она отключена для вас. Просто убедитесь, что вы запускаете правильный Photoshop (64-битная версия).

В заключение...

Эмулятор Visual Studio для Android действительно требует Hyper-V.
В любом случае вы всегда можете загрузить Android-x86 (32-битную или 64-битную) и установить его вручную на любой другой гипервизор, который вам нравится. Этот процесс обычно довольно прост. Хотя я лично не использую VirtualBox, скорее всего, это возможно, так как Linux и FreeBSD поддерживаются. Вы даже можете подключиться к нему и отлаживать приложения из Visual Studio через ADB. Смотрите здесь - в конце статьи.

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