Установщик Visual Studio не запускается в гостевой системе Windows qemu Arm64
Я успешно установил эмулируемую гостевую систему Windows Arm64, а некоторые приложения просто отказываются запускаться, крутятся в одном потоке и ничего не происходит.
Настройка:
- хост — x64 Windows 11 (21H2 — 22000.1098)
- qemu — это «C:\Program Files\qemu\qemu-system-aarch64.exe» — версия
- Эмулятор QEMU версии 7.1.0 (v7.1.0-11925-g4ec481870e-dirty)
- гость — Arm64 Windows 11 (22H2 — 22621.755)
Большая часть приложений запускается и работает нормально и как и ожидалось. Некоторые приложения демонстрируют использование ~17% ЦП, что составляет 1 ядро (из 6, настроенных для qemu), использование памяти обычно составляет ~5 МБ и не меняется, доступ к диску равен 0, сеть 0.
Я хочу установить Visual Studio в гостевую систему, согласно этой статье : «Существует один установщик для Visual Studio x64 и Arm64». Поэтому я скачал тот же установщик, что и для системы x64, я проверил и это приложение x64, которое просто устанавливается на первом этапе, а затем запускает установленную версию. Первый шаг работает как положено, показывается загрузчик установщика Visual Studio, затем просит что-то "обновить", нажимаю продолжить, затем, когда это завершается, ничего не происходит, из системы x64 я знаю, что это тот момент, когда Предполагается, что появится графический интерфейс установщика. Если я загляну в диспетчер задач, то вижу, что установщик работает с вращением в одном потоке.
Вещи, которые я пробовал:
- Я подозревал, что проблема может заключаться в том, что установщик представляет собой приложение .Net, поэтому я убедился, что гость обновлен.
- Создал примеры приложений в .net, одно консольное и одно формирующее приложение для проверки их работы, и они оба работали.
- Запустил vshwere.exe из установщика Visual Studio, это собственное приложение, и оно работало, но ничего, непосредственно связанное с установщиком, не работало.
- Пробовал переносить приложение в другую папку и запускать оттуда, тоже не помогло.
- Отключил аппаратное ускорение GUI, как описано здесь , но это тоже не помогло.
Диспетчер задач показывает зависший установщик, он отображается среди фоновых процессов:
Скрипт запуска Qemu:
"c:\Program Files\qemu\qemu-system-aarch64" ^
-name "Windows 11 on ARM64" ^
-m 4G,slots=2,maxmem=8G ^
-cpu max,pmu=on,sve=on,sve128=on ^
-M virt,virtualization=true ^
-smp 6,sockets=1,cores=6,threads=1,maxcpus=6 ^
-accel tcg,thread=multi ^
-smbios type=2 ^
-k hu ^
-device VGA ^
-device nec-usb-xhci ^
-device usb-kbd ^
-device usb-tablet ^
-device vmcoreinfo ^
-device virtio-rng-device ^
-device virtio-balloon-device ^
-device pvpanic-pci ^
-rtc base=localtime,clock=host ^
-parallel none ^
-audiodev none,id=audio ^
-netdev user,id=hostnet0 -device virtio-net-pci,romfile=,netdev=hostnet0 ^
-drive file=./firmware/flash0.img,format=raw,if=pflash,snapshot=off,readonly=off ^
-drive file=./firmware/flash1.img,format=raw,if=pflash,snapshot=off,readonly=off ^
-device usb-storage,drive=boot ^
-drive if=none,id=boot,file="./blockdev/hda.vhdx"
В гостевой системе установлены следующие драйверы virtio (virtio-win-0.1.215.iso):
- Воздушный шар
- NetKVM
- пвпаника
- виоскси
- виосериал
- виостор
Как я могу собрать полезную информацию о госте, почему приложение зависает?