Cons and Cons of Linux and Windows in dual-boot flavor

Krystian Szpiczakowski
10 min readAug 7, 2022

--

How I gave up and returned to virtualized solutions

GNU GRUB with multiple operating systems to choose from

Hello and welcome to the second part of my experiment regarding choosing the best Linux and Windows combo (although best is highly subjective, and it’s only based on my own observations).

In the previous article¹, I was writing about my experience with virtual machines — when it’s worth considering and when it’s not.

Today I’m going to tell you the rest of my story when I came to the conclusion, that maybe a virtual machine was not the best solution, and I put two operating systems side by side instead (also known as dual-boot).

Motivation

I used to dual-boot operating systems a few years ago, and the idea to go back to this solution was born earlier this year. What motivated me the most was my curiosity, probably.

As I only faced minor issues while using Linux via VirtualBox, I didn’t have a solid reason to switch from virtualized environment to full-fledged Linux operating system. Rather, I wanted to see how dual-boot works nowadays, and having native system performance just in case would be a nice bonus (remember, the price of virtualization is a smaller or bigger performance drop, compared to an operating system installed in the traditional way).

You may ask, why do I need native Linux performance? Well… it turned out that for nothing special, and my “just in case” rule didn’t work in this case. Instead, I ran into several issues that made me change my mind, and I got back to Windows.

Windows and Linux Mint 20.3

Why Linux Mint?

I used to dual-boot operating systems a few years ago, and the idea to go back to this solution was born earlier this year.

When I was choosing a Linux distribution for this experiment, I was guided by my previous experience with Linux. I remember using Linux Mint somewhere between 2013–2015, and it has never let me down. Moreover, along with Cinnamon desktop environment, it was my favorite choice since I remember.

Installation

So, driven by good memories related to this particular system, I decided to give it a shot once again. At first, I installed Windows, then I installed Linux Mint, and voilà! Two systems side by side ready for work (not in parallel, obviously).

In terms of the installation process, there is one catch I remember quite well, learned from my previous failures: the order in which you install Windows and Linux does matter.

I don’t know if this rule still applies to Windows in 2022, but back in the days, if you installed Linux first, and then Windows, it could happen that Windows overwrote GRUB with its own bootloader, wiping the entry necessary for Linux boot up. Of course, it was not the end of the world, because you could easily fix it by running Linux live USB, and overwrite the bootloader with the appropriate tool.

Anyway, I didn’t want to risk, so I installed Linux as the second operating system, having GRUB as the bootloader of my choice.

Overall experience

The beginning was promising — both Windows and Linux offered their native performance and workflow. I have used this dual-boot configuration for several weeks, but the longer I used it, the more I felt I didn’t see benefits of using Linux and Windows interchangeably. In other words, sometimes I felt like I should've stuck with my previous configuration, i.e. Windows as the main OS, and virtualized Linux on board. My feelings were confirmed when problems arose on the horizon.

Issues with my wireless printer

One day I was using Linux Mint and had to print some documents, but then realized my printer (Epson EcoTank L5190) hadn’t been set up yet. To make things work, I entered the graphical configuration wizard, but shortly, Linux slapped me in my face with a popup containing a cryptic error message, saying something like “Error” — no less, no more.

Of course, I could’ve just launched Windows and pretend nothing happened. Because I’m a type who doesn’t give up quickly, though, I spent another few hours on doing my own research of what can be the cause. I’ve read many forum posts of other Linux users having similar issues, and following the advice of people wiser than me, I took a few extra steps including:

  • configuration of my printer through a web browser, by entering a website provided by the local CUPS printing server
  • I also installed additional drivers, which of course didn’t work either
  • and I ran terminal commands, which didn’t help me as well

At the end, I gave up, accepted the hard truth and I started to pretend, that this is a minor issue and I can always print my documents on Windows. Unfortunately, it was just a beginning of my problems with Linux.

Secondary hard drive not always writable

Because I used Windows and Linux interchangeably, there were times when I needed to save certain files while using Linux so that later they could be accessed by Windows.

This task seemed to be an easy one, especially I wanted to save this shared data in a separate hard drive, so it should be neutral ground for both systems… wrong!

I emphasized that I wanted to save this data, because it was not always possible, though. Linux was sometimes not able to mount that hard drive with write permissions, allowing only to read data from there. When something goes wrong while using GUI (Graphical User Interface), then command line/terminal is your friend. I don’t remember exactly, but when I tried to mount the hard drive manually via command line, I got an error that somehow made me start thinking that Windows is the culprit, and perhaps doesn’t release the hard drive properly. When I’m now thinking about this issue, maybe turning the Fast Boot option off on Windows would solve the problem, but back then, after problems with my printer, I wasn’t in a mood to spend extra hours on investigation.

Unlucky system upgrade

The Linux upgrade turned out to be the icing on the cake. One day I got a typical notification about available updates, including a new kernel. I have never had problems with kernel updates before, however, this time I had the opportunity to experience it. In simple words, after an upgrade and reboot my Linux couldn’t start.

The good thing was that Linux preserved a previous version of the kernel, so that I could easily run the system with the working kernel. The bad thing was that I couldn’t fully upgrade my system. Unfortunately, I can’t tell you what version of the kernel caused the problem, because that day I even didn’t think to write an article about my misfortune.

Generally speaking, the culprit was a failure of the post installation script ran automatically for the upgraded kernel. By trial and error, I was able to uninstall the broken kernel and tried to update the system once again. Bang! Updating the kernel has failed exactly in the same place. The message was clear enough to me: it’s time to try something else.

Windows and Ubuntu

I know, Linux Mint and Ubuntu have a lot in common. Anyway, it was around April and May 2022, so I had a good excuse to check the brand-new Ubuntu 22.04 LTS.

I quickly found out, that the long-awaited Ubuntu is not going to convince me to stick to this OS for longer:

  • its desktop environment, Unity, is still not my taste
  • I faced minor bugs in the UI (user interface), e.g. when I opened a popup during extracting an archive, some elements were not displayed correctly
  • I couldn’t set up my wireless printer (Epson EcoTank L5190)

After facing issues above, I just wanted to move forward, and Pop OS was my next pick.

Windows and Pop OS

Pop OS is another Linux distribution based on Ubuntu, but it’s maintained by the American company, System76. Because this sytem receives positive reviews from users, I decided to try Pop OS by myself, apart from testing it via VirtualBox.

Issues during installation

Unfortunately, I wasn’t able to finish the installation process due to specific requirements of Pop OS in terms of EFI partition size.

More specifically, Pop OS requires the EFI partition to be at least 512 MB. This requirement is rather uncommon in other operating systems, and neither Windows nor other Linux systems that I know needs such a big partition.

Because I installed Windows first, it has already created the EFI partition, and during installation of Pop OS I couldn’t make it any bigger. There were two options I could choose to use dual-boot with Pop OS:

  • delete Windows, then install Pop OS as the first operating system, so that Pop OS will create the EFI partition with required size, then install Windows, and most likely fix the bootloader, or
  • Delete Windows, install Windows again, but in advanced mode, to create the EFI partition explicitly, so that it is big enough to satisfy Pop OS later on

I was already a bit tired, so I just skipped these steps, and moved forward, choosing Fedora 36 as my next choice.

Windows and Fedora 36

Fedora is the first operating system in this chart that is not based on Ubuntu. This system has been gaining more and more popularity for some time, and I am not surprised why. If I had to choose my next Linux operating system for work in a virtualized environment, I would go for Fedora.

But today we’re not talking about virtual machines, so let’s take a look at what happened when using a traditionally installed operating system.

Install various desktop environments with ease

Fedora comes with GNOME desktop environment by default, and while some people may like this environment, I immediately look for something else. It’s not like I didn’t give this environment a chance, it’s just not my taste.

Fedora comes with a nice dnf package manager, which apart from installing packages in a typical way, it also lets you install package groups. This feature is useful, for example, when you want to install an additional desktop environment, and that was my case.

As I’ve already mentioned, I have an allergic reaction to GNOME, so I decided to install Cinnamon and KDE for testing purposes. To get a list of available package groups (including desktop environments), you can issue the following command:

dnf group list -v

This command above will print the following output:

To install Cinnamon and KDE, you have to issue two commands:

dnf install @cinnamon-desktop-environment
dnf install @kde-desktop-environment

Problems with handling secondary monitor while using KDE

Although the installation of desktop environments itself went smoothly, I faced some issues while using KDE later on.

The problem was with the very low refresh rate of my second monitor. The settings said Fedora displayed a 1920x1080 resolution with a 60Hz refresh rate — my eyes were telling me it was at most a half of this value, though.

Finally, I figured out, that on the log in screen there’s an option whether to choose KDE running on Wayland or X.Org (display servers). It turned out, until then I was using Wayland display server which apparently couldn’t handle secondary screen properly. Even with NVIDIA drivers in place, Wayland displayed content with at most 30 Hz refresh rate (perhaps the reason is I have a graphics card for laptop).

To verify if Wayland was the culprit, I logged in using X.Org display server, and it turned out that my secondary screen finally worked correctly, but… for some reason X.Org server collided with my laptop’s touchpad, being unable to handle some of its functionalities properly (for instance tap to click didn’t work, and there was a very limited set of settings available, while on Wayland session my touchpad worked completely fine).

You get the idea: one option let’s you use a secondary monitor, but without proper handling of touchpad, but second option let’s you use a touchpad, without proper handling of the monitor…

What about printer?

Surprisingly, Fedora 36 didn’t complain that much about my printer, and even did let me print something, but two-side printing was still not available… After this I gave up, said bye bye dual booting and came back to Windows as the main operating system.

Conclusion

As you can see, it wasn’t an easy task to pick the best combo of Windows and Linux in terms of dual-boot. Let’s summarize then pros and cons of having two operating systems side by side:

Pros

  • native performance for running resource-intensive tasks

Cons

  • secondary hard drive not always writable (Windows sometimes didn’t release its lock)
  • no solid support for printers on Linux
  • it’s difficult (or even impossible) to configure some modern printers
  • you can’t run both systems in parallel
  • you have to gain additional knowledge in terms of disk partitioning (I’m not saying this is something super-complicated, but for some systems it gets really tricky (yes, Pop OS, I’m talking about your 500 MB EFI partition)
  • Wayland having problems with dual screens (second monitor had very low refresh rate despite setting was 60 Hz — my case was based on NVIDIA drivers for a mobile GPU)
  • X.Org handled 60 Hz refresh rate properly on my secondary screen, but using it rendered problems with a touchpad in my laptop instead

As you can see, the disproportion of pros and cons in my case was quite notable. Having said that, I’m not going to come back to dual-boot any soon. If you would need a piece of advice: consider dual-boot only if you really need it, or when you are a masochist.

In the next article, I’m going to share my thoughts about another mix: Windows Subsystem for Linux (v2). Stay tuned!

References

[1] Krystian Szpiczakowski: Why Linux as a virtual machine? https://medium.com/@kszpiczakowski/why-linux-as-a-virtual-machine-3b9a762ddbe6

--

--