Re[2]: Win10/11 ARM на железе Intel - под QEMU или Bochs?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 10.01.23 12:24
Оценка:
Здравствуйте, Черный 😈 Властелин, Вы писали:

ЧВ>У меня еще есть Mac на проце M1, там все летает в Parallels.


А у Вас ARM-винда умеет выполнять приложения для x86/x64?

По логам, которые мне присылали владельцы ARM-железа с виндой, я вижу, что она успешно эмулирует то ли x86, то ли x64 (не помню уже, какой именно). А версия 17134 (1803) для ARM64, которую я гоняю под QEMU, приложения x64 даже запускать не хочет (ERROR_EXE_MACHINE_TYPE_MISMATCH), а для x86 процесс создается, но тут же стабильно валится со STATUS_DLL_INIT_FAILED. И не пойму — то ли система кривая, то ли QEMU косячит.
Re[5]: Win10/11 ARM на железе Intel - под QEMU или Bochs?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 10.01.23 21:02
Оценка: 10 (1)
Здравствуйте, okman, Вы писали:

O>Только покупать какой-то ноут или планшет на базе ARM с Windows 10/11 на борту.


Вот тут есть варианты установки на разные модели.
Re[3]: Win10/11 ARM на железе Intel - под QEMU или Bochs?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 10.01.23 21:50
Оценка:
Здравствуйте, novitk, Вы писали:

N>кроме QEMU нет вариантов. У меня оно неплохо таскает Win10 на Убу, но это KVM без ISA эмуляции.


У Вас железо для виндового ядра эмулируется? Если да — поддерживаются ли какие-либо сетевые адаптеры QEMU?

Я долго не мог понять, почему у меня гостевая винда не опознает ни один из эмулируемых QEMU сетевых адаптеров (Intel e1000, PRO/100, RTL8139, AMD
PCNET, NE2000), и вдруг обнаружил, что драйверов для них в дистрибутивах для ARM вообще нет. И для virtio нет драйверов для ARM. Как вообще народ использует сеть в ARM-винде под QEMU?
Re[4]: Win10/11 ARM на железе Intel - под QEMU или Bochs?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 11.01.23 15:24
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>И для virtio нет драйверов для ARM.


Нашелся драйвер для virtio под винду в дистрибутиве Parallels Desktop для Mac, по ссылке в этом сообщении, в одном из подкаталогов netkvm. И даже работает.
Re[4]: Win10/11 ARM на железе Intel - под QEMU или Bochs?
От: novitk США  
Дата: 13.01.23 15:39
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>У Вас железо для виндового ядра эмулируется?

Не очень понимаю вопроса. Через KVM/x86виртуализацию работает, как VBox, то есть быстро.

ЕМ>Если да — поддерживаются ли какие-либо сетевые адаптеры QEMU?

ЕМ>Я долго не мог понять, почему у меня гостевая винда не опознает ни один из эмулируемых QEMU сетевых адаптеров (Intel e1000, PRO/100, RTL8139, AMD
NAT/e1000, сеть работает. Аналог Host-mode в VBox не проверял.
Re[5]: Win10/11 ARM на железе Intel - под QEMU или Bochs?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 13.01.23 19:33
Оценка:
Здравствуйте, novitk, Вы писали:

ЕМ>>У Вас железо для виндового ядра эмулируется?

N>Не очень понимаю вопроса. Через KVM/x86виртуализацию работает, как VBox, то есть быстро.

То есть, гостевая система — тоже x86? С ними-то проблем нет. А у меня ARM64 — та пара сборок Win10 под него, которые сумел найти, предназначены для каких-то планшетов, там разрешение 1024x600 прибито гвоздями, куча драйверов для специфических устройств, и нет драйверов для традиционных писишных сетевых контроллеров. А скачать нормальный ISO из подписки не могу — еще в конце декабря обнаружил, что страница Download перманентно выдает ошибку, запрос в саппорт уже больше двух недель "на изучении", вчера звонили из MS и просили "don't login to avoid interference". Такое впечатление, что они там сами уже давно не понимают, как работает их собственная кухня, но продолжают на ней наворачивать еще и еще.

В сети пишут, что народ делает ISO из UUP/ESD, но при этом используется настолько ужасающий наколенный механизм, что я чуть не сблевал, его увидев, и не рискнул связываться.
Re: Win10/11 ARM на железе Intel - под QEMU или Bochs?
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 13.01.23 20:16
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Нужно потестировать ARM-версии Win10/11 на Intel x64. Пытаюсь понять, под каким эмулятором это будет меньше тормозить — QEMU или Bochs, но об этом нигде толком не пишут. Как определиться?


Купи себе Surface Pro с АРМовским чипом — это будет as first party as it goes. Правда они недешёвые, но раз тебе нужно по работе, то всё равно спишешь с налогов.
[КУ] оккупировала армия.
Re[2]: Win10/11 ARM на железе Intel - под QEMU или Bochs?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 14.01.23 20:15
Оценка:
Здравствуйте, koandrew, Вы писали:

K>Купи себе Surface Pro с АРМовским чипом — это будет as first party as it goes. Правда они недешёвые


Да младшие модели продают и после ремонта за 200 евро. Я уже начал подумывать, но за несколько дней таки приспособился к QEMU, сегодня как раз доделал тестовую сборку.

K>раз тебе нужно по работе, то всё равно спишешь с налогов.


У меня безусловный налог. А то б я туда включил и подписки на MS VS, и EV-сертификаты...
Re[5]: Win10/11 ARM на железе Intel - под QEMU или Bochs?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 17.01.23 10:12
Оценка: 9 (1)
Здравствуйте, vsb, Вы писали:

vsb>целая венда должна тормозить вообще адски.


Сейчас я сказал бы, что для ситуации с разной хостовой и гостевой архитектурой, оно тормозит вполне по-божески. На хосте далеко не самый быстрый процессор — 6820HK, по возможности работающий на 3 ГГц, у гостя эмулируется четыре ядра. Хорошо видна работа JIT — повторные однотипные операции при уже загруженном в память коде выполняются намного быстрее, чем в первый раз. А легкий софт и вовсе работает так, что тормоза заметны только там, где критичны даже десятки миллисекунд.

Зато очень удобно выявлять тормоза, которые почти незаметны на голом железе. Например, FAR долго и утомительно сканирует несколько тысяч файлов в System32, причем норовит это повторять еще и еще, ибо система туда регулярно пишет. Хорошо видно, как многие приложения (включая виндовые) по многу раз перерисовывают одни и те же элементы интерфейса.
Re[3]: Win10/11 ARM на железе Intel - под QEMU или Bochs?
От: Черный 😈 Властелин Австралия https://www.softperfect.com
Дата: 21.01.23 06:39
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>По логам, которые мне присылали владельцы ARM-железа с виндой, я вижу, что она успешно эмулирует то ли x86, то ли x64 (не помню уже, какой именно). А версия 17134 (1803) для ARM64, которую я гоняю под QEMU, приложения x64 даже запускать не хочет (ERROR_EXE_MACHINE_TYPE_MISMATCH), а для x86 процесс создается, но тут же стабильно валится со STATUS_DLL_INIT_FAILED. И не пойму — то ли система кривая, то ли QEMU косячит.

Насколько я знаю Win10 ARM 64 эмулирует x86, а Win 11 еще и x64, но только для EXE и DLL. Драйвера должны быть нативными.

Вероятно у пользователей Win 11, там есть эмуляция x86_64 — тут подробней написано.
Re[6]: Win10/11 ARM на железе Intel - под QEMU или Bochs?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 29.01.23 20:58
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>А скачать нормальный ISO из подписки не могу

ЕМ>народ делает ISO из UUP/ESD

Уже и подписку починили — скачал кошерный ISO, еще один нашел на просторах интернета, но они упорно отказывались грузиться — напрочь зависали после "press any key to boot". Попробовал даже эту жуткую кухню с UUP, сделал два ISO разных версий — тоже оба не грузились. А потом случайно заметил, что во многих статьях, где указаны ключи командной строки QEMU, при "-machine virt" стоит еще и "virtualization=true". Я на это не обращал внимания, поскольку образ диска с установленной виндой, который я использовал все это время, нормально грузится и без этого. Интереса ради попробовал добавить — ISO стали грузиться.

Кто-нибудь знает, что это за параметр? В "документации" к QEMU он упомянут лишь единожды — в разделе Arm Versatile Express boards (vexpress-a9, vexpress-a15):

QEMU defaults to providing a CPU which does not provide either TrustZone or the Virtualization Extensions: if you want these you must enable them with -machine secure=on and -machine virtualization=on

Re[7]: Win10/11 ARM на железе Intel - под QEMU или Bochs?
От: vsb Казахстан  
Дата: 29.01.23 22:42
Оценка: 20 (1)
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Уже и подписку починили — скачал кошерный ISO, еще один нашел на просторах интернета, но они упорно отказывались грузиться — напрочь зависали после "press any key to boot". Попробовал даже эту жуткую кухню с UUP, сделал два ISO разных версий — тоже оба не грузились. А потом случайно заметил, что во многих статьях, где указаны ключи командной строки QEMU, при "-machine virt" стоит еще и "virtualization=true". Я на это не обращал внимания, поскольку образ диска с установленной виндой, который я использовал все это время, нормально грузится и без этого. Интереса ради попробовал добавить — ISO стали грузиться.


ЕМ>Кто-нибудь знает, что это за параметр? В "документации" к QEMU он упомянут лишь единожды — в разделе Arm Versatile Express boards (vexpress-a9, vexpress-a15):


ЕМ>

ЕМ>QEMU defaults to providing a CPU which does not provide either TrustZone or the Virtualization Extensions: if you want these you must enable them with -machine secure=on and -machine virtualization=on


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

https://qemu-project.gitlab.io/qemu/system/arm/virt.html тут есть описание всех флагов для платформы virt.
Re[8]: Win10/11 ARM на железе Intel - под QEMU или Bochs?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 30.01.23 09:59
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Видимо винда требует поддержку этих инструкций.


Странно, что готовый образ диска успешно работает и без них, хотя Secure Boot в нем не отключен, а файл переменных UEFI я скопировал и в новую машину.

vsb>https://qemu-project.gitlab.io/qemu/system/arm/virt.html тут есть описание всех флагов для платформы virt.


Спасибо, я навскидку не нашел. Они б, делая документацию в HTML, начинали с гипертекста, а не с форматирования...
Re[6]: Win10/11 ARM на железе Intel - под QEMU или Bochs?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 31.01.23 22:28
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>сказал бы, что для ситуации с разной хостовой и гостевой архитектурой, оно тормозит вполне по-божески.


Оказалось, это верно лишь для той уже установленной системы версии 17134, образ которой я нашел где-то в сети.

Сегодня, после трех неудачных попыток, удалось поставить дистрибутив en-us_windows_10_iot_enterprise_version_22h2_arm64_dvd_39566b6b.iso, скачанный у MS. При каждой установке оно по нескольку раз вываливало различные ошибки OOBE (OOBEKEYBOARD, OOBELOCAL, OOBESETTINGS и т.п.), один раз установилось с DefaultUser0 с неизвестным паролем, еще раз просто отказалось грузиться после завершения установки, а chkdsk нашел на диске неимоверное количество серьезных ошибок.

Интересно, что система подает себя, как 22H2 (бОльшая часть файлов от сентября 2022), а внутри везде версия 10.0.19045.2006.

Установленная система выглядит живой, но тоже глючит, только по-другому. Например, процессы x86, которые в 17134 завершаются с ошибкой инициализации, в 19045 вечно висят на полной загрузке процессора. Запустил минимальный самодельный EXE x86, состоящий только из вызова WriteFile для вывода на консоль — сообщение вывелось, но дальше процесс так же завис. Крутится где-то в kernel32, дальше не смотрел.

Оснастки Event Viewer, Disk Management и Windows Firewall не инициализируются в обеих системах.

FAR в обеих системах шевелится примерно одинаково, а вот Операции Explorer в 19041 работают в несколько раз медленнее, чем в 17134, хотя я там и поотключал всякие индексаторы и подобный мусор. Но в старой системе FAR мучительно долго (до минуты) составляет список из нескольких тысяч файлов в System32, в новой же системе он собирает их за долю секунды. FAR один и тот же, все настройки дефолтные.

Попробовал добавить к параметрам QEMU для старой системы virtualization=on — она перестала воспринимать ввод с клавиатуры в текстовом Boot Menu. Новая система с теми же параметрами — воспринимает.

Судя по всему, все это — какие-то чудесатые глюки виртуализации в QEMU. Иногда начинает тормозить сам QEMU: винда перегружается в UEFI, и UEFI лагает аж на клавиатурны командах, процесс QEMU при этом жрет 100% процессора.

Новая система без Virualization Extensions не грузится дальше текстового Boot Menu, старая — работает и с ними, и без них. От чего это зависит, пока не понял. Сперва думал, что это связано с Secure Boot, но в обеих системах он не используется, и virtualization-based security — тоже. Управления Secure Boot в том UEFI, что нашел вместе с образом старой системы, нет.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.