Before You Install Linux
Table of Contents
- Introduction
- What Linux should you use?
- Preparing for migration
- Disk partitions & file systems
- The Command Line is your friend
- Managing software & updates
- Asking for help
- Conclusion
Introduction
Our societies are built on trusting each other to function properly. Software is also all about trust. By nature, software is hidden from view; we can't see one of our trustworthy slabs of sand and intuitively understand what it is doing just from looking at it. Only a few select wizards, called programmers, are able to understand the thinking sand.
Just like Prometheus did with fire, programmers gave us the gift of being able to use computers as tools without the need of understanding the arcane language of code.
But... What would happen if Prometheus was evil? Well, more than evil, greedy. What if Prometheus desired to keep a chain on anyone who used fire, in order to serve them ads in order to enrich himself and the Olympian gods? Unfortunately, that is what Microsoft is doing.
We trusted that Microsoft would treat us with respect, but their actions say otherwise. Microsoft is transforming millions of fully capable computers into e-waste; at the same time, they are removing workarounds to keep some of these systems working without the need for you to put on the cloud chain.
And if you happen to need even more reasons to dislike Microsoft and Windows 11, take a look at this video:
11 Reasons To Leave Windows 11 ~ Zac Of All Tech
You surely saw these actions and decided that enough was enough. You probably decided or considered that using a Linux operating system in order to give your computer secure and offline-capable software that would also protect you from Microsoft's planned obsolescence was a good idea. And then you hit a wall. How do I do all of this???
Don't worry, Linux is intimidating, and new users have a lot to learn. In this article, I will share some knowledge that I hope will save you time and teach you a few useful tricks.
This is not an installation guide but a complement to existing installation guides and tutorials. It will make you more ready to face off against the challenge of installing Linux, as I will cover things that these install guides often avoid mentioning, as they don't want to info dump you and scare you away, even if it increases the risk of things going wrong.
I recommend that you check out any of the following videos and their authors; these are by far the best guides on how to get started with Linux (includes a few on Win10's end of support):
- $70 "Obsolete" ThinkPads - More Repairable, Reliable, and CHEAPER Than a Brand New Laptop ~ Salem Techsperts
- Choosing Your First Linux Distro ~ ExplainingComputers
- How To Switch to Linux (From Windows) ~ Mental Outlaw
- Rob Braxman Tech's recent videos
- Switching to Linux: A Beginner’s Guide ~ ExplainingComputers
- Windows 10: Four Months to Go ~ ExplainingComputers
- Windows 10 is Dead... Now What? ~ Michael MJD
- Windows 10 is done, and this is a bad thing for everyone (not just Windows users) ~ The Linux Experiment
- Windows 10 Is Over, So What Now!! ~ Brodie Robertson
If you happen to get confused with some technical terms used here, I recommend that you search online what they mean. This is one of the few particular cases where one of the best options would be asking your AI of choice, as they have very good training data on FOSS, and they should be used as a better Google (very ironic that Google's AI preview is 10x worse than asking an AI directly), instead of being a slop machine. Follow your ethics for research, but I don't have the time to explain the terms. I recommend an AI for this because there are some terms that you won't find in Linux wikis.
What Linux should you use?
This section is extremely subjective to my personal opinions and experiences using Linux. I think this is the truth, but everyone is different, and we must respect that. What I think is best for you could only be the best for me. To reach your own truth, you must experiment. I am just advising you in order to possibly save you time, as I meditated a ton about what would be best for new users, and I am confident enough on my opinions to say it out loud in here.
One of, if not the most common question that new users make when they switch to Linux is "What Linux should I use?" This is normal; after all, there are more than 100 active and popular Linux versions, all more than valid choices. You even have popular sites like DistroWatch, tailor-made to list out and discuss the myriad of Linux distros/versions reasonably. That is just how FOSS works; everyone can make and share their own variations on Linux.
This means that you naturally have different versions designed to cater to different needs in the technology space. Linux is especially flexible; you can even use it on phones! (Android uses a version of Linux to work). I will assume that you require Linux to replace the obsolete Windows 10 running on the machine you want to target. Meaning, you need a desktop/laptop OS that is ready to handle day-to-day tasks of all kinds.
Thankfully for us, the choice is actually pretty simple. There are a few Linux distributions that fill the niche perfectly, with some strengths and weaknesses that we must take into account, depending on what we want to accomplish.
First, all the relevant Linux distributions provide you with a method to handle software in your system, be it installing things like a web browser or keeping the system up to date, in order to prevent security vulnerabilities. I will detail this better at the Managing software & updates section, but I need to explain a part first so we can decide better.
The program that helps you in managing the software in your system is called a package manager, for example, the Google Play Store is a package manager.
For comparison, the tradition in Windows is to skip all package managers; instead, users go and hunt the programs online. This method doesn't even guarantee you the ability to update your programs, being a huge security risk. However, if you use the Microsoft Store, you get the latest version of whatever program you need. Windows itself gives you the latest system updates for whatever version you are running (Windows 11 25H2 for example), and at one point it should ask you to update to the next minor version (Windows 11 26H2?) and eventually a full system upgrade when Windows 12 comes out.
Most Linux distributions follow a similar kind of strategy with their software; they call it a stable/fixed release. However, unlike Windows' fixed releases, the system's core software and whatever you install via the package manager are interconnected. For example, the Dolphin file manager program and VLC share things in common inside their guts; if you try to update VLC without taking into account the shared guts with Dolphin, then Dolphin could break. Not all programs share their engines with each other, but it's common enough that all stable release distros update both types of software (core system & non-essentials) at the same time.
To guarantee a more reliable experience, stable release distributions place some kind of time freeze on the software. For example, Ubuntu 24.04 froze their software versions at what was available and stable around April 2024, with the exception of security updates. To get a new version introducing features in Ubuntu, you need to wait until the next freeze and release happens, either 6 months or 2 years, depending on the version of Ubuntu.
Yes, this means that things like the drivers can get stuck at old versions, and very new computers can have problems with running adequately in stable releases, but don't worry, most distributions give you some way of getting more modern drivers.
The other type of strategy for software distribution is called a rolling release. They keep the software in your system at the latest possible version at all times. For example, as soon as VLC releases a new version, the distribution maintainers update their Linux so it gives it to you as soon as possible. This also includes core system packages.
Rolling releases do minimal and near real-time testing for all components in your system. You are placing your trust in the individual developers of the programs you use; you trust that VLC will do a good job, and you get rewarded with all the nice new features quickly. These distros expect you to update frequently, usually around a month being the longest you can wait without increasing the risk of problems when updating.
It's crucial for you to understand the distribution's release model before committing to an install. It would be unwise for someone with little free time to install a rolling release Linux. Likewise, installing a stable release Linux would be dumb for a software developer who needs the latest and greatest updates quickly.
This difference forces me to recommend different options depending on what release schedule works the best for you. There are ways to get around the release schedule, but they will get explained at Managing software & updates.
Stable Release Distros
Linux Mint
To me, Mint is the undisputed king of Linux. I have been a Linux user since 2017 (not a full 8 years). Mint was my first distribution. I have been following its progress, and they never did something I would consider awful. Mint managed to have longevity in an industry known for being volatile. If you can't tell, I have a strong bias in favor of Mint.
However, tons of people with good reputation inside Linux spaces back my favoritism; it's clear they are doing something right. And well, what makes them great?
For starters, Mint gives you multiple versions, depending on what you need out of your computer. The flagship is the version with the Cinnamon desktop environment, but they do offer the MATE and Xfce desktops as alternatives for systems with more constrained resources and a Debian based version.
Mint follows the release cycle of Ubuntu LTS. That is, one feature update every 2 years. However, Mint gives minor releases every 6 months or so that update certain key components of the distro.
They also make the Cinnamon DE, an easy-to-use, stable, and feature-filled desktop that has a ton of small details that make it a very pleasant experience.
Linux Mint comes equipped with a welcome program that has useful links to many essentials, like introductions to many system management programs that come with Mint or links to Mint's forums. If you take the time to read the welcome message, you will set your system up for success.
It also comes packed with a full suite of programs. Media players, browsers, office suites, and even their own set of programs (x-apps), including the backup utility Timeshift and their IPTV player Hypnotix!
Another thing they do well is hardware support; they include a driver manager program, and their update manager has your back. Updating is easy, and they facilitate things like making the downloads of the updates faster and installing different Linux kernels if you happen to need them.
Mint also ships with a fast and stable graphical software store that is easy to understand. This is one of the very few distributions that are so well made you don't even need to touch the command line interface. Hell, they even take care of theming the programs for you!
Last but not least, Linux Mint uses the X11 display server (a program that allows Linux to show things on your screen); you might need to reconsider using it if you have a multi-monitor setup (especially if you are mixing monitor refresh rates and screen resolutions). Mint does have the more modern Wayland display server as an option to fix some of these problems, but Mint's port is still in heavy development, and it could make your system unstable.
Pop!_OS
Pop is in a weird state right now, as System76 (the distro authors) did a major rework very recently. They just released the Pop 24.04 Beta with their brand-new COSMIC desktop environment.
Before this, they offered a customized GNOME desktop experience, built on top of every release of Ubuntu (LTS and normal releases), but since they started the development of their own desktop, it seems like they moved to just using the LTS versions as a base. They do give out feature updates for certain key programs, just like Mint.
You may wonder why I bring up Pop, even if it's clearly in an unstable state right now. Well, the benefits it brings are unique enough that it deserves a mention here.
First, they really care about their users. Pop had big ambitions with their GNOME modifications, but due to the unstable nature of GNOME extensions, their work was hard to maintain as it would break with every version upgrade, making them stuck in a perpetual cycle of keeping things running without being able to bring improvements to their distro.
This is not the first time that GNOME's modus operandi gets in the way of others in the Linux world; Mint had to scrap the idea of maintaining their Cinnamon desktop as a set of extensions that run on top of GNOME, instead making it a separate thing.
System76 just released the first beta for COSMIC. I have been using it, and aside from a few minor bugs, it has been surprisingly reliable and a very needed breath of fresh air in Linux.
The main reason to use Pop, and by extension COSMIC, is the advanced window management features. The Wayland display server makes COSMIC capable of using multiple monitors effectively thanks to the superb scaling and good support for programs running on X11 for legacy reasons. It also gives you granular control over the workspaces in your system. COSMIC is the only desktop that allows you to tie a monitor to a workspace, allowing you to keep Monitor A in workspace 1 and Monitor B in workspace 2. In the rest of the desktops, if you switch to workspace 2, it switches on all the screens in your system, making multiple monitors more of a hassle than an advantage.
COSMIC is also the only one that treats normal floating windows and tiled windows (when windows get automatically adjusted in a mosaic that maximizes screen real estate usage) as first-class citizens; both get equal amounts of care and love. You can also tell a workspace to decide between floating or tiling, and don't get me started on things like pinning workspaces. You can do very complex setups.
COSMIC aside, System76 takes care of giving you things like a backup built into the system that lets you reinstall the system in case something goes wrong. They take a more minimalistic approach with what they give you, as this is aimed at more advanced users, but with the COSMIC Store, you should be able to get all the software that you need. You also get a welcome program that will help you set up your system the first time you boot it.
I advise you to be careful with Pop 24.04, as it's still in beta, but you know, System76 needs to sell laptops to survive; they need to make sure that Pop and COSMIC are up to their quality standards. Check well that everything works before installing, but you are in good hands if you go with this distro.
Ultramarine Linux
Do you remember what I told you about the types of release cycles? Well, Ultramarine has a weird one. They follow a 12-month release schedule, with a new version getting released every 6 months, giving you a bit of time to wait before updating to the next major release.
Unlike Mint and Pop (both Ubuntu derivatives), which do a near full freeze of feature updates, in Ultramarine you get curated feature updates. They do a bit of testing before giving out updates, but the pace of the distribution is quick enough that you may think you are in a rolling release. By nature, this makes Ultramarine more unstable than something like Mint, and it can start outpacing people's ability to keep up with the update cadence. For example, Ultramarine is not the best option for a boring bureaucratic office trying to replace Windows 10.
Ultramarine starts to shine as a good option when we take a look at the things they modify from their base, Fedora. They do things like providing you with complete codecs and expanding the list of software you can install.
The distro expects more skilled users than Mint; just like with Pop, the default software selection is more minimal but still sufficient for a lot of daily tasks. You get a software store and a welcome configuration helper the first time you boot it.
Ultramarine ships with multiple editions. Flagship (Budgie), GNOME, Xfce, and KDE Plasma. Out of these, the more reliable are Xfce (useful for modest systems) and Plasma. They also provide you with more particular versions made to work with niche hardware like ARM computers and the Microsoft Surface. Another cool thing is their migration program, which can bring most of the nice things to existing Fedora installs.
Their documentation is also pretty good; they are open to informing you of tips and tricks and explaining how parts of the distro work.
This distro is a great choice for those who need more up-to-date software while keeping things as user-friendly and stable as possible.
Loc-OS Linux
This is more of an honorable mention, as it covers a very important niche. Loc-OS is a distribution designed to be as lightweight as possible, to the point it can bring a new life to computers with extremely limited system resources, like old netbooks with 1 GB of RAM. The usual thing is that lightweight distros rely on harder-to-understand tools that are light on resources. Loc-OS finds a sweet spot of being user friendly and light.
You will find Loc-OS more useful if you know Spanish, as this project is more focused on the Spanish side of Linux; for example, the author does a lot of educational videos about Loc-OS on his YouTube. Loc-OS gives you access to Debian/Ubuntu's software availability, and they have their own additions to bring you things like a lightweight browser or some games. You could take the lightness even further by checking out other more advanced projects that Nico made, for example FLinux.
Just be ready for things to be rougher around the edges, but if you are trying to revive old hardware, I believe you are prepared.
Rolling Release Distros
Before we start, I need to tell you the truth. The explanation of stable releases I gave you before is somewhat misleading.
Did you notice that I called them fixed? The more appropriate name should be fixed release, not stable release. Why? Well, the freeze that is applied to them also counts software bugs in. What they value is predictability; if the frozen version of VLC has a software bug, they will not fix the problem unless it can cause a security risk. This is only a concern in Ubuntu/Debian-based distros or ones that follow the exact same strategy as them. If you happen to find a bug on one of those, it will keep you company for the 2 years the distro is installed in your machine, even if the solution to the issue is already available in the original program.
Some people might even argue that freezing the software only adds more strain to the software developers, as they have to deal with supporting old, outdated versions that are provided to millions, and they can't fix the problems due to how these distributions work. If you can deal with the more frequent updating, using a faster fixed release like Ultramarine or one of the rolling ones is the best idea.
EndeavourOS
Endeavour is our first rolling distro. Their focus is on providing you with a skeleton, a good base for you to build your own Linux. They provide you with a minimal list of programs when you install it; for example, the ever-present LibreOffice is missing.
When you go and install Endeavour, they will give you a list of the most popular desktops, making it a customizable experience from the start.
Endeavour provides you with a welcome program with a lot of very useful shortcuts, from updating the system to enabling Bluetooth and a curated list of programs that you can install. It's very important that you don't skip the welcome programs.
This distro is the first one to be designed to be more command-line oriented; among the ones I mentioned, it's the one with the smallest amount of graphical utilities. However, that doesn't stop them from providing you with useful resources; you better check out their wiki and forums!
Garuda Linux
Both Garuda and Endeavour use the same base, Arch Linux, but they couldn't be more different from each other.
Garuda is focused on providing the user with a ton of useful utilities for system maintenance; think of what Mint or Endeavour offer in graphical system utilities, cranked to the maximum. Among the features they bring, my favorites are the out-of-the-box system snapshots (every time you update the system, it creates a backup) and the extra software their ChaoticAUR source brings to Garuda.
They also play with the build-your-own-thing idea, but it holds your hand more. The first time you install it, it asks you to update the system, and it directly informs you about curated software you can install to make things more complete.
Unlike Endeavour, which lets you customize things while installing, with Garuda you need to choose what edition you will be using before downloading the distribution. I recommend that you stick with the Cinnamon or Xfce version, as the KDE versions have an overwhelming appearance.
Garuda is more opinionated (not as opinionated as Omarchy, thankfully), but if you like their opinions, you will be in good hands. Also, you should know that they are a bit lacking in documentation, you might need to ask more in forums than with other options.
CachyOS
We reach the final recommendation, CachyOS. This distro is very focused on performance. They put in the effort that others don't, as they do all sorts of smart software tricks that give your programs small performance boosts. The worst-case scenario is that you don't notice it, but on some setups it can give you free performance.
Software tricks aside, they have excellent documentation on the things they modify, and they give you a few useful graphical tools for system management, not on the level of Garuda, but more than enough for comfortable use.
One of their strengths is just how powerful the installer is; you can pick between the popular desktops, and they facilitate the installation of more rare window managers. But in general, the whole point is in giving you a slightly more friendly EndeavourOS with a ton of performance settings turned on. It's hard to notice how much they do for you with the optimizations without a deeper understanding of how software gets packaged, but they had to go one by one for most of the programs in your system (including small ones you never see or interact with), and they repeated the process for around 4 different kinds of CPUs.
They also give you a version compatible with devices in the style of the Steam Deck, quite nice!
What should you avoid?
The big variety in the Linux space means that things are not created equal. There are things that you should avoid using. These are a few things that, in my opinion, you should avoid.
Non LTS Ubuntu
Ubuntu has a very strong reputation thanks to the fact that they were the pioneers in giving users an easy-to-use distribution; however, that Ubuntu is long dead, and there have been multiple dramas that prove it is an unstable and even dangerous product. This is especially prominent on the releases made every 6 months, as they are used for internal testing but are branded as production-ready. Just now, with the 25.10 release, Ubuntu broke Flatpaks. And on the 23.04 release, they broke Appimages. Isn't it strange how these moves were made at the exact same time that Ubuntu started enforcing Snap packages on users?
Ubuntu also makes dangerous experimental changes, like getting a sponsor from Amazon and adding a spyware link right into the launcher. They also discontinued the Unity desktop they developed, alongside their Ubuntu Phone. Last but not least, they added the still-in-development Rust Coreutils into 25.10, something that could be dangerous to users who depend on the stable & original C language versions.
Update 1: Xubuntu got hacked and they started distributing malware. What a release huh...
Update 2: Rust Coreutils broke Ubuntu's unattended upgrades mechanism.
Unless you install one of the LTS releases or a derivative that protects you from the bad stuff, you should avoid Ubuntu.
GNOME
The main reason to avoid GNOME, especially for new users, is the extravagant style the user interface uses. They created a new concept for how desktop computers should work, for better or worse. Unfortunately, reinventing the wheel at this stage is something few people are able to tolerate; their brains lock down and they refuse to even try to understand what is in front of them. I expect this to be the case for most people reading this.
If you feel brave enough to try GNOME, give it a go. Watch this first. However, there are more reasons over why I don't recommend GNOME.
GNOME's political people drama
Update: GNOME Foundation director, Cassidy James, displayed professionalism. I hope this good behavior continues and he gets the loudmouths under control.
First, GNOME is unprofessional; tons of important maintainers (with some outside GNOME) are on a hate campaign against people who they deem as fascists, more often than not calling for these people to get harmed, just because they disagree with their opinions. All of these situations are still ongoing; but the cycle of hate and violence keeps growing.
Examples include:
Bryan Lunduke: Who they attack for being a yellow journalist who is more on the conservative side of politics and being a Jew (I get it, Gaza sucks, but come on, like he was the author of the war), just go check his posts and you will see it. It doesn't matter if he was an important OpenSUSE contributor and a valuable critical voice in the Linux world. Lunduke is easy to dislike, but that distaste turning into a "you can't mention his name, and if you do, we will ban you from spaces we control" is wild to me.
Framework: Who they attacked for being a neutral company, as they used distros they deem controversial in their marketing, alongside sending DHH a review unit. These actions are placing one of the very few hardware developers who are committed to recyclable and modular hardware at risk. GNOME and some FOSS contributors think that Framework has Hitler Particles, all because they used the wrong Linux!
I get it, you might dislike this direction from Framework, but why is the criticism so extreme? Answering with violence creates more violence. Thankfully, the situation has been contained to a forum post. I encourage you to go read it if you really want a full picture of the situation. Framework has now clarified that Omarchy (DHH's distro) didn't get sponsored; they just sent a review unit to DHH, something reasonable after seeing the download numbers. It's truly puzzling how sending a review unit is considered supporting the views of the reviewer and going "too far".
Omarchy: This is an opinionated distro made by 37Signals for software developers, who got a hate storm due to the main author (DHH)'s opinions on his blog. In this case, it was triggered due to a sponsor from Cloudflare. GNOME and FOSS maintainers were clearly jealous, but instead of getting a professional response up, they did a hate campaign.
Hyprland: GNOME folks might criticize authoritarian people, but they (and other groups inside Linux) get very fascist when you mention Hyprland to them. The author of Hyprland, Vaxry, has been a victim of an army of haters that was created and led by members from GNOME, Red Hat, and FreeDesktop, among others. Initially, these groups were critical of Vaxry's poor moderation over the public Hyprland spaces online, but that quickly escalated into him getting banned from contributing and participating in FreeDesktop, the group inside Linux that decides common standards that most pieces of software should use. These two situations would later spiral out of control, as they started branding Vaxry as part of the people with Hitler Particles and getting his project censored in multiple places inside the Linux world, with the attacks on Hyprland ramping up as people like DHH start donating to the project.
This is a witch hunt, as people completely unrelated to Linux, like PewDiePie, also got called names for promoting Hyprland in his Linux video. Furthermore, there has been good evidence that community moderation in Hyprland has gotten miles better since then. Why are they still attacking Hyprland? Did nobody check in with Vaxry or frequent Hyprland spaces in order to corroborate the state of things?
GNOME doesn't understand that software politics are completely different from political politics, as they are more than decided to fight against the US government attacking organizations like ANTIFA by proposing to modify the Code of Conduct of GNOME in order to make being a part of ANTIFA a requirement to be part of the community. Do I really have to say AGAIN that this could be dangerous enough to make any GNOME contributor a member of a now terrorist organization in the US? What happens to Linux if these actions place someone in jail? What if this gets extended to any GNOME user, making Linux illegal in the US? Anything is possible with these guys in power, and playing into the hateful and reactionary role is exactly what they want. I do not think GNOME is worth using, as many core maintainers are deliberately placing people at risk. STOP with the spiral of hate. If you really want to criticize whoever, put some effort into doing so in a mature and adult way and end the problem; otherwise, you look like narcissistic lunatics who like to feel powerful. For both sides (DHH and Lunduke) (GNOME and affiliates), this cat-and-mouse game will only sink you both. Either you give good constructive criticism like mature or shush. People depend on your work, and this is very dangerous and stupid. GNOME is not doing enough as an organization to protect its image; many of the hateful people's entire online presence revolves around GNOME, making their personal fights affect the reputation of the community project.
Dramatic people aside, GNOME is still authoritarian with how they develop their software. It's a known story how the release of GNOME 3 and the sudden shift in concepts from 2 to 3 nearly killed GNOME, as everyone and their mother started fleeing en masse from that mess, including groups like Mint, Ubuntu, and Budgie developing their own alternatives, something wild considering the limited amount of resources FOSS developers have at their disposition.
For example, in the GNOME 3 release, they removed a lot of loved features like the minimize/maximize buttons and the tray icons.
Talking about tray icons, they added them back, but with a broken implementation that prevents programs like OBS or Discord from working properly. Just like with Apple, they dictate that you listen to their only and holy truth, or you get shoved away. It's also well documented how GNOME uses their unchecked power inside FreeDesktop in order to obstruct the development of new Wayland protocols that everyone else needs. They also do this with Libadwaita, check my article, The Rice of Babel: The Absurdity of Linux
Theming, for more.
GNOME also makes developers do double work, as they are so stubborn that they don't support standards like server-side decorations, making programs like games not work correctly in GNOME, forcing developers into doing a GNOME-specific implementation.
Another problem is that due to GNOME's lack of features, users are forced to use unstable and slow extensions that break with each update. Ubuntu has a lot of power inside GNOME, but they are forced to play along with this game, making their product more unreliable as things like your tray icons or panel could just... stop working on a "stable" release in a "stable" distro.
Finally, GNOME is bad at programming, and they don't admit that they are bad at programming; instead, they prefer to force their skill issues onto people. Back in 2020, when they were developing the alpha for GTK 4, they found a critical bug that made scrolling using a touchpad impossible, as the program would have the equivalent of an epilepsy attack, making it impossible to use. 5 years later, multiple core GNOME programs like the file manager use this broken component, and this problem is still present. They caught this early in development, but they didn't fix it at the correct time during development. Now you have production-ready laptops that can't scroll correctly on folders with a lot of files. Good job, GNOME.
Do I need to say more? Oh wait, the beta for COSMIC doesn't have this issue, and they developed MOST OF THE GRAPHICAL TOOLKIT FROM SCRATCH. Please, avoid GNOME if you care about your sanity. At the very least, wait until they stop being aggressive against the rest of the Linux ecosystem and until they stop their nonsensical political fights, in a software project...
Update: Fedora 43 released today. Among the changes made, they prematurely removed GNOME's X11 session packages from the distro (not just the default install). GNOME was not ready for this, as crucial things like games correctly grabbing your mouse on multi-monitor setups in Wayland are currently broken. Fedora 43 users can't game thanks to the developers rushing the removal of the X11 session. This forces either Fedora to add the packages again or GNOME to place emergency efforts in patching the bug, among other things broken by a lack of the X11 session.
Don't ask me how KDE is able to keep their X11 session working well but GNOME fails horribly, even if they have more contributors than KDE.
Joke, Niche and Atomic distros
You might have seen joke distros like AmogOS, they look very funny, but they are not made for you to be using them as your Windows 10 replacement. If anything, it would be better for you to customize your own Linux on a reliable and secure base.
The same happens with niche distros. You should be careful with obscure operating systems; you never know what could be compromised. Try to stick to distros that have enough eyes and hands on them to be secure.
Finally, avoid Atomic distros. These are some special kinds of Linux that lock down the operating system in order to prevent the user from breaking things. A known example is SteamOS or Bazzite. Atomic distros are useful for products designed to be more limited, like the Steam Deck. If you are using them to replace any normal Linux, you WILL run into problems sooner or later; it's a matter of time until you hit the limiting wall that Atomic distros give you.
If you are considering Bazzite or SteamOS as systems for your computer, take a look at CachyOS or Nobara first; they do essentially the same thing but without taking freedoms away from you.
Unupgradable distros
There are a few projects out there that use the stable release strategy, but without the ability to upgrade between major versions of the operating system. What this means is that you have to reinstall the whole system every time you want to update to a mayor version. This is massively inconvenient and thankfully very rare. The only two distros that I know with these release methods are elementaryOS and Bodhi Linux. If you use them, know that upgrading will be a pain.
Preparing for migration
Now that you have decided what Linux to try out, there are a few things you need to know.
First, you should experiment with alternatives to Windows programs before you do anything else with Linux. For example, check that your Microsoft Word documents work with LibreOffice in Windows before installing Linux.
This gets easier/harder depending on what programs you use, and there are things that have no equivalent. Try to prioritize open-source programs when picking alternatives. Just search "XYZ Program alternative" and that will get you far. You could also try to search how WINE works with the programs you need, but only do that as a last resort. Software availability is the biggest problem in getting people to try out Linux. Take it easy; Rome wasn't built in a day.
Second, you should get some form of external storage, be it a USB stick, some kind of SD card, maybe a CD or even an external hard drive in a case. You will use this to install Linux. Make sure that it has at least 4 GB of storage; 8 GB is the recommended minimum. In case your storage has 32 GB or more, you should install Ventoy on it, as you will be able to boot from multiple Linux ISOs from a single storage device. Normally, when you prepare one of the storage devices, it nukes everything on the drive and makes it impossible to use it for anything else than as an installer for the particular distro you installed on it.
Thankfully, Linux has support for booting into a Live environment, a read-only copy of the distro of choice. This is massively useful for a lot of tasks, but it's especially good for rescuing files from computers or if you need to use a computer that is not your own (you can take that a step further by installing a read-write Linux into the external storage).
In case you don't have any external storage, you can get away with the advanced features that UNetbootin gives you by using the Hard Disk Install option, but be careful.
Third, get familiar with your computer's BIOS/UEFI screens. Search online for your exact laptop or motherboard name with the "BIOS/UEFI" keyword added. When the computer is booting up, try to hit the key they mention; it could be one of the function keys or something else. It will take you to a scary-looking menu that allows you to play around with many options for your hardware.
In order to boot up any Linux without problems, you need to disable the Secure Boot option and change the boot order, leaving the drive that contains the Linux in first place.
Ah and before shutting down Windows, right before you start the installation, you should hold the Shift key while Windows is shutting down. This will make Windows do a full shutdown instead of doing a fake shutdown thanks to the Fast Startup Windows setting. If you don't do these things, you might have unexpected issues while installing Linux.
Fourth, you need backups! You required them yesterday!!! I really hope you had backups before thinking of installing Linux.
Okay, for ideal safety, you need to follow the 4 backups rule. 2 on-site, 1 off-site, and 1 in the cloud (or another off-site). This is hard to achieve and expensive, but it's the ideal. Go ask the South Koreans about their backup strategy...
For just switching your operating system, you require a full backup of your disk; the hard drive should have at the very least the same capacity as the one installed in your system. Depending on how much free space your disk has, you could maybe just use one disk to do the full switch with some smart partitioning work. Still, the best thing is that you go get yourself a good hard drive; aside from Linux, it will be useful as a first step in a good backup strategy.
Before formatting that drive, watch this video in order to learn what file system to use; it will be an important choice that you might have a hard time reverting later.
Disk partitions & file systems
Most Linux installers handle file systems for you; they give you a nice and understandable interface with some default options. Mainly some variation of wiping the disk or partitioning it in half (a dual-boot setup, half Windows, half Linux). However, it's not uncommon for this automatic detection to break, throwing new users headfirst into figuring out file systems in an already alien environment. This is especially common for those who want to dual boot.
Thankfully, it is easy to trick the installers into doing all the heavy lifting for you in dual-boot scenarios; all you need is to leave an empty partition of your desired size, and the magic will happen.
If the installer of your distro fails to recognize what to do, open the disk manager program; it could be GParted, GNOME Disks, or KDE Partition Manager. On there, you will see something like this:
See that big bar? That's your system's main partition. After you unmount the partition, you will need to resize that big bar, leaving unallocated space to the right of the main partition.
The system installer will use that empty space to infer that you want to use that space to install the distro. Do this just in case the installer acts like an idiot.
Remember that file operations of this caliber can delete all your files; be careful.
One of, if not the best tools for real backups is rsync. Thanks to its smart incremental method of copying files, it can do a backup without writing unnecessary information, because it typically only copies the things that changed since the last operation.
Rsync is a CLI program, but it has popular frontend programs like Timeshift or Back In Time. To understand more about how to use rsync, check out these videos:
Some file systems, like BTRFS, give you the ability to create snapshots of the system. These are some smart behind-the-scenes tricks that allow you to restore the system to a previous state. This advanced feature is not available on most distros out of the box; only a few, like CachyOS or OpenSUSE, give you this power without any setup from the user. Others, like Fedora, ship with BTRFS but without the snapshot feature turned on. It is painful to set up BTRFS manually to enable snapshots, so consider that before picking your distro.
The Command Line is your friend
Now, if you happen to have some major problem down the road in your Linux of choice, the most likely solution will be found in a command-line interface. You may ask, what is a command-line interface? Pretty simple.
When programmers make their programs, they can pick between showing the user some kind of graphical interface (something that mimics somewhat real button layouts on machinery) or not showing you anything. To be useful, most programs need some form of output, the most basic one being text. Even programs that just live on the computer, without sending anything that the user can see (maybe their work is sending info to another program), still use a text output in some way.
For a very long time, computers were restricted to this basic form of interface (text). Linux originated during this era, and we still have the legacy of the command line among us today. However, old doesn't mean obsolete. There are a ton of programs and ways of working that benefit from this style of interface.
The CLI is useful due to how simple it is. All that you need to do is to type the right commands (the equivalent of clicking on things and hitting enter), and stuff will happen. For example, the Linux app stores usually have a text version; the names vary depending on what Linux you are using, but it can be called apt, dnf, pacman, etc.
An example command: if you need to update your system on Ubuntu-based distributions, you would do:
sudo apt update && sudo apt upgradeWhat that does is: contacting the server apt uses && (and) download and install available updates that apt found.
That is just a common example; you might want to check out this video to learn more:
Beginner's Guide To The Linux Terminal ~ DistroTube
Another way of getting information about CLI programs is by running the man command in order to see a program's manual. You also have the fancier tldr, which makes the man information more digestible.
The point is, the CLI is your friend. It will surprise you to learn just how far we pushed the humble terminal. To start, just search terminal on your Linux's graphical program searcher and start playing! One more thing, terminal programs rarely have mouse support; you will have to type a lot.
Oh, and there are some helper programs that make the default text interface behave nicer; make sure to check out fish and Oh My Zsh. Time to start playing!
Managing software & updates
Tell me, do you know why Windows 10 getting discontinued affects users, even if it still works perfectly fine on any machine that has it installed after the discontinuation date? The software doesn't get updated. You don't get new features, and most importantly, you don't get security updates.
That leaves you open to all kinds of evil people doing funky things with your computer without permission and without pretending they aren't doing those things (I am looking at you, Windows Mac).
Linux's security is truly reliant on software updates. Instead of an antivirus running in the background, you need to keep your programs updated and hope they outpace the malware developers in fixing vulnerabilities before they can try hacking into your system. This method is surprisingly effective; otherwise, we wouldn't have most of the internet running off of Linux machines.
There are two ways of managing software in Linux; the first one is with a CLI interface. Thankfully, Arch Linux did the heavy lifting for me; in here you can find a ton of useful commands that will allow you to understand how to manage your software via the CLI, regardless of what Linux you are using.
Graphical interfaces for managing software usually just run those commands behind the scenes, but with extra nice things like seeing the icon, description, and some screenshots of whatever program you want to install. The interesting thing comes when we distance ourselves from the normal package managers distros use.
The normal thing is having the distribution manage software for you, but there are multiple third party package managers that get Linux software to another level. These tools work by placing all necessary pieces of the program into a container. What this does is make the program available anywhere that has the third-party store installed, allowing developers to distribute the programs to their users in an easier way, with the only downside being the programs taking up more hard drive space.
There are two main third-party containerized package managers, Flatpak and Snap.
I will not be focusing on Snap because I think its existence is unnecessary.
Flatpak is pretty useful, it allows you to have the latest versions of the software, directly from the developer, but it has some drawbacks. Mainly, it will prevent you from doing things and the programs from working correctly due to the containerization of the software. They label it as a security feature, but it has been proven that it's quite easy to bypass. This "feature" might obstruct programs from getting correctly themed or by restricting access to the file system, making some programs unable to find files and folders. Thankfully, you can bypass that restriction with the Flatseal program, but only use it for that if you really need it.
AppImages also exist. They do the same trick of shipping everything the program needs, but without the ability to get updated by a server (Flatpak has an update command) and without containerization. It's a cool technology, but you should treat it as the last option before compiling.
Now, for some updating tricks. Always do your backups before updating. Then, don't install software without updating, as it can make your system perform a partial upgrade, this error could prove deadly. You should also try to keep the power of the computer running if it's updating the Linux Kernel itself, as the system can become unbootable if that process gets interrupted.
Talking about the kernel, you should keep multiple versions installed in your system. Some, like Fedora/Ultramarine, save old versions for a while. Others, like ones based on Arch or Ubuntu, give you multiple kernels that you can pick from in their software stores.
Last but not least, things like drivers or codecs could hide in plain sight inside the repositories of software available to your distro. Make sure to check the documentation for drivers/codecs for your hardware and distribution. For example, few distributions install the full Vulkan drivers out of the box, or many fail to install complete support for compressed files, like Ubuntu. There are also some more dangerous (but very useful) third-party repositories for distributions, like PPAs in Ubuntu, RPM Fusion and Terra on Fedora, and the AUR and Chaotic AUR on Arch Linux.
Asking for help
It's normal to hit a wall from time to time, and you should ask for help. Linux is a community effort. Most distributions have learning resources, forums, and group chats that you can reach out to in times of need.
You have to remember that the most important thing before asking for help is that you try to figure it out yourself. Most programs that fail give you some kind of error message; you could search the error it gives you online and see if anybody else had the same thing.
Another significant action is to search in the program's existing bug reports; maybe it was already fixed, and all you need to do is to update. And if you have no other choice but to ask someone for help, try to give them a detailed description of what went wrong, alongside your basic hardware information (what a program like fastfetch gives to you, alongside what versions in particular of the software you are running). One more thing: you should remember that "this works on my machine" is a very common thing; each setup is unique. You might have the same model as somebody else, but yours could have faulty memory, for example. Expecting software to behave properly is like asking a pig to fly.
As time goes on and your Linux knowledge grows, you should try to help people, be they friends, family, or online strangers. The important thing is that the cycle of helping each other has to continue. This is what FOSS and Linux should be: helping each other.
Conclusion
It's too early to tell what will happen next in the world of computers. What is certain is that Windows 10 is dead and we will have to deal with it.
With this article, I am just trying to make the dream of more free, private, and sustainable computing closer to a reality, but nothing will change the fact that Microsoft just did something truly horrible. Unlike other versions that had around 15% when they got the EOL, Windows 10 still has around 40% of market share among operating systems, and the number of people left in the dust with this EOL is shocking.
I am also a bit shocked about how few creators used this circumstance to do a video; the biggest one so far was Michael MJD and Rob Braxman Tech's video, I was expecting something from LTT or more mainstream technology authors, but mostly radio silence outside of Linux spaces.
I wonder, what will happen to the market share of Windows 10 in the coming days? Will there be any big, bad, nasty, massive attacks? What reports will we get from recyclers and market sellers?
I hope this article was helpful. If you have any doubts about Linux or suggestions to make this article better, let me know.
See you later!