This Linux installation guide may seem long, but it’s not very difficult. It covers as many common cases as possible, and also aims to be informative.
Table of Contents
You should ALWAYS backup your important files before installing a new operating system, regardless of the OS. In the rare case that the installer messes up, you will lose your data if you don’t back it up.
Figuring out if your system supports GPT/UEFI, as Legacy/BIOS/MBR systems can’t boot from GPT/UEFI installation media. The best way to check is on your motherboard’s specifications. An alternative solution (albeit not as effective) for Windows, is to check what your current partition table is by running
$env:firmware_type in powershell.
If your current OS is installed with MBR, your motherboard may still support GPT, with Windows just not being installed properly. GPT is typically preferred, so you should check your motherboard’s specifications if possible.
Unlike Windows or macOS, there are many variants/distributions of Linux called “distros.”
There are many reasons you may want to pick one distro over another. Some distros are designed to be very easy to use, some are designed to be very stable, and some are designed to be bleeding-edge and offer the utmost customizability.
|Ubuntu and its flavors||Arguably the most popular distros, designed to be easy to use.|
|Mint||Another easy to use distro based on Ubuntu.|
|ElementaryOS||An Ubuntu-based distro that looks just like macOS (to download for free, set custom donation amount to 0).|
|Debian||A very stable distro, which Ubuntu and many other distros are based on.|
|EndavourOS||A bleeding-edge distro that aims to remain relatively easy-to-use.|
|Arch||A bleeding-edge distro meant for advanced Linux users, not for new users. EndavourOS and many other distros are based on it.|
The rest of this guide will be focusing mostly on Ubuntu and its derivatives (such as Xubuntu). Things may be a little different if you’re using another distribution of Linux, such as Debian/Fedora/Mint, but many concepts will still apply.
- Use a 64-bit version of the distro you choose whenever possible. Ubuntu no longer makes 32-bit releases, even though the flavors still do. 32-bit OS’s only support a maximum of just under 4 GB of RAM (no, PAE is not a magic solution to this problem). Many pieces of software, such as Google Chrome, only have a 64-bit version. There are no compatibility issues, since 64-bit computers can also run 32-bit software. Most computers made in 2007 or later are 64-bit systems. If your computer is only 32-bit, at this point it’s getting too old to be useful, so consider recycling it.
- Use the LTS version of your distro, if applicable. Ubuntu numbers their releases YY.MM, or the 2-digit Year and then the Month (16.10, 17.04, etc). They are released every 6 months in April and October, and most are supported for 9 months. However, even-numbered years with April as the month are Long-Term Support releases (16.04, 18.04, 20.04, etc). These LTS versions, released every 2 years, are supported for 5 years, and thus are more stable.
- Linux does not need to be installed on your storage drive. A “live session” can run directly off a flash drive with the installation files on it, which is good for trying it out before you decide to install it. Live sessions don’t save your files after a reboot, but flash drives with Linux installed can be made persistent, so that changes can be saved.
After you’ve downloaded the distro of your choice, you should have an ISO file. You will need to write it to a USB drive (just copying the ISO file over won’t work, there’s a special technique to write them). An 8GB+ flash drive is typically large enough.
Warning: This will wipe all existing data on the USB drive.
- Download and run Rufus.
- Select “ISO Image” and then browse for the ISO image.
- Select which flash drive you want to put the installer on.
- Select the target system type (GPT/MBR) depending on your motherboard’s capabilities.
- Click “Start” and wait for it to finish.
- Eject the USB flash drive.
- Download and run Etcher
- Select your downloaded ISO
- Select your target drive
- Click “Flash” and wait for it to finish.
Alternative steps, without using Etcher
- Open the Terminal.
- First, without the flash drive inserted, run
diskutil listin the Terminal.
- Plug in the flash drive and run
diskutil listagain. You can do this to identify the drive device path. The device path is in the form of
/dev/diskN, where N is a number (example:
- Unmount the flash drive you have identified.
diskutil unmountdisk /dev/diskN.
- Convert the ISO image.
hdiutil convert /path/to/image.iso -format UDRW -o /path/to/ubuntu.img
- Write the image to the flash drive.
dd if=/path/to/image.img of=/dev/rdiskN. Using
/dev/diskNusually results in faster media creation.
- Wait until dd finishes. It will not display progress, but the terminal will display the next prompt when it’s done.
- Eject the USB flash drive:
diskutil eject /dev/diskN.
- First, without the flash drive inserted, run
lsblkin the Terminal.
- Plug in the flash drive and run
lsblkagain. You can do this to identify the drive device path. The device path is usually in the form of
/dev/sdX, where X is a letter (example:
dd if=/path/to/image.iso of=/dev/sdXto create a bootable drive from the ISO.
- Wait until dd finishes. dd does not display progress, but the terminal will display the next prompt when it’s done.
Alternatively, you can follow our Ventoy guide to make one flash drive that can boot multiple ISO files.
Unplug all drives from the computer except the USB installer drive and the drive you want to install Linux to, to avoid confusion. Reboot the computer and select the installer drive. If you disabled Secure Boot and Fast Boot in BIOS (if applicable), this should be easy.
We will cover the installer for Ubuntu and its flavors in this guide, but the installers for most Linux distros are pretty straightforward.
When the image boots, select “Try”. You can proceed with the installation from “Try”, too, but the “Try” just loads up the live session all the way, which allows you to run programs other than the installer just in case we need to do other things. From the “Try” session, you should connect to WiFi if applicable, as WiFi is one of the most likely things to have problems working (though it still works >95% of the time out of the box) so it’s good to check if it works from here.
Open the installer, select your language, and then check both of the two boxes. If you have a single drive in your system and want the easy option, then you can select one of the easy installation options, such as “Install alongside [existing OS]” or “Erase disk and install.”
The rest of the installation should be mostly self-explanatory. You have to enter the username and password that you want, choose your computer’s name, set your timezone, etc.
Once the installation has finished, it will ask you to reboot. After you restart, you will need to unplug the installation usb.
- Open the “Additional Drivers” menu, if it exists on your chosen distro.
- In most cases, you’ll see your GPU and “Unknown: Unknown”.
- Select the latest drivers for each and then click “Apply Changes”. You will have to enter your password.
- If you do not seem to have this menu, you can type
sudo apt install nvidia-384to install the latest Nvidia graphics card drivers if you have an Nvidia card. You can use apt search nvidia-3 to get a list of available Nvidia graphics drivers.
- If your card is very old, you may wish to get nvidia-490 or nvidia-460 instead.
- Perform all updates.
- Open the “Software Updater” menu, if it exists on your chosen distro, and update your system.
- On Debian-based distros, you can manually type
sudo apt updateand then
sudo apt upgrade. You will have to enter your password to update the system.
On Linux, you install most software via the repositories. In most cases you will not be downloading new software from a web browser. Google Chrome, Dropbox, Discord, and TeamViewer are notable exceptions in which you do have to use a web browser to download them. When you do download software, look for a file that is compatible with your distro’s package manager (
.deb for Debian-based distros,
.rpm for RHEL-based distros, etc).
Since the package manager manages software, you can easily keep your system updated. Regularly either use the built-in software updater tool to keep your system updated.
Use the 64-bit versions of software whenever possible. It saves you disk space due to not having to have 32-bit versions of libraries, and 64-bit packages will generally work better.
Most common software is compatible with Linux. If you need to use software that only natively runs on a different OS, you’ll have to do one of the following:
- Find an alternative application
- Run a VM with the needed OS
- Use a compatibilty layer program such as Wine