
Быстро, легко и безопасно разворачивайте новые Windows-кубы на Qubes OS
Быстро, легко и безопасно разворачивайте новые Windows-кубы
Qvm-Create-Windows-Qube — это инструмент для быстрой и удобной установки чистых новых Windows-кубов с автоматической установкой драйверов Qubes Windows Tools (QWT). Официально поддерживаются Windows 7, 8.1 и 10, а также Windows Server 2008 R2, 2012 R2, 2016 и 2019.
Проект уделяет особое внимание корректности, безопасности и отношению к Windows как к недоверенной гостевой операционной системе на протяжении всего процесса. Установка происходит полностью изолированно от сети (100% air gap) и включает опциональную интеграцию с Whonix на готовом Windows-кубе для дополнительной конфиденциальности. Ключевым является достижение этих целей минимально возможным количеством строк кода для обеспечения простоты и минимализма.
Также имеются другие полезные функции, такие как автоматическая установка пакетов, включая Firefox, Office 365, Notepad++, Visual Studio и других, с помощью Chocolatey, чтобы быстро начать работу в новой среде.
Как было представлено на: Hacker News | С гордостью занял место в топ-10 на главной странице Hacker News, а также первое место в рубрике Show HN
install.sh в Dom0, выполнив следующую команду в Dom0:
qvm-run -p --filter-escape-chars --no-color-output <имя_куба_где_находится_скрипт> "cat '/home/user/Downloads/install.sh'" > install.shinstall.sh, чтобы убедиться в его целостности
qvm-run отключает её по умолчанию при выводе в файлchmod +x install.sh && ./install.sh
fedora-XX/usr/bin/qvm-create-windows-qubeЧтобы обновить Qvm-Create-Windows-Qube, начните с удаления виртуальной машины windows-mgmt и основной программы, выполнив следующую команду в Dom0:
qvm-remove -f windows-mgmt && sudo rm /usr/bin/qvm-create-windows-qube
Затем следуйте шагам установки, приведённым выше, для повторной установки.
Обратите внимание, что это также удалит все уже загруженные ISO-образы Windows. Это может быть желательно, если Microsoft обновила ISO-образы Windows (в любом случае их следует перезагрузить). Однако, если вы хотите избежать повторной загрузки каких-либо ISO-образов Windows, просто перейдите в каталог /home/user/qvm-create-windows-qube/windows/isos в виртуальной машине windows-mgmt и скопируйте его содержимое в другую (предпочтительно disposable) куб. После завершения переустановки скопируйте эти ISO-образы обратно в windows-mgmt в упомянутый каталог.
Usage: qvm-create-windows-qube [options] -i -a -h, --help -c, --count Number of Windows qubes with given basename desired -t, --template Make this qube a TemplateVM instead of a StandaloneVM -n, --netvm NetVM for Windows to use -s, --seamless Enable seamless mode persistently across reboots -o, --optimize Optimize Windows by disabling unnecessary functionality for a qube -y, --spyless Configure Windows telemetry settings to respect privacy -w, --whonix Apply Whonix recommended settings for a Windows-Whonix-Workstation -p, --packages Comma-separated list of packages to pre-install (see available packages at: https://chocolatey.org/packages) -P, --pool LVM storage pool to install Windows on (https://www.qubes-os.org/doc/secondary-storage/) -i, --iso Windows media to automatically install and setup -a, --answer-file Settings for Windows installation
### Загрузка ISO-образов Windows
Mido (`mido.sh`) — это безопасный загрузчик Windows от Microsoft (для Unix), вдохновлённый [Fido](https://github.com/pbatard/Fido) из [Rufus](https://github.com/pbatard/rufus). Он способен автоматизировать процесс загрузки нескольких ISO-образов Windows, которые Microsoft прячет за [интерфейсом загрузки с ограничением доступа](https://www.microsoft.com/en-us/software-download/windows10ISO). Mido надёжен и безопасно загружает ISO-образы Windows с официальных серверов Microsoft для использования с Qvm-Create-Windows-Qube. Вы можете найти его по пути `/home/user/qvm-create-windows-qube/windows/isos/mido.sh` в `windows-mgmt`.
`windows-mgmt` изолирован от сети. Это означает, что для безопасной загрузки необходимо скопировать скрипт `mido.sh` в другой (изолированный) куб, затем перенести вновь загруженные ISO-образы в `windows-mgmt` и поместить их в каталог `/home/user/qvm-create-windows-qube/windows/isos`. Альтернативно, `windows-mgmt` можно временно предоставить доступ к сети, однако это не рекомендуется по соображениям безопасности.
После создания ISO-образы Windows кэшируются в `/home/user/qvm-create-windows-qube/windows/out` для последующего использования. Если вы загрузили обновлённый ISO с помощью Mido, обязательно удалите тот же ISO из указанного каталога кэша. Это приведёт к повторному созданию кэша из обновлённого ISO.
Для продвинутых читателей: Qvm-Create-Windows-Qube использует общий подход к работе с ISO-образами, который может работать с любым заданным ISO Windows. Если у вас есть собственный ISO Windows, который вы хотите использовать, скорее всего, потребуется лишь небольшая корректировка наиболее подходящего файла ответов (а именно ключа `/IMAGE/NAME`), чтобы он заработал. Вы можете получить допустимые значения `/IMAGE/NAME` для вашего ISO, проанализировав файл `install.wim` внутри с помощью команды `wiminfo` (поставляется как `wimlib-utils` в Fedora или `wimtools` в Debian) или из Windows с помощью Windows ADK.
### Создание виртуальной машины Windows
**Важно:** Обязательно прочитайте раздел [Известные проблемы Qubes Windows Tools](https://github.com/ElliotKillick/qvm-create-windows-qube#qubes-windows-tools-known-issues) ниже, чтобы узнать о небольшой проблеме upstream.
#### Windows 10
*[Видеодемонстрация](https://www.youtube.com/watch?v=cCi2MOUwS_Q)*
`qvm-create-windows-qube -n sys-firewall -oyp firefox,notepadplusplus,office365proplus -i win10x64.iso -a win10x64-pro.xml work-win10`
`qvm-create-windows-qube -n sys-firewall -oyp steam -i win10x64.iso -a win10x64-pro.xml game-console`
#### Windows Server 2019
`qvm-create-windows-qube -n sys-firewall -oy -i win2019-eval.iso -a win2019-datacenter-eval.xml fs-win2019`
#### Windows 10 Enterprise LTSC
- Более стабильная, минимизированная, безопасная и приватная версия Windows 10, официально предоставляемая Microsoft
- Эта версия Windows 10 рекомендуется тем, кому нужен наилучший уровень безопасности и конфиденциальности Windows
`qvm-create-windows-qube -n sys-firewall -oyp firefox,notepadplusplus,office365proplus -i win10x64-enterprise-ltsc-eval.iso -a win10x64-enterprise-ltsc-eval.xml work-win10`
`qvm-create-windows-qube -n sys-whonix -oyw -i win10x64-enterprise-ltsc-eval.iso -a win10x64-enterprise-ltsc-eval.xml anon-win10`
#### Windows 7
- Не рекомендуется, так как Windows 7 [больше не поддерживается](https://github.com/ElliotKillick/qvm-create-windows-qube#advisories) Microsoft, однако это единственная настольная ОС, которую поддерживает графический драйвер Qubes (в Qubes Windows Tools), если требуется бесшовная интеграция окон или динамическое изменение размера
*[Видеодемонстрация](https://www.youtube.com/watch?v=duUM1VLrXIQ)*
`qvm-create-windows-qube -n sys-firewall -soyp firefox,notepadplusplus,office365proplus -i win7x64-ultimate.iso -a win7x64-ultimate.xml work-win7`
## Безопасность
Qvm-Create-Windows-Qube является «достаточно безопасным» в понимании [Qubes](https://www.qubes-os.org).
- `windows-mgmt` изолирован от сети
- Весь процесс настройки куба Windows выполняется в изолированной среде
- Исключение: Если (и только если) настроена установка пакетов, то Windows будет предоставлен доступ к Интернету в самом конце установки куба Windows
- Целый класс уязвимостей внедрения команд устранён в сценарии Dom0, так как он не анализирует никакой вывод из ненадёжного куба `windows-mgmt`
- Через `qvm-run` передаются только коды возврата; никаких переменных
- Это также смягчает последствия другой уязвимости [Shellshock](https://en.wikipedia.org/wiki/Shellshock_(software_bug)) Bash
- Загрузка ISO-образов Windows защищена за счёт:
- ISO загружаются напрямую с поддоменов `microsoft.com`, контролируемых Microsoft
- HTTPS TLS 1.2/1.3
- Проверка SHA-256 файлов после загрузки
- Каждый файл сохраняется с расширением `.UNVERIFIED`, пока не будет подтверждено совпадение контрольной суммы
- Mido написан на POSIX sh (по возможности используется минимальная оболочка Dash), поэтому взаимодействие с веб-интерфейсом загрузки Microsoft с ограничениями более безопасно
- Для повышения безопасности его можно запускать даже в совместимой с POSIX оболочке на Rust (например, nsh) с coreutils на Rust (например, uutils). Это не является конфигурацией по умолчанию.
- Windows рассматривается как ненадёжная гостевая операционная система на всём протяжении
- Влияние любых теоретических уязвимостей при обработке ISO Windows (например, уязвимость в разборе файловой системы) или файла ответов ограничено кубом `windows-mgmt`
- Все коммиты от мейнтейнеров всегда подписаны их соответствующими PGP-ключами
- Если подписание прекратится, считайте, что произошла компрометация
- Текущий мейнтейнер 1: [Elliot Killick](https://github.com/ElliotKillick)
- PGP-ключ ([подключ для подписи кода](https://keys.openpgp.org/search?q=EEEE+6403+CE85+0791+ECB1+F820+7C4E+CB25+B6B1+C0DE)): EEEE 6403 CE85 0791 ECB1 F820 7C4E CB25 B6B1 C0DE
- Email: [[email protected]](https://keys.openpgp.org/search?q=contact%40elliotkillick.com)
- Этот ключ новый, начиная с 28 мая 2024 года
- Текущий мейнтейнер 2: [Frédéric Pierret](https://github.com/fepitre)
- PGP-ключ: 9FA6 4B92 F95E 706B F28E 2CA6 4840 10B5 CDC5 76E2
- Email: [[email protected]](https://keys.openpgp.org/search?q=frederic.pierret%40qubes-os.org)
- В основном занимается поддержкой Qubes R4.1
- См. ветку `release4.1` и [qubes-mgmt-salt-windows-mgmt](https://github.com/fepitre/qubes-mgmt-salt-windows-mgmt)
### Windows
#### Обслуживание
Не забудьте применить все доступные обновления после создания вашего куба Windows. Microsoft часто собирает актуальные ISO-образы для текущих версий Windows, таких как Windows 10. Для этих версий Windows рекомендуется периодически загружать последнюю версию с помощью Mido, чтобы получить свежий образ Windows «из коробки».
#### Предупреждения
Windows 7 и Windows Server 2008 R2 достигли окончания срока поддержки (EOL) [14 января 2020 года](https://support.microsoft.com/en-us/help/4057281/windows-7-support-will-end-on-january-14-2020).
## Конфиденциальность
Qvm-Create-Windows-Qube стремится быть самым приватным способом использования Windows. Многие пользователи Qubes перешли с Windows (или другой проприетарной ОС) отчасти для того, чтобы уйти от Microsoft (или Big Tech в целом), поэтому возможность использовать Windows на безопасном расстоянии имеет первостепенное значение для этого проекта. Или, по крайней мере, настолько безопасном расстоянии, насколько это возможно для по сути огромного проприетарного двоичного блоба.
### Телеметрия Windows
Настраивает параметры телеметрии Windows для соблюдения конфиденциальности.
- Отказ от участия в программе улучшения качества ПО (CEIP)
- Отключение отчётов об ошибках Windows (WER)
- Отключение службы DiagTrack
- Выключение всей телеметрии в приложении «Параметры» Windows 10
- Включение уровня телеметрии «[Безопасность](https://docs.microsoft.com/en-us/windows/privacy/configure-windows-diagnostic-data-in-your-organization#diagnostic-data-settings)» на совместимых редакциях Windows 10
- Дополнительную информацию см. в `spyless.bat`
### Рекомендации Whonix для Windows-Whonix-Workstation
Всё, что упомянуто [здесь](https://www.whonix.org/wiki/Other_Operating_Systems) до пункта «Ещё больше безопасности», реализовано. «Наибольшая безопасность» — использовать официальный Whonix-Workstation, собранный самостоятельно из исходников. Эта возможность не является официальной и не одобрена Whonix.
Рекомендуется прочитать [эту](https://www.whonix.org/wiki/Windows_Hosts) документацию Whonix, чтобы понять последствия использования Windows таким образом.
### Лёгкость сброса отпечатка
В каждой установке Windows присутствуют бесчисленные уникальные идентификаторы, такие как MachineGUID, идентификатор установки, серийные номера томов (VSN) NTFS и другие. С помощью Qvm-Create-Windows-Qube эти уникальные идентификаторы можно легко сбросить, автоматически переустановив Windows.
### Ограничения
Отпечатывание возможно через гипервизор в случае компрометации ВМ; вот несколько практических примеров (не специфичных для Windows):
- [Источник времени Xen в качестве настенных часов](https://phabricator.whonix.org/T389)
- Утечку часового пояса можно, по крайней мере, смягчить, настроив время UTC в BIOS/UEFI
- Местный часовой пояс всё ещё можно настроить для часов XFCE Dom0 и в нужных ВМ, выполняя `timedatectl set-timezone` при каждой загрузке, используя стандартный `/rw/config/rc.local`, предоставляемый Qubes
- Однако корреляция времени между ВМ остаётся тривиальной
- [CPUID](https://github.com/QubesOS/qubes-issues/issues/1142)
- В целом, некоторые интерфейсы ВМ, документированные [здесь](https://www.qubes-os.org/doc/vm-interface/) (например, размеры экрана)
## Часто задаваемые вопросы (FAQ)
### Нужна ли мне лицензия Windows для использования этого проекта?
Нет, с каждой установкой Windows поставляется встроенный пробный ключ продукта, который используется по умолчанию, если не указан другой. Qvm-Create-Windows-Qube явно не указывает ключ продукта в файлах ответов, чтобы использовать пробный ключ по умолчанию.
На общедоступных потребительских версиях Windows, таких как (не корпоративные) 7, 8.1 и 10, эти пробные версии действуют бесконечно, при условии, что может начать появляться водяной знак или всплывающее окно с запросом активации продукта.
В версиях Windows Enterprise Evaluation и Server Evaluation после истечения пробного периода машина будет автоматически (и без предупреждения) выключена по истечении заданного времени службой лицензирования Windows (`C:\Windows\System32\wlms\wlms.exe`; находится в скрытой папке). Когда это происходит, указанная причина выключения регистрируется в журнале событий. Чтобы продлить пробный период, выполните `slmgr /rearm` в командной строке. Это сработает определённое количество раз, указанное в `slmgr /dlv` (может варьироваться), после чего продукт необходимо активировать или переустановить.
Рекомендуется приобрести лицензию на продукт по истечении пробного периода во всех случаях.
Предоставление Windows доступа к Интернету не требуется для использования пробного ключа (так как он встроен в каждый ISO). Однако он необходим для активации Windows с вашим собственным ключом продукта (если только вы не активируете по телефону).
### Каково назначение AppVM `windows-mgmt`? Могу ли я удалить его после завершения установки Windows?
Назначение AppVM `windows-mgmt` — безопасно изолировать всё, что происходит в рамках установки Windows, в одну виртуальную машину. Таким образом, эксплуатация любых ошибок, существующих, например, в коде разбора файловой системы Linux ISO, ограничена в наносимом ущербе, если ISO Windows окажется вредоносным. Это принцип безопасности, на котором построена вся Qubes OS; он известен как «безопасность через изоляцию» или «безопасность через разделение на отдельные части».
Вы можете удалить `windows-mgmt`, если уверены, что больше не будете создавать ВМ Windows. Однако, если вам нужно только освободить место на диске, вы можете просто удалить ISO-образы, находящиеся в `/home/user/qvm-create-windows-qube/windows/isos` и `/home/user/qvm-create-windows-qube/windows/out` (в `windows-mgmt`), чтобы сэкономить большую часть этого пространства.
### Есть ли что-то ещё, что мне следует знать?
Не включайте «Include in memory balancing» (флажок) в настройках куба Windows. Эта функция Qubes OS в настоящее время нестабильна на Windows, и её включение приведёт к частым сбоям Windows (BSOD).
## Вклад в проект
Вы можете начать, поставив этому проекту звезду! Также приветствуются качественные PR! Взгляните на список дел ниже, если вы ищете то, что нуждается в улучшении. Другие улучшения, такие как более элегантные способы выполнения задач, очистка кода и другие исправления, также приветствуются.
Много интересных проектов, связанных с Windows, для [GSoC](https://www.qubes-os.org/gsoc/).
Логотип этого проекта создан Максом Андерсеном (Max Andersen), используется с письменного разрешения.
Этот проект является результатом независимых усилий и официально не одобрен Qubes OS.
## Известные проблемы Qubes Windows Tools
- Новый установщик QWT по умолчанию отключает создание приватных дисков
- Вероятно, это связано с проблемами стабильности?
- Невозможно создать TemplateVM
### Уведомление о более новых драйверах Xen (для старых ОС, таких как Windows 7)
В Qubes R4.1 Qubes Windows Tools поставляется с более новыми драйверами, которые лучше работают на новых версиях Windows, таких как Windows 10. К сожалению, также документально подтверждено, что эти новые драйверы хуже работают со старыми версиями Windows, такими как Windows 7. В идеале исправления должны быть объединены в один драйвер, но этого пока не произошло.
Windows 7 на данный момент является ОС с окончанием поддержки (EOL), поэтому это менее важно. Однако всё ещё есть некоторые обоснованные причины для использования (по крайней мере, изолированной) машины Windows 7 (например, для целей технического исследования/тестирования).
Члены сообщества документируют этот опыт (я также могу подтвердить это) на форуме Qubes OS и в нескольких issue Qubes OS на GitHub.
#### Обсуждения в списках рассылки
- [qubes-users](https://groups.google.com/forum/#!topic/qubes-users/AdQcjg7XOFo)
- [qubes-devel](https://groups.google.com/forum/#!topic/qubes-devel/aCCGpYysZTQ)
#### Issue Qubes OS на GitHub с тегом Windows
- [`C: windows-tools`](https://github.com/QubesOS/qubes-issues/labels/C%3A%20windows-tools)
- [`C: windows-vm`](https://github.com/QubesOS/qubes-issues/labels/C%3A%20windows-vm)
## Todo- [x] Получить возможность надежно распаковывать/вставлять файл ответов/перепаковывать для любого заданного ISO-файла, содержащего файловую систему UDF ([ISO 13346](https://en.wikipedia.org/wiki/Universal_Disk_Format), т.е. формат ISO от Windows)
- ISO-контейнеры по сути являются файловыми системами однократной записи; нельзя просто добавить файл, не создав целиком новый ISO
- Открытие официального ISO-файла Microsoft Windows в шестнадцатеричном редакторе явно показывает наличие файловой системы UDF и конкретно упоминает `ISO-13346` в начале
- Обратите внимание, что команда `file` может немного неправильно идентифицировать эти ISO-файлы как устаревший формат ISO 9660, но это, вероятно, только потому что «UDF использует тот же базовый дескриптор тома, что и ISO 9660»
- Таким же образом это делает VMWare, как видно из части «Creating Disk...» в видео ниже (дальнейшие исследования показывают, что они используют `mkisofs`)
- [ ] В будущем Qubes было бы лучше делать это [расширяя core admin для шаблонов libvirt XML](https://github.com/QubesOS/qubes-issues/issues/5085)
- Быстрее
- Экономит место, так как не нужно создавать новый ISO
- [x] auto-qwt использует D:\\, из-за чего QWT помещает профиль пользователя на E:\\; было бы лучше разместить его на D:\\, чтобы не было неудобного пробела посередине
- [x] Сделать так, чтобы файл ответов Windows автоматически использовал стандартный пробный ключ для установки Windows без жесткого прописывания ключей продукта где-либо (Windows здесь привередлива)
- [x] Поддержка Windows 8.1-10 (Примечание: QWT официально полностью поддерживает только Windows 7, однако всё работает, кроме драйвера GUI)
- [x] Поддержка Windows Server 2008 R2 – Windows Server 2019
- [x] Поддержка Windows 10 Enterprise LTSC (Long Term Support Channel)
- Предоставляет обновления безопасности на 10 лет, очень стабильно и меньше «жира», чем стандартная Windows 10
- [ ] Поддержка Windows 11
- Qvm-Create-Windows-Qube был создан независимым от версии Windows, единственная реальная работа здесь — создание файла ответов (вероятно, просто небольшая модификация файла для Windows 10) и добавление его в `mido.sh` (что теперь не будет проблемой, так как я расширил его функциональность для загрузки через закрытый API загрузки ISO от Microsoft)
- Настоящий вопрос: будут ли работать Qubes Windows Tools под Windows 11?
- У Microsoft отличный послужной список по обратной совместимости даже на уровне API ядра (потому что бизнес любит обратную совместимость), так что возможно всё работает отлично
- Требуется помощь, тестировщики приветствуются
- [x] Внедрение Chocolatey
- [x] Добавить опцию для уменьшения размера Windows согласно документации Qubes [здесь](https://www.qubes-os.org/doc/windows-template-customization/)
- [x] Сделать `windows-mgmt` изолированным от сети
- [x] Расширить функциональность `download-windows.sh` (теперь `mido.sh`) для загрузки ISO из-за закрытого API загрузки ISO от Microsoft
- [ ] Недавно я обнаружил, что это проект Qubes [Google Summer of Code](https://www.qubes-os.org/gsoc/)
- [x] Добавление автоматических тестов
- Использование Travis CI для автоматического ShellCheck
- [x] Таблицы ACPI для получения лицензии Windows, встроенной туда
- Найдено больше информации; должно быть очень просто — просто разместить следующее расширение шаблона jinja libvirt в `/etc/qubes/templates/libvirt/xen/by-name/<windows_qube>`
- Спасибо @jevank за [патч](https://github.com/QubesOS/qubes-issues/issues/5279#issuecomment-525947408)
- [ ] Перенос на Python
- Кажется, это будет излишним для таких скриптов, как `create-media.sh`, где скрипт Python будет просто вызывать внешние программы
- Однако это было бы уместно для программы `qvm-create-windows-qube`
- Это позволило бы обмениваться данными между Dom0 и виртуальной машиной без опасений по поводу возможной инъекции команд или другого Shellshock
- [ ] Автоматический выбор файла ответов на основе характеристик ISO Windows, полученных из команды `wiminfo` (сейчас в работе; см. ветку)
- `wiminfo` работает как DISM в Windows
- [ ] После того, как core admin будет расширен для поддержки шаблонов libvirt XML (файлов ответов), станет возможным (предыдущий пункт, это блокирующий вопрос) также безопасно читать характеристики install.wim из ISO без необходимости монтировать ISO как loop-устройство с помощью [`libguestfs`](https://libguestfs.org)
- Я также видел `libguestfs`, используемый на QEMU/KVM, так что это определённо хороший кандидат для этого варианта использования
- Обратите внимание, что `libguestfs` не может записать (файл ответов) в ISO, поэтому нет смысла использовать эту библиотеку до тех пор, пока нам не нужно будет создавать новый ISO для добавления файла ответов
- [x] Следовать [документации Whonix](https://www.whonix.org/wiki/Other_Operating_Systems) для создания Windows-Whonix-Workstation
- [ ] Добавить функциональность для `create-media.sh` для добавления MSU (автономные пакеты обновлений Microsoft) для установки во время прохода Windows PE (конкретно "Installing updates...") при установке Windows
- Мы могли бы исправить не работающую сейчас установку QWT для старых ISO Windows 7 SP1 и Windows Server 2008 (не R2) с помощью [KB4474419](https://github.com/QubesOS/qubes-issues/issues/3585#issuecomment-521280301), чтобы добавить поддержку подписи драйверов SHA-256
- Другой вариант — попросить Xen подписывать свои драйверы также SHA-1, что делают другие производители драйверов, но это не идеально с точки зрения безопасности
- Позволяет избавиться от хака `allow-drivers.vbs` путём исправления ошибки автоматической установки драйверов SHA-256 в новых версиях Windows 7 с KB2921916 (см. `allow-drivers.vbs` для деталей)
- Эта ошибка Windows была намеренно исправлена и снова сломана Microsoft, чтобы заставить предприятия обновляться до Windows 10
- Исправить несколько ошибок безопасности Windows?
- Исправить BlueKeep для Windows 7 из коробки
- Базовая ISO Windows Server 2008 R2 также уязвима к ETERNALBLUE и BlueKeep из коробки
- Вероятно, не стоит углубляться в это; пользователи должны просто обновлять виртуальную машину после её создания
- [ ] Безголовый режим
- Требуется помощь
- Какой механизм существует для этого в Qubes? Что-то в GUI-агенте/демоне Qubes?
- [ ] Упаковать этот проект для более удобной и безопасной доставки через `qubes-dom0-update`
- [ ] Добавить поддержку [ReactOS](https://reactos.org) как открытую альтернативу Windows
- Это было бы хорошо, по крайней мере, пока не будет создан [шаблон ReactOS](https://github.com/QubesOS/qubes-issues/issues/2809)
- Возможно, разработчики ReactOS захотят использовать это для разработки ReactOS
- Или просто добавить ReactOS как шаблон (вне этого проекта)
- Однако кто-то должен будет поддерживать этот шаблон
- Также может быть мало смысла, если драйверы QWT/Xen не работают
- По крайней мере, для базовых функций, таких как копирование/вставка и передача файлов
- Интерес с обеих сторон
- [Qubes OS](https://github.com/QubesOS/qubes-issues/issues/2809)
- [ReactOS](https://reactos.org/forum/viewtopic.php?p=126279#p126279)
- "одно из самых интересных предложений о сотрудничестве, которое мы получили на сегодняшний день"
- [Безмолвные установки ReactOS](https://reactos.org/wiki/Create_an_unattended_Installation_CD) отличаются от установок Windows
- [ ] Единственная блокирующая проблема, которую я нашёл, — это тип SCSI-контроллера QEMU
- Qubes может расширить core admin для поддержки настройки SCSI-контроллера в шаблоне libvirt
- Это решение кажется лучшим, так как согласно [этому](https://github.com/QubesOS/qubes-issues/issues/3651#issuecomment-420914348) комментарию оно также исправит множество других ОС, чьи установщики не поддерживают наш текущий SCSI-контроллер
- ReactOS может добавить поддержку нашего текущего типа SCSI-контроллера
- [Проблема ReactOS](https://reactos.org/forum/viewtopic.php?t=17529)
- [Проблема Qubes OS](https://github.com/QubesOS/qubes-issues/issues/3494)
- Предоставление другого SCSI-контроллера не расширяет поверхность атаки, так как QEMU работает в xen stub domain
- ReactOS находится в альфе, так что для большинства пользователей это, вероятно, пока нежизнеспособно
- Требуется помощь
- На данный момент временных рамок нет
## Конечная цель
Иметь функциональность, аналогичную (или превосходящую) [функции "Easy Install" от VMWare для Windows](https://www.youtube.com/watch?v=1OpDXlttmE0) в Qubes OS. Решение VMWare является проприетарным и доступно только в их платных продуктах.
В VirtualBox также есть [что-то похожее](https://blogs.oracle.com/scoter/oracle-vm-virtualbox-52:-unattended-guest-os-install), но оно не такое функционально богатое.