Можно ли использовать Nox или Bluestacks с WSL2?

Вопрос или проблема

Можно ли использовать Nox или Bluestacks с wsl2, работающим на ПК? Или любой другой андроид-эмулятор для игр? Windows 10 (не pro)

Я пробовал https://support.bluestacks.com/hc/en-us/articles/360041390952-How-to-run-BlueStacks-with-Hyper-V-enabled безуспешно

У меня это тоже работает (Windows 10 Home). Мой процессор (Intel HD Graphics 4000) не поддерживает Virtualization Technology, но все равно работает.

Решение A:

  1. Я отключил Windows-Hypervisor Platform и активировал WSL2

  2. Отключил защиту ядра DMA

  3. Запустил PowerShell:

    bcdedit /set hypervisorlaunchtype auto

  4. После перезагрузки я установил BlueStacks Hyper-V (BETA) (версия 4.240.15.4204) по ссылке:
    https://support.bluestacks.com/hc/en-us/articles/360049701852-Release-Notes-for-BlueStacks-Hyper-V-BETA-

В процессе установки Bluestacks Hyper-V beta я дал разрешение текущему пользователю на Hyper-V.


Решение B:
В качестве альтернативы, если ничего не получится, можно отключить или включить hypervisorlaunchtype в режиме авто (я сделал это до версии Hyper-V Bluestacks):

  1. Скачайте оба файла:
    https://filehorst.de/download.php?file=dbjlfnst
    https://filehorst.de/download.php?file=dfGhyFfA

  2. Создайте ярлык для каждого файла

  3. Перейдите в свойства каждого ярлыка и добавьте путь: powershell -f "YOUR_PATH_TO_FILE", например: powershell -f C:\Users\username\Desktop\runWSL2.ps1

  4. Теперь, если вы хотите использовать WSL2, запустите ярлык “runWSL2.ps1”, после перезагрузки вы сможете его использовать. То же самое для “runBluestacks.ps1”, после перезагрузки вы сможете использовать Bluestacks.

Я знаю, что это не лучшее решение, но до версии Hyper-V Beta я использовал это решение без проблем.

Краткий код PowerShell скриптов:

Write-Output "Turn on hypervisorlaunchtype for using WSL2 after Reboot"
bcdedit /set hypervisorlaunchtype auto
Write-Output "Need to restart, please wait or confirm"
timeout 15
Restart-Computer

и

Write-Output "Turn off hypervisorlaunchtype for using WSL2 after Reboot"
bcdedit /set hypervisorlaunchtype off
Write-Output "Need to restart, please wait or confirm"
timeout 15
Restart-Computer

Ответ или решение

Использование эмуляторов Android, таких как Nox и Bluestacks, на Windows 10 с использованием WSL2 (Windows Subsystem for Linux версии 2) представляет собой интересный вызов, обусловленный тем, что обе системы требуют одновременного использования виртуализации. Однако с правильной конфигурацией возможно добиться их совместного функционирования.

Теория: Совместимость WSL2 и эмуляторов Android

WSL2 активно использует технологии виртуализации для запуска ядра Linux на Windows, что формально конфликтует с рядом других приложений, также требующих доступа к виртуальным ресурсам, например, эмуляторы Android. Bluestacks и Nox обычно требуют активации Hyper-V на Windows, чтобы запускать Android на виртуальной машине. Тем не менее, Hyper-V и WSL2 могут работать одновременно, что делает возможной одновременную работу.

Пример: Настройка Bluestacks с WSL2

  1. Отключение средств виртуализации Windows, если они не используются:
    По умолчанию Windows позволяет включать разные технологии виртуализации, включая Windows-Hypervisor Platform и Hyper-V. Для начала отключите ненужные компоненты через "Панель управления" -> "Программы и компоненты" -> "Включение или отключение компонентов Windows".

  2. Настройка BCD для Hyper-V и WSL2:
    В таком случае можно использовать команду в PowerShell для изменения типа запуска гипервизора:

    bcdedit /set hypervisorlaunchtype auto

    Эта команда позволяет Windows запускать Hyper-V и WSL2 в автоматическом режиме после перезагрузки.

  3. Установка и использование Bluestacks Hyper-V (BETA):
    Установите бета-версию Bluestacks, которая поддерживает Hyper-V. Для этого скачайте версию с поддержкой Hyper-V с официального сайта Bluestacks и следуйте инструкциям по установке, давая разрешения для текущего пользователя использовать Hyper-V.

  4. Создание скриптов для быстрого переключения между режимами:
    Вы также можете создать два PowerShell-скрипта для упрощения переключения между WSL2 и Bluestacks:

    • Скрипт для WSL2:

      Write-Output "Включение hypervisorlaunchtype для использования WSL2 после перезагрузки"
      bcdedit /set hypervisorlaunchtype auto
      Write-Output "Пожалуйста, дождитесь перезагрузки"
      timeout 15
      Restart-Computer
    • Скрипт для Bluestacks:

      Write-Output "Отключение hypervisorlaunchtype для использования Bluestacks после перезагрузки"
      bcdedit /set hypervisorlaunchtype off
      Write-Output "Пожалуйста, дождитесь перезагрузки"
      timeout 15
      Restart-Computer

    Создайте ярлыки для этих скриптов на рабочем столе и назначте на них команды запуска через PowerShell.

Применение: Реализация и потенциальные проблемы

С помощью вышеописанных действий можно обеспечить корректную работу Bluestacks или Nox в одном режиме и WSL2 в другом. Это позволяет воспользоваться преимуществами эмуляторов для Android-игр и WSL для разработки UNIX-подобных приложений без значительных ограничений.

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

Таким образом, использование Bluestacks или Nox с WSL2 нестандартно и требует ручной конфигурации, но полностью достижимо при наличии терпения и базовых навыков работы с Windows.orrosуя данные рекомендации, можно обеспечить стабильную работу обеих систем на одном компьютере.

Оцените материал
Добавить комментарий

Капча загружается...