> ⚠️ Please note This is a work in progress guide (WIP) created to crowdsource user experience about using Windows in Qubes, optionally with Qubes Windows Tools ("QWT"), following up on this github issue.

Please contribute too ! It's easy: edit this wiki page (the edit/'pen' icon at the bottom of the post), copy the content of the user report template at the end of this post and paste it in the relevant "Contributed user reports" Windows sections. Even is someone has already added a report with the same version of Windows (and optionally QWT) it's perfectly fine to add another report as your use case (/features you use) might differ.

General resources

Migrating Windows qubes created under Qubes R4.0 to R4.1

See this issue. (tl;dr; feasible but not straightforward).

Obtaining Windows

Windows ISOs can be downloaded directly from Microsoft (eg. here for Win10).

Unofficial "debloated" ISOs from projects like reviOS or ameliorated can be found on the net, although obviously you should consider them even "unsafer" than MS provided ISOs. Alternatively, one could download an official ISO and run scripts/apply patches before installation. Some of the "tweaks" might end up being too much depending on the qube's planned usage though (eg. no appx functionality in ameliorated windows - so the installation of Windows Store apps is impossible, even with powershell).

Installing Windows

Simple Windows install (gui based): follow the steps under "Installation procedure" in this community guide (TODO: the guide should be updated, the "works"/"doesn't work" sections are outdated because QWT now works on R4.x).

Alternatively, on R4.0 you may use @elliotkillick's qvm-create-windows-qube scripts. R4.1 support is unknown (see this issue).

Don't forget to qvm-clone your qubes from times to times. Windows being Windows, it's easy to do something that renders your windows qube unusable (eg. BSOD, boot loop, ...).

Known issues: - Recent versions of Windows won't show the cdrom drive after starting the qube with qvm-start vm --cdrom ... (or using the gui). The solution is to disable hibernation in Windows with powercfg -H off (that command is included in QWT's setup but it's necessary to run it manually in order to be able to open QWT's setup iso/cdrom in Windows).

Qubes Windows Tools (QWT)

QWT works on Qubes OS R4.x thanks to the great work of @jevank et al. QWT's main features are:

Changelog/commits are here.

Compiled rpm/iso are available here (until QWT eventually makes its way as an official Qubes package). Alternatively building QWT is easy and doesn't take much time - just follow those instructions.

In order to install QWT we need to be able to access the setup .exe in the windows qube. This is usually done by attaching the QWT iso to the qube but alternatively you could download the .exe from the network (web site, remote network share, or even inter-vm-networking); the latter is outside the scope of this wiki though, as attaching the iso is a lot simpler:

Again, don't forget to qvm-clone your qube before you install QWT in case something goes south.

Setup/usage notes:

qvm-features [windows-qube] stubdom-qrexec 1

qvm-features [windows-qube] audio-model ich6

Note: some content in QWT's community documentation is outdated as the documentation hasn't been updated yet to reflect the newer R4.1 release and QWT's current development/features (contributors welcome).

Post-install best practices

Optimize resources for use in virtual machine as "vanilla" version of Windows are bloated; eg:

Contributed user reports

Windows 7

[details="R4.1 / Windows 7 Pro SP1 updated until Oct 2020 / QWT 4.1.67 of 2022-02-14"]

@GWeck; date: 23 Feb 2022

Windows: - installed from scratch as template VM - build/iso: Windows7ProfSP1.iso of 2016-05-28, downloaded from Microsoft - updated using WinFuture Patch kit "WinFuture_7SP1_x64_UpdatePack_2.107_Januar_2020-Vollversion.exe" and manual updates after that - ram used when installing: 4GB - ram usage after install: 4GB - disk space usage after install: 27GB

QWT: - first installation - installed just after completing the update horror to get the system current - features selected during installation: - Base Xen PV drivers - no Network and no Disk drivers - Move User Profiles - features that were tested to work: - build / use AppVM based on that template - seamless mode (dynamic via Que Manager and static via registry) - copy/paste between qubes - copy files between qubes - networking (for AppVM based on that template) - time/clock synchronization using qvm-features VMname timezone localtime - features that don't work: - setting decent screen resolution for non-seamless mode - user migration from c: to the qubes' private volume (has to be done manually) - attaching devices to the qube (attached block devices don't show up)

Summary / notes: can be reasonably used in seamless mode; access to functions via XFCE menu or by hitting Windows keyboard key in a VM's window and thus displaying the Windows menu

[/details]

Windows 10

[details="R4.1 / Windows 21H2 / QWT 4.1.67 - Feb. 2022"] @taradiddles; date: 20 Feb 2022

Windows: - installed from scratch - build/iso: 21H2, downloaded from Microsoft - ram used when installing: 4GB - ram usage after install: 1.1GB - disk space usage after install: 12GB

QWT: - first installation - installed just after windows' first boot - features selected during installation: Xen PV drivers - features that were tested to work: - copy/paste between qubes - copy files between qubes - attaching usb devices to the qube - networking - time/clock synchronization - XEN PV disk driver - XEN PV network driver - features that don't work: - user migration from c: to the qubes' private volume

Summary / notes: "vanilla" windows really feels sluggish, it then takes a lot of time and patience to remove bloatware and optimize the vm to make it usable.

[/details]

[details="R4.1 / Windows AME 21H1 / QWT 4.1.67 - Feb. 2022)"] @taradiddles / 12 Feb 2022

Windows: - installed from scratch - build/iso: ameliorated 21H1 (downloaded ISO). - disk space required by the installer: min is 16GB, I've set it to 20GB - ram usage after install: <1GB - windows update status: disabled

QWT: - first installation - installed just after windows' first boot (windows AME has windows update disabled anyway). - features selected during installation: Xen PV drivers - features that were tested to work: - copy/paste between qubes - copy files between qubes - attaching block devices to the qube (no 'eject' functionality) - attaching usb devices to the qube - networking - time/clock synchronization - XEN PV drivers - features that don't work: - user migration: the profile on c: wasn't migrated (again, maybe because of AME tweaks).

Summary: windows AME is really snappy and works well so far but it lacks features like appx (windows store) that could make it a no-go for some. [/details]

Windows 11

[details="R4.1 / Windows 11 Pro 21H2 / QWT 4.1.67 of 2022-02-14"] @GWeck; date: 23 Feb 2022

Windows: - installed from scratch as template VM, using TPM-disable patch during installation - build/iso: 21H2, downloaded from Microsoft - ram used when installing: 4GB - ram usage after install: 4GB - disk space usage after install: 15GB

QWT: - first installation - features selected during installation: - Base Xen PV drivers - no Network and no Disk drivers - Move User Profiles - features that were tested to work: - build / use AppVM based on that template - setting decent screen resolution for non-seamless mode - copy/paste between qubes - copy files between qubes - audio output (somewhat scratchy) - user migration from c: to the qubes' private volume Q: - networking (for AppVM based on that template) - time/clock synchronization using qvm-features VMname timezone localtime - features that don't work: - seamless mode - attaching devices to the qube (attached block devices don't show up)

Summary / notes: rather slow, as well on booting and shutdown as on using; installation requires disabling the check for TPM 2.0, using the trick described in Windows 11 in Qubes - using Windows 11 is a good motivation for migrating to Linux :-)

[/details]

User report template

The template below is meant to be improved ! It isn't exhaustive by any means and most of the fields aren't mandatory.

More detailed notes about a given Windows/QWT combination (eg. very detailed installation instructions, workarounds, hints/tips, user workflow, ...) should be posted to a separate post with a "Guide" tag and linked to this wiki page in the user report: that way the post's author is free to use whatever layout and amount of information he/she sees fit, and this keeps relevant questions/answers threads contained in a post rather than in the more "generic" comments here. That said it's OK to add a bit more "free text" to the template when contributing a report to avoid having to create a dedicated post with only a few lines.

(In case you want to change the template's text itself, please discuss any major changes in this post's comments).

> ⚠️ Copy the text in the text area below including the [details=...] and [/details] tags

[details="R4.x / Windows XXX / QWT XXX"]
@userxyz ; date: xx month year

Windows
- installed from scratch, or migrated from an older Qubes OS release ?
- build/iso [eg. '21H1', 'ameliorated 20H1', ...]
- disk space required by the installer [if known]
- ram used when installing [doesn't mean it is the required amount]
- ram usage after install [if known]
- disk space usage after install [if known]
- if display resolution was changed, does it work ?
- if audio was tested, does it work ?
- problems running the VM ?

QWT [optional]
- first installation or migration/re-installation over an older version ?
- installed just after windows' first boot, or after a full windows update ?
- features selected during installation if not the default choice [eg. Xen PV drivers].
- features removed during installation if not the default choice [eg. UAC].
- features that were tested to work [delete line that aren't relevant/not tested]:
  - copy/paste between qubes
  - copy files between qubes
  - attaching *block* devices to the qube [with widget under "Data (Block) devices" or with `qvm-block`]
  - attaching *usb* devices to the qube [with widget under "USB devices" or with `qvm-usb`]
  - attaching audio input devices to the qube [with widget under "Audio Input"]
  - networking
  - time/clock synchronization
  - XEN PV disk driver
  - XEN PV network driver
  - user migration from `c:` to the qubes' private volume to be able use the qubes as a TemplateVM).
- features that don't work [possibly with workarounds]: ...

Summary / notes [if any]:

Link to a specific post [if any - it could contain detailed instructions, known issues, workarounds, hints/tips, description of the author's workflow, productivity tips, ...]

[/details]