-
-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Qubes Windows Tools (QWT) on R4 #3585
Comments
Thanks for this as well. These 3 issues aside, have you had success installing QWT in a fresh Windows 7 VM on Qubes 4rc4? I've been able to install QWT, but after shutting down the VM after the successful install, the VM never boots again. It either crashes on the initial black Windows loading screen, or tries to fix the problem and tells me it can't fix the problem. (I've now experienced this twice.) The error I get is:
|
I remember having a lot of crashes when I was trying to install Windows, which is what led me to write the instructions here and in #3592. Windows will try to fix the install (always unsuccessfully) when it detects that the previous startup crashed (that's why cloning after each successful installation step is important - once you get a crash you have to begin from scratch).
|
I have had success installing the tools, thank you very much. Would you be so kind and inform me how I can disable the Qubes Network Setup and setup the network manually? I have tried setting the Windows 7 IP address to the one shown in Qubes manager and the DNS/gateway to sys-net, but that does not work. |
@github74829 From https://mail-archive.com/[email protected]/msg02800.html:
|
After a third attempt to carefully shepherd the Windows updates, I was able to get the VM into a stable state and install QWT, seemingly without problems. (I did need to set qrexec_timeout 300 as the wiki suggested.) @github74829: You can disable it in msconfig. (For reference: The relevant error I found earlier can be found in "Startup Repair" when Windows fails to boot, rather than a Qubes log.) |
I have renamed the .exe and did a restart but still no connectivity. |
@github74829 |
@dmoerner : happy to read it worked. Do I understand correctly that you fully updated Windows before installing QWT ? I didn't run windows update in my VM - it always takes forever and my VM is network isolated so I simply disabled the service, but it will be nice to know so that I can update the doc. Also FWIW I didn't have to change the qrexec_timeout - maybe because my PC wasn't under heavy I/O when the VM was started. @github74829 : I see a thumb up in the post above so I guess you managed to get networking up and running... DNS servers: I was wondering whether their IPs were random or hardcoded when I posted to the ML; I now see they are hardcoded in /usr/lib/python3.5/site-packages/qubes/vm/mix/net.py in class "NetVMMixin" / def dns(). I'll update the doc with the IPs. BTW this issue wasn't really meant to be a detailed guide like the instructions in #3495 but it looks like it would be helpful to people to have more detailed instructions. I'll try to update the doc tomorrow. |
@taradiddles Yes, I fully updated Windows before installing QWT. I find it doesn't take too long at all since they bundled SP2 into a single download. I find it helpful to increase qrexec_timeout because in case you happen to get a BSOD or a similar crash in the VM, chkdsk won't complete on restart before qrexec_timeout automatically halts the VM. That can really put the VM in a totally unrecoverable state, whereas with higher qrexec_timeout, chkdsk or the appropriate utility has plenty of time to fix the VM. |
@taradiddles Yes I did, thank you very much. |
@github74829 If your Windows Update appears to be in some sort of a broken state (determined by running Microsoft's diagnostic, here's a direct link: https://aka.ms/diag_wu), then follow this guide: https://support.microsoft.com/en-us/help/971058/how-do-i-reset-windows-update-components. Note that not all of the dll's will exist on Windows 7; that's fine. I don't think that QWT in itself is likely to cause any problems with updating. |
Thank you both for the feedback, I've updated the docs accordingly.
It doesn't seem to, but I found out that with QWT installed you don't see the "updates in process" (or whatever it's called) when the VM is being shutdowned. Large updates can take a while and you're left wondering what's happening (I killed the VM too hastily the first time and it broke Windows. The second time I didn't do anything and the VM stopped by itself after a few minutes; during that time |
I was also unable to get QWT installed if I unchecked the option to move user profiles. |
I'd like to chip in with my experience. Created a win7 x64 ultimate SP1 vm. Followed the instructions on this issue + doc/windows-vm. Doing the extend with 25g will net only 1.36gb of open space with 0 installations on the ultimate edition, so I increased it post installation. It'll really depend on the user, but I'd change it to at least 30GB as a conservative estimate. Everything worked perfectly, thanks! I did notice a difference compared to R3.2. I had the memory set at 2048 and a maxmem of 4096, which worked fine, but on R4.0 it'd consistently crash my 2 imported vms. I only thought it'd be a nice idea to try it after I erased them and started building the new one. This is already stressed on the tutorial, just a fyi. |
@hugoncosta : thanks for the feedback. I'll try to submit a PR to the win7 doc with more info about minimal volume sizes.
Unfortunately no, it's a community effort and nobody with visual studio experience has stepped in to help (IIRC at least one user tried to set up a build environment but it didn't work). I personally know nothing about building stuff on windows and don't have the time/will to learn it. Most of the issues seem pretty straightforward to fix though. |
hi @taradiddles thank you for compiling this helpful advice! Could you please add to " QWT Installation Check the rpm's signature... " something like the following? Please import the Qubes Release 3 Signing Key in the VM where you are confirming the rpm signature (otherwise you will get the error
It is also a good idea to check the key fingerprint as follows:
The correct fingerprint (I hope!) is |
Thanks, I've added your comment to the doc. Interestingly, IIRC |
Thank you @taradiddles. I followed your tutorial QWT installation and finally made it successful. But after installing QWT, there is issue about two windows being opened in one Windows-OS VM. One seems to be freezed at Windows boot logo screen when booting is almost finished and the other one just normally show desktop of Windows-OS. Although OS is working well including shutdown of VM, could this be problematic (except visual experience)? I didn't yet test about seamless mode. Do anybody know how to set seamless mode? I can't see it on qvm-prefs command in R4.0. |
That's likely because you didn't turn off the vm's debug property (run |
Oh! Thanks. I forgot to disable debug property. Now it works charm! BTW, I'm wondering that seamless mode is dead option in Qubes-R4. I've searched a lot but I couldn't see how to do. If it is dead in R4, I think it should also be contained in as new issue. |
@Polygonbugs the missing piece is a knob to switch it on/off. You can do it manually:
And to set it back to full desktop:
|
Pass -Q option to both stubdoman's gui daemon and actual VM's gui daemon. QubesOS/qubes-issues#3585
It’s secure in the sense that Microsoft would issue a bulletin if an unprivileged user could retrieve it, with the possible exception of the user whose password it is. That’s good enough for me, but I agree that it is a poor design. |
https://openqa.qubes-os.org/tests/37272 - some preliminary automated tests of QWT. It uses @ElliotKillick qvm-create-windows-qube for setup, and then test:
Adding more tests would be nice, but this already covers quite a lot of basics (like - whether the whole thing doesn't outright crash). |
This is only for Windows 10 and 11, right? Having a Windows 7 qube with any Internet connection at all is a bad idea. |
Whether that's a good or bad idea is irrelevant here. Network access from within Windows VM (or any other, for that matter) should work if user configures it as such. Side note: "working networking" does not necessary mean "internet access". |
Yeah like I said it has its own vulnerabilities, but an improvement over the alternative. These are the same people that added an option to purposely store passwords using reversible encryption somewhere around the Windows 2000 era as I recall. Whatever there justification was 15 or 20 years ago ago for whatever systems may have been around at the time. I'm pretty sure that it should be gone by now at least in Windows and AD.... If a damn application or service can't function without that enabled in AD I won't be recommending it. The option still existing on a domain controller or workstation waiting for someone to abuse it is a major issue. |
It works for W7, too. Connecting a Windows qube to the internet is risky, but some threats can be mitigated by restricting possible connections to selected, hopefully harmless, sites via sys-firewall. Or just restricting it to the local network. Anyhow, if a Windows AppVM is compromised, most attacks will be made uselss on restart of the qube. What is troubling me more, is that, especially for W10/11 with Office 365, periodic connection of the template to the Microsoft servers is necessary in order to reactivate the license. For that, I still have no solution. |
See lalso [WIP] Windows/QWT user reports]. My reports on W7 and W11 cover also W10, which behaves exactly like W11. |
Update on these points:
I have updated my user reports accordingly. |
I just created a new issue Provide information on integrating Windows into Qubes R4.1 #7381pointing to 2 pull requests for instructions about installing a Windows qube and installing QWT 4.1.67, as well as on migrating Windows VMs from Qubes R4.0 to R4.1. The instructions in these pull requests are just a first draft - any comments and improvements are highly welcome! |
I still have a Windows 7 Qube with internet connection. Note that 7 still gets security updates until Jan 2023 IF you get ESU. |
What is the current status? QWT is on testing for a few months now, when it can be moved to stable repo? |
This issue appears to be outdated and overly broad. |
This issue has been closed as "not applicable." Here are some common examples of cases in which issues are closed as not applicable:
We respect the time and effort you have taken to file this issue, and we understand that this outcome may be unsatisfying. Please accept our sincere apologies and know that we greatly value your participation and membership in the Qubes community. Regarding help and support requests, please note that this issue tracker (qubes-issues) is not intended to serve as a help desk or tech support center. Instead, we've set up other venues where you can ask for help and support, ask questions, and have discussions. By contrast, the issue tracker is more of a technical tool intended to support our developers in their work. We thank you for your understanding. If anyone reading this believes that this issue was closed in error or that the resolution of "not applicable" is not accurate, please leave a comment below saying so, and we will review this issue again. For more information, see How issues get closed. |
Also appears to be a duplicate of #1861. |
This issue has been closed as a "duplicate." This means that another issue exists that is very similar to or subsumes this one. If any useful information on this issue is not already present on the other issue, please add it in a comment on the other issue. Here are some common cases of duplicate issues:
By default, the newer issue will be closed in favor of the older issue. However, we make exceptions when we determine that it would be significantly more useful to keep the newer issue open instead of the older one. We respect the time and effort you have taken to file this issue, and we understand that this outcome may be unsatisfying. Please accept our sincere apologies and know that we greatly value your participation and membership in the Qubes community. If anyone reading this believes that this issue was closed in error or that the resolution of "duplicate" is not accurate, please leave a comment below saying so, and we will review this issue again. For more information, see How issues get closed. |
!! EDIT Feb. 2022 !!
!! THE CONTENT BELOW IS OUTDATED !!!
See Marek's comment (some issues remain); install with
Note however that upgrading from QWT3 often fails (see below), and installing QWT4 in clean windows HVMs doesn't work for some users. Clone your VM before attempting anything !
debug
to true andqrexec_timeout
to a large value (eg. 600) or the vm will be killed before you'll be able to complete the setup (it takes a bit of point&click).[The purpose of this issue is to gather user experience and document the installation of R3.2's QWT in Windows HVMs on R4, bugs found and workarounds until the tools are fixed (and hopefully have a new maintainer).]
Qubes OS version:
Qubes 4.0
Affected TemplateVMs:
Windows HVMs
Edits (2018)
rpm -K
for rpm sig check (seen such questions in qubes-users ML)QWT installation
Prerequisite: win7 x64 VM (see https://www.qubes-os.org/doc/windows-vm/).
Get the last QWT rpm here.
In order to check the rpm's signature you'll have to import Qubes Release 3 Signing Key in the VM where you are confirming the rpm signature. Get the key here .
Check the key fingerprint as follows:
Or alternatively,
And compare with the key's well-known fingerprint, which should be
C522 61BE 0A82 3221 D94C A1D1 CB11 CA1D 03FA 5082
Import the key to the VM's rpm keyring:
You can now check the rpm's signature (more info on rpm signatures here):
You should get
qubes-windows-tools-3.2.2-3.x86_64.rpm: digests signatures OK
. If not, check that the rpm is properly downloaded, that the signing key is imported, ...Extract the iso from the rpm:
rpm2cpio qubes-windows-tools-3.2.2-3.x86_64.rpm | cpio -idmv
And start the VM (assuming the iso is in the 'untrusted' VM):
qvm-start --cdrom=untrusted:/home/user/qubes-windows-tools.iso win7new
From the QWT install guide:
bcdedit /set testsigning on
netplwiz
/ uncheck 'Users must enter a user name and password...'Note about Windows Update:
Note about QWT's 'move user profiles' options: @AJolly reports that QWT wouldn't install with the option disabled.
Issue 1 - Networking isn't set up properly
The PV adapter's status is stuck at "Identifying"; pinging an ip works but pinging a host fails, indicating a problem with DNS resolution. A tcpdump on sys-firewall indeed shows that DNS requests are sent to the gateway's ip and are rejected. The reason is that in R4 VMs are now using the exposed "/qubes-{primary,secondary}-dns" values, while R3.2's Windows Tools still use /qubes-gateway (whose IP in R4 is different from /qubes-primary-dns).
Workaround: disable the "Qubes Network Setup" service (with gui/
msconfig
, orsc config "QubesNetworkSetup" start= disabled
in a command prompt) and configure the network manually.Settings:
qvm-prefs vmname visible_ip
in dom0. Caveat: a cloned/restored/... VM will likely have its IP changed so you'll have to remember to update your network settings.qvm-prefs vmname visible_gateway
in dom0Issue 2 - Copy/Move functions
If the username you log on with in Windows is different than
qvm-prefs vnname default_user
(usually 'user'), then the 'QubesIncoming' folder is located inC:\Windows\System32\config\systemprofile\Documents\QubesIncoming\
(and launching .exe's directly from this folder sometimes fail, in which case one has to copy the .exe somewhere else (eg. on the desktop) and run it from the new location). Fix it withqvm-prefs vnname default_user winusername
wherewinusername
is the username you log on with in windows.In R4 the qvm-{copy,move} operations don't require the destination VM as argument: the destination VM is later typed by the user in a dom0 popup gui. When using R3.2 tools in R4 and copying/moving a file from/to a Windows VM, the user will be presented with a "destination VM" popup menu twice - once in the windows VM and once in dom0 (it is OK to leave the VM field blank in windows though).
Issue 3 - inter VM copy/paste doesn't work
Workaround: copy text in files and copy/move them accross VMs.
Issue 4 - creating Windows AppVMs based on a Windows TemplateVM
Problem: the private disk is present in the AppVM but QWT doesn't initialize it if it's empty (format + relocate user profiles). As a result user profiles aren't found at startup and the AppVM is stuck at "Preparing your desktop" for a 2-3 minutes until it timeouts. The vm is then barely usable because of the lack of user profiles.
Workaround (work in progress): copy the private disk of the TemplateVM to the AppVM - see this ML thread
Problem 2: Qubes doesn't copy a template VM's prefs when creating a VM so the new VM's prefs will be the "default" ones and won't be set properly for windows ; eg.
Solution: set the preferences to match those of the templateVM.
Fixing QWT
See this message from Marek.
https://github.com/QubesOS/qubes-core-agent-windows/blob/master/src/network-setup/qubes-network-setup.c)
The text was updated successfully, but these errors were encountered: