Table of Contents:
Alternative title: The continuing inexorable march towards freedom: the blessed promise of being Windows-free.
Continuing the Windows vs Linux themes, focussing on migrating away from big tech.
Way back in July 2024, I started a series of posts where I got to thinking about replacing a lifetime of using Microsoft Windows products and migrating over to something smaller, less monopoly-orientated tech. Like Linux, for example.
I wrote six blog posts on the subject in between July 2024 and February 2026, where I played around with various flavours of Linux (Ubuntu mainly) desktops. The culmination of those six posts saw me parking the Ubuntu migration for a bit and returning to Windows 11, only to revisit Linux again, with Arch Linux and KDE Plasma desktops.
At the end of the last post on the matter I mentioned a change of direction towards CachyOS.
A bit like Star Trek: an ongoing mission
That’s what it feels like to me: an ongoing mission to find something that will satisfactorily replace Windows 11. And (spoiler alert), dear reader; I may have been successful!
So far, I’ve tried Ubuntu, Fedora and Arch Linux. I’ve tried Gnome, KDE Plasma and I’ve dallied with bespoke O/S installations such as Endeavour, Manjaro, CachyOS, Zorin and Anduino.
But first, this:
Compromises
I’ve used Microsoft Windows (along with Microsoft Office), in its various different flavours and versions, since the 1990’s. Over the course of that 25 or so years, Windows, or Office hasn’t really changed all that much. It’s still Word and Excel, you still have to do Windows Updates whatever flavour of Windows it is. You can’t help but to be lured into the cage of complacency: Excel has done the same thing for over 25 years, albeit with updates along the way. The general look and feel, the main functionality of it hasn’t really changed much.
Then there’s OneDrive (or SkyDrive as it used to be known – personally I think Microsoft should have kept that name, it sounds so much better and exotic). Despite it’s quirks and foibles, it does integrate seamlessly with the Office suites and Windows. It used to work very well for me, I hasten to add. At least as long as you didn’t ask too much of it.
MS Office
I realised quite early on in my quest to move away from Microsoft that some compromises would have to be made. Compromises and in places, sacrifices. Some are reasonably easy compromises: LibreOffice – although I hated the look of it to start with – has grown on me. It is (obviously) not Microsoft Office. But it is quite close. The LibreOffice developers have obviously put some thought and effort into the look and feel, along with the functionality of their programs to make it close enough to the MS Office equivalents that even staid old curmudgeons like me would be able to intuitively figure out what has to be done to perform the tasks that er… need to be done.
Once you get know the bits and pieces of the LibreOffice suite, it turns out to be no big compromise to walk away from MS Office.
OneDrive
OneDrive is a different story. Cloud storage in itself is no big deal: there are many (and varied) suppliers of cloud storage around for many (and varied) amounts of money. The compromise here is the integration that OneDrive has with the Office suites and Windows itself. As yet, I’ve failed to discover a cloud based system (that meets my exacting security standards) that will provide any sort of native integration, let alone full integration with programs or operating systems.
Whilst I was still using Windows 11, I managed to migrate away from OneDrive completely and use Proton Drive. I’d bought a Proton mail account a few months before and had been slowly migrating my email away from outlook.com to Proton. Included in the Proton account was Proton Drive – which has a Windows desktop client, similar to OneDrive. I say similar to OneDrive, it kind of is – but without the O/S or Office integration. It’s no big task however, to redirect your default Office locations to your chosen Proton Drive location, and to redirect your document folders, so that was also not a huge compromise.
Linux is a different story. There is no desktop client for Proton Drive (yet – it is a highly requested feature that is apparently on the way from Proton) so any file manipulation has to be manual. There are a couple of third-party (i.e. not official Proton) products that purport to work with Linux and Proton Drive, however I’ve found that they don’t really work that well (for me) in the long term. I’ve opted not to use them and to manually manage my Proton Drive files and folders. Document folder redirection is basically the same as Windows, (a symlink in Linux) so that’s not a problem.
At the moment, this is the biggest compromise and change I’ve had to make. I’ve written a script that tells me what’s changed in my Proton Drive set of folders on my local Linux PC every day, I run that to check that I’ve manually uploaded the changed files to Proton Drive. It’s a bit of a faff, but I don’t change all that many files on a daily basis, so at the moment it’s manageable and it’s a compromise that I’m willing to endure until Proton release the official desktop client for Linux.
Everything else
Pretty much everything else that I used on Windows 11 has either got a Linux version of the program, or there exists a different program to do the same thing. If there aren’t any Linux equivalents – e.g. (oddly) some Synology programs do not have Linux equivalent versions – there are suitable workarounds that make them function.
There is one notable exception – which I’ll cover a bit later on – and that exception is a web browser.
CachyOS
I mentioned in the last post about such Linux matters that I’d fixed my main PC, I’d installed a new NVIDIA graphics card in it and I was doing a basic “automatic” install of CachyOS.
Which did happen: the bootloader was configured to be systemd-boot, the root partition as LUKS2 (encrypted). CachyOS was configured to work with secureboot (in the BIOS) and TPM2 configured to unlock the LUKS container on boot. So essentially, the security bits match Windows 11, with secureboot and automatic disk decryption. I kept it as a dual boot system – at least for the time being.
The CachyOS install
The whole point of testing with the NUCBox G3 was to ensure I had the process for installing the “operating system of choice” on my main PC without wasting any unnecessary time faffing around.
I’d test installed CachyOS and Arch a few times, playing with the two configurations of ESP partition: either a) extend the existing 200Mb Windows generated partition to accommodate the extra Linux ones, or b) use a separate XBOOTLDR partition to hold the Linux boot configuration files and have pointers to it in the Windows ESP partition.
Prior to deciding on CachyOS as the current operating system of choice, I’d been experimenting with UKI Kernels.
A unified kernel image (UKI) is a single executable which can be booted directly from UEFI firmware, or automatically sourced by boot loaders with little or no configuration. It is the combination of a UEFI boot stub program like systemd-stub, a Linux kernel image, an initramfs, and further resources in a single UEFI PE file.
Which means that it's just one file that is used to boot the O/S, instead of a set of files.
And now for something different: The ESP
A quick diversion, just to clarify what an ESP partition is: the EFI system partition (also called ESP) is an OS independent partition that acts as the storage place for the UEFI boot loaders, applications and drivers to be launched by the UEFI firmware. It is mandatory for UEFI boot. Since modern PC’s now almost all use UEFI boot, this is important for our CachyOS install.
When Windows (or any other operating system, for that matter) is installed and the PC BIOS is set to use UEFI, then the EFI system partition (ESP) is automatically created. Sometimes, there will be an option to specify the size of it, sometimes not. For my first install of Windows 11, I was not presented with the opportunity to size it, so the new system default size of 200Mb was used.
For Windows, that’s more than enough space to hold the boot files, to initiate the startup sequence for Windows 11. If, however, there is a need to dual (or triple-boot) operating systems, the common factor between all of them is that there has to be some boot files held in that ESP partition. The boot files for different operating systems will vary in size, but they will, nonetheless, have to be stored in that ESP partition. If that partition is not big enough to contain them, then the installation of the dual boot will fail.
There are two options in Linux to get around the small ESP partition size. Either increase the size of it (using a proprietary partition manager), or configure an extra partition called an XBOOTLDR partition.
Expanding the partition size means that it can be made big enough to contain all of the boot files for dual (or triple) boots without issue, but this alone contains its own risks. Depending on the partition manager used, it means that live data will need to be resized and moved first, prior to make room for the expanded ESP partition on the disk. There is a risk that this could go wrong and the disk will end up being unusable and have to be reformatted. If it goes correctly, then the ESP partition can be expanded to 2Gb to accommodate all.
Configuring an XBOOTLDR partition is a good way to leave the existing ESP exactly where it is and the size it is. It acts as a secondary ESP partition, in that the bigger boot files can be stored in the XBOOTLDR partition and small pointer files created in the main (much smaller) ESP partition to point to the bigger files. The advantage of this configuration is that it’s fairly risk-free in terms of not having to use partition managers to resize existing partitions and it means that the new XBOOTLDR partition can be made big enough to accommodate several kernel versions (for Linux), for example.
But what to use?
I tested. And I tested. And tested again. And again…
Using the plain Arch install (i.e. not CachyOS) there was more flexibility around what could be done with ESP partitions. UKI kernels with XBOOTLDR partitions: whilst not a straightforward configuration, was reasonably easy to do once it had been done a couple of times 😬.
Both of the ESP partition configurations were tested: the existing ESP partition was expanded to 1Gb and Arch installed: the rest of the disk was configured as the root partition and encrypted with LUKS2. The next set of testing was to leave the 200Mb existing ESP partition in place, create a 1Gb XBOOTLDR partition and configure UKI kernels into that. Other than that, it was the same root partition configuration.
At that point, I’d discovered that there may be some bits missing from the Arch/Plasma install, and so made the decision to do an “automatic” install of CachyOS.
Calamares
Calamares an installation framework used by CachyOS for installation (it’s not a Spanish squid dish, in this case). I remembered it, as I installed CachyOS whilst testing a while ago, and recalled that it gave a choice of bootloader to use when installed. Why is this important? Because the usual bootloader (GRUB2) doesn’t properly support LUKS2 disk encryption, which in turn I needed to perform a TPM2 automatic unlock (like Windows).
Calamares offered GRUB as well as some others, but crucially (for me) it offered systemd-boot as the bootloader. That meant I could create and format the root partition as LUKS2 from the start, without having to retro-convert later on.
The only problem with the installer was: I couldn’t work out how to create and configure an XBOOTLDR partition and tell Calamares to use UKI kernels, and to put those UKI kernel files on the newly configured XBOOTLDR partition.
Time out!
If I’d have dome a bit more research on the subject, maybe I could have made it work, but: did it matter? The XBOOTLDR partition would be formatted as FAT32 anyway (i.e. not encrypted) so I wasn’t gaining anything security-wise by having it. Also: if I resized the existing ESP partition, it would be before the CachyOS install anyway. I had a known good Windows backup, so if things did go a bit awry during the partition resizing, it wouldn’t matter.
There’s also the matter of UKI kernels. It’s nice to have just the one consolidated kernel file, it’s tidy. But does it have any impact by not having it? No, I don’t think so. The files are still kept on FAT32 partitions whichever way the boot is arranged. As long as the installed operating system knows that, it’ll be fine.
So that was it: decision made. Various other partitions were resized and moved, the existing ESP partition was expanded to 2Gb. Testing along the way to ensure that Windows would still boot, obviously.
At last! CachyOS!
Got there in the end. The CachyOS install went as smooth as expected with the expanded ESP partition. The 1Tb NVMe disk I was using as the system drive for the PC was split into two fairly equal parts; one half for Windows, one half for CachyOS.
I opted for as minimal an install as I could, but not so minimal that the NVIDIA drivers I wanted wouldn’t install! It did go well, all installed correctly and I ended up with an installed CachyOS system, dual booting with Windows.
Lovely.
Configuration, customisation
The plan was this: despite the dual-boot with Windows, to use CachyOS as the main operating system and perform all of the tasks that used to be done with Windows; in CachyOS.
Easy enough, right?
Software
The software part (as in installing equivalent Linux versions of Windows programs) was easy enough, as I’d done plenty (and I mean PLENTY!) of testing beforehand. There was pretty much a list of the software I’d need: LibreOffice, AIMP, Filezilla etc. Not too difficult.
The “standard” CachyOS install has put some bit and pieces in that didn’t go in on my previous “bespoke” install (as expected), so I got menu editors, system monitors and several other useful tools as well.
One piece of software became unexpectedly problematic, however.
Browser wars
Over the weeks of testing, I’d dallied around with various web browsers. Edge, Brave, Vivaldi and Firefox mainly. I wanted a browser with a reasonably good reputation, that held security and privacy in high regard and wasn’t tied to big corporate tech. I also like PWA quite a lot so if possible, PWA support would be good too.
PWA: Progressive Web Apps are really just standalone web pages that display a page as an application. For example, YouTube can be configured as a PWA, can be pinned to a taskbar, or desktop and used as a separate YouTube application.
I rather like the concept of a PWA, as I can just access YouTube, or BlueSky, or any other web page of my choice with just one click, instead of navigating through browser manus and other tedious malarkey. The PWA also removes the browser page menus and sidebars, giving it a nice, lean feel. I love me a PWA.
Not all browsers have PWA support. Firefox notoriously doesn’t, however they are reintroducing a form of PWA support with their pinned tabs system. However, they only support that (pinned tabs) on Windows and not Linux (at time of writing) 😲. So that reduced the choice of browser a bit.
Which meant that I’d be obliged to use a PWA enabled browser and a chrome(ium) based one at that. I wanted as much security and privacy as possible, whilst shying away from the big tech companies (like Google), so I opted for Brave browser, after a long and considerably unfruitful search for a properly secure, small supplier-type browser that worked for me. Brave was duly installed, configured and run.
As I have two main PC’s that I use on a daily basis, I wanted the ability to sync browser profiles between them, in order to avoid (any effort!) any mismatch between the two. Brave did that, whilst also maintaining a reasonable level of security – although you do have to customise certain settings to get your security in the first place. That done, Brave supplied me with synchronisation between PC’s (to a point) and the PWA support that I wanted. Sorted.
Sorted. Until it wasn’t.
Long story cut very short (a very long story). My browser: Brave and any of its PWA windows would close themselves on the odd occasion. Sometimes often, sometimes not. There would be no warning, it would just close. An extensive (non-ai assisted) search revealed that this is a specific issue on KDE Plasma desktops, that could be reproduced – but not fixed. And the issue went back over a year. It happens on both of my CachyOS with KDE Plasma desktop PC’s. Bugger.
It’s not a Brave issue, it’s a chromium-based browser issue. Any chromium-based browser, such as Brave, Edge, Chrome, Opera, ungoogled-chromium and the like would suffer from the mysterious closing-of-the-current-window disease.
Which left me with only one viable choice: Firefox. Firefox worked – and continues to work – just fine. The PWA issue with it disappeared (thankfully) as I found a suitable extension that provides the same sort of PWA support that the chromium browsers do, so on that issue I am now sorted for a browser.
Drives
My main PC has three separate NVMe M.2 drives installed, I use them for data storage. This is data that I use on a daily basis, adding to and deleting from regularly. Whilst running the dual boot between Windows 11 and CachyOS, I had to keep them formatted as NTFS, otherwise Windows 11 wouldn’t be able to access them. Seems quite ironic that CachyOS can access both NTFS and linux-formatted drives, where the “mighty” Windows cannot.
Until I decided to remove the dual-boot scenario, the drives would have to stay as NTFS.
Proton Drive
Quick recap: Proton Drive (my Microsoft OneDrive replacement) works very well under Windows, as it has an official Proton Drive Client that provides real-time two-way synchronisation between Windows and Proton. However, (at time of writing) there’s no official Linux equivalent. It is a feature requested of Proton (it’s been requested of them many times over a number of years!) who say that they will release an official client “sometime in 2026”. It hasn’t happened yet, but it is talked about often in the Proton forums.
Making the change to CachyOS would therefore require a manual process for keeping the Proton copy of Proton Drive in sync with the desktop copy.
Using CachyOS: full-time
I had my browser and office situations sorted, I had my video and music situations sorted. I found a reasonable work-around for the lack of a Linux-based CCTV camera software suite, that made it work surprisingly well. I could use my NTFS storage drives: saving, deleting, copying – all that worked well.
I use a set of encrypted drives and folder to store (and backup) some sensitive data, I managed to install the client for that without too much trouble. I could view the data on my encrypted devices and folders with no problem. Could I write to it? No. Why? I suspect a permissions issue between CachyOS and the NTFS-formatted partitions on the encrypted containers.
For the short term, this didn’t present too much of an issue; I could go a few days – weeks even – before needing to add to the encrypted file systems. But at some point, I’d have to have a look at it.
Full-time Linux
Fast-forward about three weeks. I’d been using CachyOS, both on my main PC and on my surface Pro 8 device constantly, instead of Windows 11. Apart from having to manually update Proton Drive and the encrypted drives issue: I was having no problems at all. I’d rewritten the backup batch files I’d used in Windows as bash scripts for Linux, so the “mundane” chores like backing up to my NAS box was also not an issue.
I felt at that point it was time to ditch the Windows 11 dual-boot and go completely CachyOS on my main PC.
Hello CachyOS!
Removing the Windows 11 part was reasonably straightforward – especially as I’d done it several times now with other devices:
- Use a partition manager (or terminal) in Linux to remove the Windows partitions (the reserved, the main data and the recovery partitions).
- Remove the Windows 11 boot entries from the ESP partition and from the systemd-boot menu.
- Expand the LUKS2 container to fill the remaining space and extend the Linux data partition to fill that.
And there it was. CachyOS only. I’d removed all traces of Windows 11 from the boot menu, so the timeout for the systemd-boot menu timeout was reduced to 0s to boot straight to CachyOS with no delay.
Job Done. I was now released from the tyranny of big Corporate Tech on my main PC!.
Drives (again)
I thought I’d give it a couple of weeks and then start the (long) process of reformatting the NTFS drives to ext4. In reality, I lasted about three days before I caved and started to migrate data from the drives and reformat them! I am impatient (at best!).
The process to do that is quite straightforward:
- Find somewhere to put the files that are on the NTFS drive to be reformatted (the NTFS drive has to be wiped, there’s no choice about that!) and copy the files to the temporary destination.
- Verify all of the data has been properly copied and that there is nothing missing or corrupted. Important, because the next step is to trash the NTFS drive.
- Trash the NTFS drive and reformat as the Linux file system of choice, with the partitioning tool of choice. My choice is ext4, as the rest of the file system is ext4 and I used the built-in KDE partitioning tool to do it. It was slow, but it got the job done.
- Mount the newly formatted Linux disk to a mounting point of your choice and (if required) make the mounting point permanent. I created a new folder in the root file system for the purpose, created sub-mount points for my disks, added the UUID’s into fstab and created groups and permissions accordingly. (There’s plenty of internet info around to assist with these processes.)
- Copy the data back from the temporary location to the freshly reformatted ext4 (or file system of choice) drive.
Once that was done (it took a while for the amount of data I had!) all of my drives were in and visible in Dolphin file manager.
Encrypted drives/partitions
I have several sets of encrypted partitions that I use to store (and backup) sensitive information at home. I have some fully encrypted USB devices, along with some encrypted files that are containers for encrypted file systems. I’d used a standard third-party encryption program on Windows to manage the encrypted systems, which I’d formatted as NTFS. I wanted to see if my encryption client would support ext4 (yes it did) and so the process to convert the NTFS encrypted file systems to ext4 on the encrypted drives began.
The conversion was easy enough to do – it’s the same principle as migrating a “normal” file system. It’s just that the encryption client takes a little longer to perform the formats.
- Copy data to a temporary location.
- Reformat (or recreate) drive(s)/file(s) as ext4 (or file system of choice).
- Copy data back onto the encrypted file system and verify the integrity of the data.
- Securely delete/wipe the copied data in the temporary location.
And that was it.
Well, almost. As with everything “different” I’ve had to make some small tweaks along the way, but so far, there’s been nothing horrendously bad about CachyOS and I’ve been doing everything that I used to do on the Windows 11 instance in CachyOS without any major (or even minor, for that matter) difficulties. Will that last?
Several weeks later…
I’ve been using CachyOS full-time on my main PC (and my Surface Pro 8) since February 2026. It’s now the end of April (2026) and I (or the PC, for that matter) haven’t exploded. Considering I use both devices on a daily basis (the main PC for a few hours a day) everything has gone remarkably (and pleasingly) smoothly.
Still got Windows 11!
There remain just one outstanding issue: Proton Drive.
(Yet) another recap: at time of writing (end of April 2026) there is still no official Proton Drive client for Linux available; although it is on Proton’s road map to deliver in spring/summer 2026. At the moment, there are some non-official Proton Drive clients for Linux around that work reasonably well, however I can’t get them to work reliably with CachyOS at the moment. (Yes they work, but there are some odd little quirks with some of them that make me nervous about using them for my important data).
In the meantime, I am continuing to manually upload my Proton Drive files using Proton’s Drive web interface. As previously mentioned, it’s not an onerous job, but I do have to do it on a daily basis, in order to keep it up to date.
Hence Windows 11 still exists on one PC only. I have a dual boot between CachyOS and Windows 11 on my Surface Pro 8. The Windows installation has the official Proton Drive client on it: I use that in Windows to make a backup of my Proton Drive to my NAS box with a batch file. Overkill to keep a copy on my NAS perhaps, but I like the peace of mind it provides. It’s the only reason I use Windows 11 – boot it up once a week, backup Proton Drive, turn it off.
So: are we there yet? Almost.
TL;DR
I’m now using CachyOS full time. I love it, but I’m not quite free from the tyranny of big-tech (Microsoft) just yet… but I’m not far off! 😁