Picking a Linux distribution
Picking a Linux distribution for daily use comes down to trade-offs. I care about stability, hardware support, and how much fiddling I want to do each week. If you want a sensible daily driver, decide how hands-on you are first. If you like tweaking and do not mind newer software, rolling-release or faster-moving distros like Manjaro or Fedora give you that. If you want less faff, Ubuntu or Linux Mint are calmer choices. Debian sits on the conservative end and is solid if you want fewer surprises.
Think about drivers and proprietary codecs. If you need Nvidia support, pick a distro that makes driver installation easy. If you want a desktop that feels like a polished consumer OS, try Ubuntu with GNOME or Linux Mint with Cinnamon. If you prefer something lighter, XFCE or LXQt work well on older machines.
Match the distro to the machine and to the way you use it. For work that must not break, choose LTS releases. For daily tinkering where you want newer features, choose something with frequent updates. The distro matters less than knowing how to install, check, and repair it. That is what the rest of this guide covers.
Setup
Prepare before you touch partitions or a bootloader. Back up everything you care about. Full disk images are safest. I use Clonezilla for full images. If that feels too heavy, copy Documents, Pictures, and any configuration directories.
Create a bootable USB. I recommend balenaEtcher for cross-platform flashing.
- Open balenaEtcher.
- Click Select image and choose the ISO.
- Click Select target and choose the USB.
- Click Flash.
On Windows, Rufus works. Click Select, choose the ISO, set Partition scheme to GPT if the machine boots UEFI, or MBR for older BIOS, then Start and accept any prompts. On Linux you can use dd:
sudo dd if=path/to/image.iso of=/dev/sdX bs=4M status=progress && sync
Replace /dev/sdX with the USB device path. Check the device with lsblk first.
Set up the firmware side before you install. If Secure Boot is enabled, note that some drivers or third-party modules need Secure Boot disabled or a key enrolled. Get into firmware with the usual key at boot: Esc, F2, F10, or Del depending on the vendor. Set the USB as the first boot device or use the firmware boot menu.
If you plan to dual boot with Windows, disable fast startup in Windows. Fast startup leaves NTFS mounts in a hibernated state and causes filesystem problems.
Steps
Keep the steps small and check each one before moving on.
-
Test the live image.
- Boot the USB and choose Try or Live session.
- Check WiFi and graphics. If both work, carry on.
-
Back up again.
- Copy your important files to an external drive.
-
Resize and partition.
- Open GParted from the live session.
- Right click the Windows partition, choose Resize/Move, shrink it to create free space. Click Apply.
- Run lsblk. You should see the new free space as an unallocated block.
-
Run the installer.
- Choose Install alongside Windows or Manual/Something else if you want control.
- If you use manual partitioning, create an ext4 root partition, a swap partition or swap file, and an EFI partition if one is missing.
- Click Install now and follow the prompts for timezone, keyboard, and user account.
- Partition changes are destructive. If you stop before writing them in GParted, nothing has changed. If you already wrote them and need to go back, restore the Clonezilla image or copy files back from backup.
-
Post-install updates.
- Boot into the new system.
- Open Terminal. For Ubuntu and derivatives:
sudo apt update && sudo apt upgrade -y- For Fedora:
sudo dnf upgrade --refresh- Run uname -r to check the running kernel. Run cat /etc/os-release to check the distro name. Expected output includes NAME=”Ubuntu” or NAME=”Fedora”.
-
Install drivers and codecs.
- On Ubuntu, open Settings > Additional Drivers and apply the recommended drivers.
- For Nvidia, expect a restart after the driver install.
-
Install your apps.
- Use apt, snap, or flatpak depending on preference. Example:
sudo apt install curl vim- Run which vim to check it is installed. Expect something like /usr/bin/vim.
Keep each step small and verify before moving on. That limits damage and makes rollbacks easier.
Checks
After install, run these checks before you call it a daily driver.
-
Boot check.
- Reboot and watch for a clean boot. If it hangs at grub, note the message.
- Run:
sudo journalctl -b -0 | head -n 30Look for repeated error lines in the first 30 lines.
-
User session and graphics.
- Run lspci | grep -i vga to see the GPU. If it shows Intel or Nvidia, check proprietary drivers with Additional Drivers or sudo ubuntu-drivers devices.
-
Network.
- Run nmcli device status. It should list ethernet or wifi as connected.
- Look for connected in the STATE column.
-
Sound and peripherals.
- Play an MP3 or use a web video. If it is muted, open Sound settings and pick the right device.
-
Updates.
- For apt-based systems, run:
sudo apt update && sudo apt list --upgradableAfter a fresh install, expect either no packages or a small list.
-
Snap and Flatpak checks.
- Run snap list and flatpak list to confirm installed snaps or flatpaks.
-
Backup job.
- Check that your backup runs automatically. If you use Deja Dup or rsync via cron, run a test. The backup should complete without errors.
If a check fails, write down the exact error message. That makes troubleshooting quicker.
If it breaks
When this goes wrong, it is usually the bootloader, a driver, or the filesystem. Triage it like this.
-
Boot to a live USB.
- This lets you inspect disks and logs without changing the installed system.
-
Inspect disks and partitions.
- Run lsblk and sudo fdisk -l to see the partition layout.
- If the system does not boot because of GRUB, reinstall GRUB from the live session.
-
Reinstall GRUB for UEFI.
- Mount the root partition:
sudo mount /dev/sda2 /mnt- Bind and chroot:
for i in /dev /dev/pts /proc /sys /run; do sudo mount --bind $i /mnt$i; done sudo chroot /mnt- Install and update grub:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu update-grub- grub-install should finish without error and update-grub should find kernels.
- grub-install changes the bootloader. Know the device names before you run it. If you are not sure, restore the drive image from backup.
-
Restore files or the system image.
- If the filesystem is corrupted, restore from the Clonezilla image or copy personal files back from backup.
-
Check logs.
- Use journalctl -b -1 to read the previous boot. Search for error or failed.
- Check /var/log for installer logs.
If the problem is driver-related, boot with the Nouveau driver disabled or with safe graphics mode, install the vendor driver, and reboot.
Pick a distro that matches how much fiddling you want. Test the image in a live session. Back up before partitioning. Use the steps above, check each change, and keep a recent full-disk image for rollback.

