Windows support in Qubes

I tried qvm-create-windows-qube with R4.1 and QWT-cross and it works quite well.
At now it needs to allow file copying in deprecated policy file, so first we have to create it

dom0: sudo touch /etc/qubes-rpc/policy/qubes.Filecopy

Then all works as usual except QWT installation, which is need to be done manual in opened window. This is because of MSI package instead of exe file, but I think it will not be a problem to automate.

Second manual action is choosing target on Filecopy operation to copy files to windows qube at one of last stages.

@GWeck application launch from menu didn’t get any problem. Could you try this commands to recreate menu items with your case
qvm-appmenus --remove [windows-qube]
qvm-sync-appmenus [windows-qube]

If it not helps show output of manual starting application
qvm-run -p --service [windows-qube] qubes.StartApp+Accessories-Paint

UPDATED: I checked only win7x64-ultimate iso

Thank you for this thread, @gweck!

FWIW: In the recent surveys we’ve run, we’ve gotten MANY requests for Windows 10 support. I don’t think there’s anyone who does not want it, tbh.

Resourcing is the 100% issue. Short of a community contribution coming in that can be fully tested and fully resiliant and fully functional. Which is how this designer is trying to say “works!” but isn’t quite sure how to in this world I understand to be absudly complicated—but for good reasons.

Please do not let my assertions above, interfere with folks trying to crack this tough nut. Just wanted to chime-in that it IS a desired feature by many, and that the only reason the core team has not “prioritized it” (BIG air-quotes) is because it is but a toilet in the bathroom that is Qubes OS… and the core team is all 100% right now on keeping the water running and draining well.

5 Likes

Comparing Windows with a toilet is very apt !!!:slight_smile:

1 Like

Recreating the menu item via qvm-appmenus --remove and qvm-sync-appmenus did the trick: Now Windows 7 applications can be started from the XFCE menu, too.

By the way, I am using Windows 7 SP1 Professional, fully updated.

Good news!

The topic turned out more about QWT, so in order not to mix up I made a separate one for testing USB devices with Windows.

1 Like

To make long story short, did anyone manage to create a script for single-click win10 template deployment with modern QWT that would not require any manual trickery in the middle?

1 Like

Take a look to qvm-create-windows-qube project and my message about it with 4.1

In line 113, install.sh of that project is:

sudo qubes-dom0-update -y qubes-windows-tools

But that command doesn’t work for me. When I run that in a terminal of dom0, I get:

No match for argument qubes-windows-tools

I installed a new qubes os 4.1 beta1 directly from the iso, instead of upgrading from 4.0.

You can build it with instructions and copy to dom0 after that
qvm-run -p dispXXX -- cat /home/user/qubes-builder/qubes-packages-mirror-repo/dom0-fc32/rpm/qubes-windows-tools*.noarch.rpm > qubes-windows-tool.rpm

In qubes os 4.1, the disposable qubes are based on fedora 34, but the dom0 is based on fedora 32.

Should I create a disposable qube based on fedora 32 to setup the build environment for qubes-builder?

By the way, after reading the install.sh of the qvm-create-windows-qube project, I don’t think it builds the qubes-windows-tools package for dom0.

I tested it with fedora 33 disposable vm, but 34 might be ok too. Don’t forget to increase private storage

I built qubes-windows-tools in a standalone fedora 34 qube with the instruction at the repository.

The sha256sum is:

6cf317f99bd97c7af0e5a21b3f7a5f1fcf3779939211e711457486eabebe8139  qubes-windows-tools-4.1-65.noarch.rpm

Did anyone get the same sha256 sum?

I’m afraid this is not reproducible build

Can I use the qubes-windows-tools package from Qubes OS 4.0 in the dom0 of Qubes OS 4.1?

Erh. The last build was at 18-Jul-2018 15:18 for fedora 25:
https://ftp.qubes-os.org/repo/yum/r4.0/current/dom0/fc25/rpm/

After building the rpm and iso, I install the rpm to dom0. I also start the Windows 10 HVM (restored from the backup) with the iso and install the new Qubes windows tools.

But copy and paste doesn’t work.

I use the iso file at chroot-dom0-fc32/mock/fedora-32-x86_64/root/builddir/build/BUILD/qubes-windows-tools-4.1/qubes-windows-tools-4.1.65.iso in the qube for building QWT.

The command does not work because QWT is not yet packaged and available
for 4.1
You’ll need to comment out that line from the script.

The qubes-windows-tools package provides an iso image that can be
attached to the Windows qube at start up using qvm-start --install-windows-tools

The proposal here is to build an iso image yourself, and manually
transfer it in to dom0.
You can then use qvm-start --cdrom to start the Windows qube with the
iso attached.

Can you make a template this way? Also, it is Win7, so next step would require hacking ESU :-/ Also last time I checked qvm-create-windows-qube it required manual actions like “pause installation, fix private volume issues and continue”

Of course, no reason why you can’t have a Windows template.
If you don’t move the User directory from xvda, then your Windows
TemplateBasedVMs will be disposables. Neat.

I checked now this QWT version with the new Qubes R4.1 beta, and it behaves quite similar to the fully updated Qubes R4.1 alpha - not really surprising!

QWT works for both W7 and W10, and I can copy files to other VMs; so qrexec is working. Screen resolution is still restricted to the few values described above, and the start button of W7 is still missing if the VM is set to seamless mode.

For both W7 and W10, I could not start applications from the XFCE menu, and the trick with the re-creation and syncing of the appmenus did not work. Trying to start a command via qvm-run -p --service [windows-qube] qubes.StartApp+Accessories-Paint does not work either for W7 - this command just does not terminate, and it does not produce any output. For W10, the command starts the application.

For W10, qvm-features gui has to be set in order to make the window visible.

2 Likes