Запуск Windows Phone на виртуальной машине Virtualbox
Содержание
- 1 Запуск Windows Phone на виртуальной машине Virtualbox
- 1.1 Где взять эмулятор Windows Phone?
- 1.2 Зачем запускать Windows Phone 8.1 на виртуалке?
- 1.3 Как установить Windows Phone на виртуальную машину
- 1.4 Управление Windows Phone на виртуальной машине
Для начала краткая вводная, предыстория, так сказать.
Поступил, значит, запрос от клиента «поднять» VPN. Да не простой, а такой, чтобы можно было подключаться с любых устройств и в первую очередь с мобильных. Особенно интересовал клиента Windows Phone, поскольку у него именно такой.
В мобильных устройствах есть нативные (т.е. «родные», встроенные в ОС) VPN-клиенты, но они поддерживают подключение к VPN IPsec, по протоколу IKEv2. Поэтому на linux-сервере клиента был настроен именно такой VPN, с помощью Strongswan. Настроили подключение из Android, IOS и с обычной десктопной Windows — все работает.
А клиент со своего виндофона подключиться не может, хоть застрелись. Неделю бились. А это же еще нужно тестировать, а виндофона, разумеется, нету ни у меня, ни у коллеги, с которым это всё поднимали. На тестирование приходится дёргать самого клиента. А это время, это неудобство для клиента. Стал искать возможность запустить эмулятор Windows Phone. Оказалось такая возможность имеется, но только под винду — есть эмулятор для разработчиков приложений под Windows Phone. А у меня Linux на рабочем ноутбуке.
Подумалось, что можно запустить виртуальную машину c Windows 10, например, а в ней этот эмулятор. Но это не сработало, ибо тулкит затребовал поддержки Hyper-V, которого конечно же на виртуальной машине не будет. Для этого нужно установить Windows на «железо» — что мне не подходит.
Поискал немного, обнаружил что можно запустить этот эмулятор без лишней ОС, сразу на виртуальной машине. Вот и делюсь с вами.
Идея проста. Нужно создать виртуальную машину и подключить к ней вместо диска уже готовый образ VHD (виртуального диска) с Windows Phone 8.1 на борту. Благо этот образ можно выдернуть из официального эмулятора WP 8.1 от Microsoft.
Зачем запускать Windows Phone 8.1 на виртуалке?
Ну если, например, как в моем случае — вы работаете из под Linux или MacOS. Или если вам нужно предоставить доступ к одной системе с виндофоном для нескольких разработчиков по сети. Или вам нужно еще какие-то извращения вроде, прости хоспаде, запуска бота на смартфоне с Виндовс… В общем, мало ли. Да и вообще, это наше trueЪ путь — запускать с как можно меньшими «костылями» коими в нашем случае по-умолчанию является сама по себе Windows.
Как установить Windows Phone на виртуальную машину
Итак, с теорией разобрались, пора приступать. Для начала понадобится установить Virtualbox.
Процесс наглядно показан вот в этом видео. Но тут кроме самой установки и запуска также показан процесс извлечения VHD из тулкита от MS.
Нам нужно создать машину с Windows 8.1 (32-bit). При выборе в списке ОС она может быть без указания битности.
Когда Virtualbox начнет спрашивать про диск — выбирайте вариант — существующий.
Далее выбираем тот самый файл, который был скачан по ссылке и распакован. В моем случае он был объемом около 1,8 Gb.
После создания заходим в настройки и выставляем 1 Gb оперативной памяти (можно было задать сразу) и 2 ядра процессора (CPU).
Теперь всё готово, запускаем и всё
Управление Windows Phone на виртуальной машине
При запуске на виртуалке включается клавиатура. Вот информация о маппинге клавиш для управления виндофоном с клавиатуры.
Активируется по pgUp или Pause/Break. Но ничего толкового с имеющимися клавишами сделать не удается. Нужно управлять пальцем.
А вот с этим большая проблема, если у вас не touch-устройство. Потому что запустить то её не проблема, но чем туда тыкать — это вопрос.
Потому как курсора мыши конечно же вы не увидите. Хотя мышь вполне себе работает, но управлять придётся «наощупь». А это очень сложно и долго. Как решить эту проблему я не разобрался. В итоге даже не смог протестировать то что собирался.
Весь мой прогресс — за час я добрался до настроек VPN и его включения.
Но как создать профиль или уж тем более подключиться — это я не осилил. Бросил баловство и переключился на другие задачи. Если знаете как решить этот вопрос — расскажите пожалуйста, буду
Содержание
- Запуск Windows Phone на виртуальной машине Virtualbox
- Где взять эмулятор Windows Phone?
- Зачем запускать Windows Phone 8.1 на виртуалке?
- Как установить Windows Phone на виртуальную машину
- Управление Windows Phone на виртуальной машине
Запуск Windows Phone на виртуальной машине Virtualbox
Для начала краткая вводная, предыстория, так сказать.
Поступил, значит, запрос от клиента «поднять» VPN. Да не простой, а такой, чтобы можно было подключаться с любых устройств и в первую очередь с мобильных. Особенно интересовал клиента Windows Phone, поскольку у него именно такой.
В мобильных устройствах есть нативные (т.е. «родные», встроенные в ОС) VPN-клиенты, но они поддерживают подключение к VPN IPsec, по протоколу IKEv2. Поэтому на linux-сервере клиента был настроен именно такой VPN, с помощью Strongswan. Настроили подключение из Android, IOS и с обычной десктопной Windows — все работает.
А клиент со своего виндофона подключиться не может, хоть застрелись. Неделю бились. А это же еще нужно тестировать, а виндофона, разумеется, нету ни у меня, ни у коллеги, с которым это всё поднимали. На тестирование приходится дёргать самого клиента. А это время, это неудобство для клиента. Стал искать возможность запустить эмулятор Windows Phone. Оказалось такая возможность имеется, но только под винду — есть эмулятор для разработчиков приложений под Windows Phone. А у меня Linux на рабочем ноутбуке.
Подумалось, что можно запустить виртуальную машину c Windows 10, например, а в ней этот эмулятор. Но это не сработало, ибо тулкит затребовал поддержки Hyper-V, которого конечно же на виртуальной машине не будет. Для этого нужно установить Windows на «железо» — что мне не подходит.
Где взять эмулятор Windows Phone?
Поискал немного, обнаружил что можно запустить этот эмулятор без лишней ОС, сразу на виртуальной машине. Вот и делюсь с вами.
Идея проста. Нужно создать виртуальную машину и подключить к ней вместо диска уже готовый образ VHD (виртуального диска) с Windows Phone 8.1 на борту. Благо этот образ можно выдернуть из официального эмулятора WP 8.1 от Microsoft.
Зачем запускать Windows Phone 8.1 на виртуалке?
Ну если, например, как в моем случае — вы работаете из под Linux или MacOS. Или если вам нужно предоставить доступ к одной системе с виндофоном для нескольких разработчиков по сети. Или вам нужно еще какие-то извращения вроде, прости хоспаде, запуска бота на смартфоне с Виндовс… В общем, мало ли. Да и вообще, это наше trueЪ путь — запускать с как можно меньшими «костылями» коими в нашем случае по-умолчанию является сама по себе Windows.
Как установить Windows Phone на виртуальную машину
Итак, с теорией разобрались, пора приступать. Для начала понадобится установить Virtualbox.
Процесс наглядно показан вот в этом видео. Но тут кроме самой установки и запуска также показан процесс извлечения VHD из тулкита от MS.
Нам нужно создать машину с Windows 8.1 (32-bit). При выборе в списке ОС она может быть без указания битности.
Когда Virtualbox начнет спрашивать про диск — выбирайте вариант — существующий.
Далее выбираем тот самый файл, который был скачан по ссылке и распакован. В моем случае он был объемом около 1,8 Gb.
После создания заходим в настройки и выставляем 1 Gb оперативной памяти (можно было задать сразу) и 2 ядра процессора (CPU).
Теперь всё готово, запускаем и всё
Управление Windows Phone на виртуальной машине
Активируется по pgUp или Pause/Break. Но ничего толкового с имеющимися клавишами сделать не удается. Нужно управлять пальцем.
А вот с этим большая проблема, если у вас не touch-устройство. Потому что запустить то её не проблема, но чем туда тыкать — это вопрос.
Потому как курсора мыши конечно же вы не увидите. Хотя мышь вполне себе работает, но управлять придётся «наощупь». А это очень сложно и долго. Как решить эту проблему я не разобрался. В итоге даже не смог протестировать то что собирался.
Весь мой прогресс — за час я добрался до настроек VPN и его включения.
Но как создать профиль или уж тем более подключиться — это я не осилил. Бросил баловство и переключился на другие задачи. Если знаете как решить этот вопрос — расскажите пожалуйста, буду
Admin
IT-cпециалист с высшим техническим образованием и 8-летним опытом системного администрирования. Подробней об авторе и контакты. Даю бесплатные консультации по информационным технологиям, работе компьютеров и других устройств, программ, сервисов и сайтов в интернете. Если вы не нашли нужную информацию, то задайте свой вопрос!
Начиная с версии Моби-С 5.5 закончилась поддержка операционной системы Windows Mobile.
Эмулятор «Windows Mobile 6.0» поможет вам протестировать все функции нашего программного продукта без покупки реального КПК.
Файлы необходимые для установки эмулятора:
- Эмулятор — Microsoft Device Emulator 3.0
- Образ операционной системы «Windows Mobile 6.0» — Windows Mobile 6 Emulator Images
- Программа для синхронизации Pocket PC КПК с настольным компьютером — Microsoft ActiveSync 4.5 или Windows Mobile Device Center 6
Установка эмулятора
Сначала устанавливаем эмулятор Device Emulator (из файла vs_emulator.exe). Дело это бесхитростное и особых знаний не потребует.
По умолчанию Device Emulator ставится в папку «C:Program FilesMicrosoft Device Emulator», где его и следует искать. Установка не создает никаких ярлыков, да оно и не нужно, со всем остальным справится инсталлятор образов Windows Mobile. Device Emulator состоит из двух программ: самого эмулятора (DeviceEmulator.exe) и специального менеджера (dvcemumanager.exe). Последний нужен для управления эмулятором и различными образами.
Установка образа
Образы виртуальных машин устанавливаются из файла Windows Mobile 6 Professional Images (RUS).msi (для Windows Mobile 6.0). Инсталляция проходит быстро и легко. В меню «ПускПрограммы» создается папка с ярлыками «Windows Mobile 6 SDK».
Опишем коротко предназначение нужных нам ярлыков:
«Tools/Device Emulator Manager» – запуск менеджера, позволяющего управлять работой запущенных эмуляторов. Об этой программе поговорим ниже.
«Standalone Emulator Images/Russian/Professional» – запуск образа Windows Mobile
Внимание: Если ярлыки в меню Пуск не появились, запустите повторную установку образов, в диалоге выбора вариантов установки выберите Repair. После повторной установки должны появится все необходимые ярлыки.
Установка «ActiveSync»
«ActiveSync» — официальная программа для синхронизации Pocket PC КПК и коммуникаторов с Windows настольными компьютерами. Необходима для установки «Моби-С» на КПК и для осуществления обмена данными мобильной и десктопной частей «Моби-С». Запустите инсталлятор и следуйте его подсказкам.
Чтобы ActiveSync опознал подключение виртуального КПК, в его настройках параметров подключения должна стоять галочка «Разрешить подкл. к след. объектам» и выбран пункт DMA.
Синхронизация в Windows 7 и Vista
С выходом новой операционной системы Windows Vista появилась новая программа для синхронизации — «Windows Mobile Device Center 6».
-
Подключите ваш КПК к ПК. Windows распознает новое устройство, проставит примитивные драйвера.
-
Запустите установщик(drvupdate-x86.exe), который вы скачали. Следуйте его инструкциям.
-
После некоторых операций установщика Windows обнаружит еще раз новое устройство, и проставит еще драйвера. Теперь КПК полноценно готов для синхронизации и обмену данными.
Менеджер эмуляторов
Отдельно стоит упомянуть программу «Диспетчер эмуляторов устройств» которая позволяет работать сразу с несколькими образами, включать/выключать их, подключать к кредлу, перезагружать и прочее.
Кнопка Обновить нужна для ручного обновления состояния виртуальных машин. Эту кнопку необходимо нажимать после запуска/закрытия эмулятора. Каждый образ имеет свой номер (ID), через который можно в DEM работать с виртуальным КПК.
В меню «Действия» находятся различные действия, которые можно совершить с виртуальной машиной (это же меню открывает при клике правой кнопкой мыши на ID образа):
В гнезде– подключить к кредлу, «ActiveSync» должен найти КПК.
Вне гнезда– отключить от кредла.
Завершить работу– выключить
Запуск эмулятора и подключение к «ActiveSync»
Запустите образ виртуальной машины «Пуск/Программы/Standalone Emulator Images/Russian/Professional»
Запустите «Диспетчер эмуляторов устройств» из «Пуск/Программы/Tools/Device Emulator Manager»
В диспетчере выберите строку с зеленым кружочком (это наш запущенный образ виртуальной машины). Правым кликом мыши вызовите контекстное меню. Выберите пункт меню «В гнезде».
После этого будет инициировано соединение с «ActiveSync. В «ActiveSync запустится мастер нового подключение, нажимайте везде кнопку «Далее». По окончании работы мастера соединения, значек «ActiveSync в системном трее станет зеленого цвета. Все, эмулятор запущен и подключен к «ActiveSync. Далее работа с ним ни чем не будет отличатся от реального КПК или коммуникатора.
Внимание: На некоторых КПК может возникнуть проблема при синхронизации данных под Windows Vista через кредли или USB кабель, в этом случае необходимо снять галку с расширенного режима работы USB-соединения. Этот параметр находится в Пуск->Настройка->Подключения ярлык От USB к ПК (могут быть различные варианты этого названия).
Новые процессоры Apple M1 построены на архитектуре ARM и это уже совсем не Intel. Как же в таких условиях создавать виртуальные машины? Вопрос «зачем» тут не поднимаем: надо — значит надо!
До недавнего времени единственной более-менее рабочей софтиной для виртуальных машин была UTM, но работала крайне скверно. Но ребята из VirtualBox подсуетились и выкатили бета-версию своего софта для виртуализации.
ВАЖНО: в этом посте рассматривается софт именно для создания виртуальных машин, где каждая система тусуется в своём контейнере. Просто для запуска Windows-приложений можно воспользоваться и другими вариантами, типа Parallels Desktop.
Тесты будем проводить на VirtualBox 7.0.2_BETA4 r154219 (Qt6.3.0).
Нежно любимая икспиха была первой системой, которую я попытался установить сразу после установки Virtualbox, так что процесс затянулся очень сильно. На три часа, наверное. Вероятно, стоило перезагрузить Мак после установки виртуалбокс.

Вторая сложность — чрезвычайно мелкий размер окна виртуальной машины. Отчасти это решается настройкой вида и включением Scaled View.






Windows 7 на Apple M1 — не работает!
Процесс установки Windows 7 на процессоре Apple M1 даже не доходит до инсталлятора. Независимо от выбора системы (32 бит или 64 бит) установщик падает с ошибкой.


Windows 8 на Apple M1 — не работает!
Так же, как и «семёрка», восьмая винда падает при попытке установки. Точнее, при попытке загрузки установщика.
Windows 11 на Apple M1 — не работает!
Так как семёрочное поведение, вероятно, характерно для всего семейства систем, выпущенных после WinXP, решил проверить самую свежую версию — Windows 11. Увы, эта даже до ошибки не дошла — тупо повисла на логотипе.

Windows 2000 на Apple M1 — работает!
Установка немного затяжная, но не напряжная. Я сразу же выставил режим отображения Scaled View, чтобы укрупнить окно в два раза и хоть что-то видеть.





Выводы
Virtualbox для ARM платформы M1 либо не до конца допилена, либо с виртуализацией систем Windows приемлемой свежести пользователи Apple M1 могут попрощаться.
Процесс виртуализации — технически сложный, но пользователя это волновать не должно. Если система не запускается с настройками по умолчанию — значит она не запускается, точка. Возможно, что тщательная настройка параметров виртуализации позволит запустить систему. Но если VirtualBox из коробки не может запустить систему — значит она не запускается.
Лучше маленький лайк и репост, чем большое спасибо в комментах. По этой причине комментарии выключены, а кнопки репостов — вас ждут. Пользуйтесь, прошу 
Reading time
4 min
Views 51K
Приветствую.
Не знаю как вам, но мне сначала совершенно не хотелось ставить новую Windows 8. А смысл? Смысла не было, семёрка отлично работала и продолжила бы работу, но… Умные люди из Microsoft любят всё переделывать заново и в этот раз они конкретно переборщили.
Дело в том, что новая версия эмулятора WP,
Windows Phone Emulator (XDE), использует технологию Hyper-V, которая в семействе настольных Windows появилась только начиная с Windows 8.
У меня возникла идея любой ценой установить этот SDK себе в VS2012 под Windows 7 и выжать из него максимум возможностей.
Внимание!
- Эмулятор будет доступен только для WP 7.1 и ниже;
- Blend будет доступен только для WP 7.1 и ниже, а значит XAML под WP 8 придётся писать руками;
- Это just for fun, ведь нормальные герои всегда идут в обход!
Под катом я вкратце расскажу, как устроен установщик WP8 SDK и покажу кривой путь через болотце для тех, кто не хочет расставаться с Windows 7, но хочет продложить разработку под новые версии Windows Phone.
Копаемся в пакете
Загрузив с официального сайта установщик WPexpress_full.exe, я попробовал его запустить. Он меня послал, сказав что я должен переустановить винду (вот не ожидал!) на что-нибудь поновее, например Windows 8. От такой дерзости я опешил и недолго думая обновил ту самую картинку с собакой, на всякий случай, чтобы было чем отмахиваться в идеологических спорах с друзьями.
Всё подозрение пало на маркетологов.
WPexpress_full.exe отлично распаковывается с помощью WinRAR, внутри обнаружились следующие файлы:
0: XML document text
u0: PE32 executable for MS Windows (DLL) (GUI) Intel 80386 32-bit
u1: PE32 executable for MS Windows (DLL) (console) Intel 80386 32-bit Mono/.Net assembly
u10: PE32 executable for MS Windows (DLL) (GUI) Intel 80386 32-bit
u11: PE32 executable for MS Windows (DLL) (GUI) Intel 80386 32-bit
u12: XML document text
u13: XML document text
u14: exported SGML document text
u15: UTF-8 Unicode (with BOM) text, with very long lines, with CRLF line terminators
u16: PNG image data, 63 x 63, 8-bit/color RGBA, non-interlaced
u17: HTML document text
u18: XML document text
u2: XML document text
u3: exported SGML document text
u4: XML document text
u5: MS Windows icon resource - 3 icons, 16x16, 16-colors
u6: MS Windows icon resource - 3 icons, 16x16, 16-colors
u7: MS Windows icon resource - 3 icons, 16x16, 16-colors
u8: PE32 executable for MS Windows (DLL) (console) Intel 80386 32-bit Mono/.Net assembly
u9: XML document text
После изучения файла 0, который являлся заголовочным для этого пакета, выяснилось, что инсталлятор сделан с помощью тулкита Windows Installer XML (WiX) toolset. Выкачал инструменты этого WiX, среди них была утилита dark.exe, отвечающая за распаковку .msi пакетов, собранных дефолтным инструментарием WiX. Утилита подошла и к этому пакету.
Он распаковался:
.
├── AdminDeployment.xsd
├── BootstrapperApplicationData.xml
├── BootstrapperCore.config
├── BootstrapperCore.dll
├── HighContrastThemes.xaml
├── License.htm
├── LocalizableStrings.xml
├── ManagedUx.dll
├── SkuResources.xaml
├── Themes.xaml
├── manifest.xml
├── mbahost.dll
├── mbapreq.dll
├── mbapreq.png
├── mbapreq.thm
├── mbapreq.wxl
├── res
│ ├── info.ico
│ ├── stop.ico
│ └── warn.ico
└── sqmapi.dll
После прочтения доков и осмотра XML файлов стало ясно, что установщик делался с кастомным интерфейсом, с использованием ManagedUx и Bootstrapper (Burn) из WiX SDK (в архиве wix36-sources.zip есть пример такого проекта — WixBA).
Проще говоря, то что у нас есть — без воссоздания WiX проекта в Visual Studio пересобрать обратно в установщик нельзя. Как минимум
manifest.xml является
<BurnManifest xmlns="http://schemas.microsoft.com/wix/2008/Burn">
и как собирать такие манифесты — ни одна утилита из стандартного набора WiX не знает.
Поэтому не смотря на очень привлекательную строчку в
BootstrapperApplicationData.xml
<UxBlocker ShortName="CheckX64runningWin2008ServerOrWin8" Type="Stop" Condition="(VersionNT < v6.1) OR ((VersionNT = v6.1) AND (NTProductType < 3)) OR (NOT VersionNT64)" DisplayText="#loc.Win8X64Block"/>
которую можно удалить, такой способ придётся оставить.
Парсим manifest.xml
В
manifest.xml прописаны все пакеты, которые устанавливаются установщиком, а так же URI источников. Я написал ruby-скрипт, который парсит и скачивает всё необходимое, затем поочерёдно устанавливает.
Порядок установки пакетов такой же, как они следуют в XML манифесте, надеюсь это не важно.
Исходные тексты на GitHub
Там же есть папка с готовым бинарником (скрипт + зависимости + ruby 1.9.3, собрано с помощью ocra), нужно просто перетянуть на него
WPexpress_full.exe и наблюдать.
Готовый к употреблению архив в ZIP
Tips & Tricks
Редактор XAML будет пытаться запустить Blend, тот в свою очередь — компонент эмулятора WP8, отчего сам же Blend будет вечно падать. Я сразу переключил редактор XAML на тот что без визуальщины, автокомплит там работает и ладно.
В сухом остатке имеем:
- Полноценный рабочий SDK для Windows Phone 7.1
- Нерабочий эмулятор Windows Phone 8
- Нерабочий редактор интерфейсов Blend для WP 8
- Неполноценный, но таки рабочий (!) SDK для WP 8
Факт: Windows Phone 8 запускается в VirtualBox на той же Windows 7, но нет курсора мышки и сети, так что пока ничего полезного это не дало.
Желаю удачи с этим делом!
~ Xlab
— UPD: Если у вас была ошибка с бинарником
/src/application.rb:76:in `require_relative': cannot load such file — /src/chain (LoadError)
скачайте новую версию с github, пофикшено.















Windows 8 на Apple M1 — не работает!
Windows 11 на Apple M1 — не работает!




