Total HDD Space Required?

Hi! Before i get started i just wanted to say all replies positive or negative are greatly appreciated, Thank you so much. I wanted to test out Qubes OS on my Thinkpad T530 which sounds easy enough. But my problem is i want to test and experiment with all the extra templates you can choose to install during the Qubes OS installation process. I can’t actually get to the screen to select these extra templates to see how much space it would be in total unless i choose to wipe my entire HDD (which already has a OS installed on it) Does anyone know how much it would be total to install Qubes OS + all the extra Templates? As stated above all replies are GREATLY appreciated, Thank you so much.



The extra templates and VMs don’t consume much drive space. There are only 4 or 5 different templates and you can set the amount of disk usage for each VM. How big is your drive?

I reinstalled Qubes 4.1RC2 couple days ago. I don’t remember the exact amount of space what it was at the moment of install, but I can give you my current situation:

debian-11 (upgraded and with only a few things installed) : 4441MiB
debian-11-minimal (upgraded + prepared for sys-net): 1200MiB
fedora-34 (upgraded) : 5065MiB
fedora-34-minimal (upgraded): 2232MiB
whonix-gw-16 (upgraded): 2441MiB
whonix-ws-16 (upgraded + some stuff installed): 3383MiB

Btw… with all debian templates I always upgrade them with: sudo aptitude update && sudo aptitude -y upgrade && sudo aptitude clean (so my /var/cache/apt/archive is empty, to save disk space)
I know this is not exactly what you ask for… but it gives you ‘some’ idea.
When installing Qubes… you don’t have to install all templates… you can choose which one you want. You can even install only one just to see part of the experience.

Oh… btw… dom0 is a 20G thin LV of which my dom0 currently uses 20.17% (so that’s about 4Gb) (dom0 lives in a thin LV, which lives in a separate 20Gb thin pool)
Oh… and I have a 4Gb swap LV.

My advice would be to make the LV pools before booting the install USB and choose to set up the installation media manually using blivet-gui. (do you want encryption? LVM over LUKS?)
Have a separate /boot partition somewhere (can be an external USB).
If you only want to test it out… install everything Qubes related in just one thin pool.
If you are looking for a long-term solution, I would follow the qubes structure if I was you (which is [swap] + [20Gb thin pool (root-pool) with [20Gb thin LV for dom0]] + [rest of space for second thin pool (vm-pool) where templates and AppVM’s live])

I’m not an expert, so take other, more advanced user’s advice above mine!

Make sure to have a liveUSB of your favorite linux handy in case grub2 get’s messed up.

1 Like

Actually, apt update is not recommended. it’s more secure to use “update” from the Qubes Manager GUI or to initiate the equivalent in dom0 using qubesctl to gain the advantage of the Salt management engine.

Example dom0 commands might include:

To update all template VMs:

sudo qubesctl --show-output --skip-dom0 --templates state.sls update.qubes-vm

To update specific template VMs (use the targets option with a comma separated list):

sudo qubesctl --show-output --skip-dom0 --targets=debian-11,fedora-34 state.sls update.qubes-vm
1 Like

i don’t understand

HDD usage hm… I wonder for my self too, recently i installed Qubes-OS for my son laptop, actually he don’t use it much :expressionless: he often use his gaming laptop a lot with 0 privacy consideration geez i even can see or shutdown his gaming laptop from here what a totally reckless young man, sorry for an old man blabbering on the dom0 taskbar vm-pool data used 334.6 GiB but… when i total disk usage taken from “Qube Manager” it’s 179.213708 gigabytes
I wonder why there is huge gap ? is there any way to monitor these disk usage ? well it’s not so important anyway since we can just exchange the old ssd with bigger one

(80 240.64 MiB) + (59 556.86 MiB) + (10 332.16 MiB) + (5 283.43 MiB) + (4 961.08 MiB) + (3 393.08 MiB) + (2 343.94 MiB) + (2 274.92 MiB) + (1 080.12 MiB) + (479.03 MiB) + (356.97 MiB) + (138.24 MiB) + (134.14 MiB) + (122.06 MiB) + (116.74 MiB) + (98.1 MiB) =
179.213708 gigabytes

What would be a minimal Qubes install size? Like just xen + dom0 + maybe tools to set up other VMs? Or are there any other VMs ultimately required like for USB or GUI?

The short answer: A 64 GB drive should be considered the minimum in this case.
The System requirements | Qubes OS specifies 32 GB as the “minimum” storage requirements and 128+ GB as recommended (with an SSD being strongly recommended). Personally, I have found that, with Qubes OS R4.0.4, that 32 GB is not enough to install all of the default templates, so I would say 64 GB should be considered the bare minimum. I would strongly recommend at least a 128 GB SSD though.

I have a 500 GB HDD which is why i’m asking, I recall in my installations really early on me needing like 3 TB or something crazy just for all the extra Templates. I think the max my laptop can upgrade to is a 1TB HDD

Whoa! It won’t take anywhere near that much disk space… not even close. You’re good to go. Just be sure to use “auto” encrypted disk formatting when installing Qubes and select all available partitions. Let the installer set everything up.

I’m still learning to optimize my setup, so I have an absurd number of templates. I have a unique template for each major application/VM type I create. I chose the max number of templates (all Debian based defaults) and VMs to be created during the OS install. (I also opted for disposable network VMs… highly recommended). After Qubes was installed, I immediately cloned all of the templates before connecting to a network and named them “Debian-11-original”, “whonix-16-original”, etc. They remain unchanged in case something goes wrong with the modified templates. Then I update the main distro templates, clone and rename them. ex. “Debian-11-vpn”, “Debian-11-msg”, “Debian-11-data”, etc. and finally I install a single major app in each of the cloned templates and create new VMs based on them. That way, I have a unique VM/template pair for browsing, messaging, office work, archiving, cloud storage, etc. I now have over 20 standard templates and a half dozen disposable templates and increased the drive space in “vault” and a few other VMs. Currently I am only using less than 10% of my 1TB disk…

1 Like


[Bad joke] But… I’m on a ‘salt-free’ diet! [/Bad joke]

Oh my… are my templates now compromised? Should I start over?

If “apt update” is not recommended due to missing Salt management engine… how about “apt install stuff”? Should we do that from dom0 too?

No need to stand under me… we are all equals here on earth!

What I meant was: I interpret torisronex001 as if he/she wants a dual-boot setup ‘just as a test’ (to see if he/she likes it, so not as an every-day-use machine)
Since it’s dual-boot… he/she can’t use the standard ‘let Qubes choose the disk-usage’ and he/she has to set it up manually.
Partitions and LV’s can become very complicated, so my thinking goes… put everything Qubes-related into one specific LV, (during the try-out phase), so in case he/she doesn’t like it, he/she simply deletes the LV that contains all Qubes-stuff. Then the only thing left to do is upgrade /boot with grub2.
Not sure what part of what I said confused you. blivet-gui is one of the ways that pops up in the installer (partition disk automatically, manually (something else) and manually (blivet-gui))
And with LVM over LUKS I mean: if torisronex001 just wants to test qubes then he/she might not want to bother with encryption… however, if he/she does then here’s some more info: LVM over LUKS

Not sure, but it may be due to snapshots. Let’s just say you have an LV of 10Gb, which qubes snapshotted (if thats a word). As with snapshots you have 2 (or more) LV’s, so 10Gb for the orriginal LV (which is frozen into a snapshot), and a 10Gb LV that keeps the changes for the snapshot. So, your disk thinks only 10Gb (or, even less if the LV is a thin LV) is used, while the vm-pool indicates 20Gb is used.

Btw… @torisronex001 if you’re going for a dual-boot… you got a backup of your hdd… right? :wink:

oh wow… a full template for everything! If you got enough disk space… why not. But… why not use snapshots?
Not sure how to do it (yet), as I’m learning myself but I don’t see why it wouldn’t be possible to snapshot your “Debian-11-original”, then update it, take a new snapshot, then install one major app, take a snapshot. Then go back to the updated one, install another major app, take snapshot… etc, etc.

I should follow my own advice and start over :-p
But them… “updating” using dom0 will be complicated… “no dom0! you may not update Debian-11-original!, you may only update Debian-11-updated… and once that’s finished… only then you are allowed to update Debian-11-major_app1, and Debian-11-major_app2, etc, etc,…”
Feels like that needs to be put into a script :-s

1 Like

I wouldn’t say that your templates are compromised. It’s just more secure to use salted updates. Depending on your threat model and concerns, you could gradually replace existing templates with new ones and adopt the more secure method of updating.

Out of the box, Qubes is set up to update all templates with the Salt management engine via dom0. Other packages and apps are done with the usual dnf/apt approach within the templates. There might be a way to expand salt capabilities but I don’t know how.

1 Like