This is a concise guide to install Linux. It can be used as a standalone guide, although we recommend that you attend our Install Events during the LinuxDays so that experienced users can help you with your installation.
The guide help you to create an install stick, prepare your existing operating system and finally install Linux. We also included some links to distribution-specific installation resources, for the most up-to-date instructions.
At the end of the guide, we include some software recommendations.
Installing Linux is done in three steps:
We will help you at each step. If you encounter problems or have suggestions how to improve this guide feel free to reach out!
You can skip this part if you do not physically attend the install events
Welcome to the LinuxDays Install Event! We are happy you could make it.
Our staff is easily recognizable by their blue T-Shirts. Feel free to ask them about Linux, TheAlternative, Free Software or anything else.
We will help you if you are unable to proceed with the install guide or have any other questions. If we do not have an immediate answer, we know who to ask or where to look it up.
Also, feel free to stay and just chat :)
We have prepared some laptops with different distribution and desktop environments. You can try them out, and decide what you like best.
If you do not really care or can not decide, we will try to recommend something based on what you want to use Linux for.
We have prepared USB Install Sticks so you can get started right away with installing Linux.
Further, we have printed copies of the Install Guide if you rather have a printed version than look at it on you phone.
We have adapters (like USB to LAN), hubs, mouse and keyboards, …
You will prepare a stick from which you can install Linux from.
If you are at one of our Install Events, we already prepared USB sticks. Choose a distribution (read on) then come to the welcome desk to get your stick.
In the words of Richard Stallman:
What you’re referring to as Linux, is in fact, GNU/Linux, or as I’ve recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system > made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX."
In simpler terms: Linux by itself is not a full operating system (rather than a vital technical part of it). You need to choose a distribution (a “wrapper” around Linux) which will define to a large extend how you as a user will interact with the operating system (like installing new programs, how the desktop looks by default, …).
As choosing a distribution is heavily opiniated, we describe it here very short. Feel free to reach out to us for a personal recommendation based on your specific needs.
If you “just want Linux”, we recommend you go with Ubuntu. As a more open but also very stable alternative we recommend Fedora. Truly Free (as in Freedom!) is FreeBSD.
For each of these distributions we give you starting points for a successful installation. If you want to install other distributions feel free to do so; and we will do our best to help you. If you are an enthusiast and want to try to install something more advanced (like Arch Linux) come join us :).
You need to download an image containing the operating system installer. Visit the webpage of your favourite distribution and download it.
If you have to choose from multiple versions, here some guidance of commonly used terms:
amd64
, i386
, … refers to the architecture of your device. If you have a laptop / PC, it is very likely that you need amd64
(else you’d probably know it).LTS
stands for long term support; meaning this specific version of the distribution will receive security updates for much longer than other versions.Get a USB stick of at least 8 Gb (make sure you do not need the data on it anymore!). Flash (=“Put”) the .iso file you have just downloaded on the USB stick.
On windows, you can use rufus. On macOS, you can use etcher.
If you want to keep your existing operating system (Windows or macOS) you need to prepare it. This will allow you to “double-boot”, hence choose at startup which operating system to run.
If you do not want to keep your existing operating system, you can skip this section.
Disk partitioning is the separation of different regions on a hard drive or an SSD. This separation is used to install two different operating systems on a computer or simply to have different regions for different purposes (like a partition for your data and one for the programs).
We recommend to have at least 40GB of space partitioned for Linux. If you know you need programs for your studies (e.g. Matlab, which is around 30GB), please have enough free disk space to install the desired programs and probably some extra, just in case.
Be aware that repartitioning later is practically impossible, so try to be on the safe side. If you do not have space constraints, with 100Gb all you wildest wishes should be fulfillable.
If you have Windows (and want to keep it) follow on.
Shrink Windows partition:
create and format hard disk partitions
or diskmgmt.msc
.Shrink Volume...
If you are unable to shrink the partition, use a tool like EaseUS Partition Master
or try it in the Linux installer. Ask a helper for assistance.
If you do not have enough space, you can free up disk space with these tips:
Disk Cleanup
and click on Clean up system files
. Select all that apply.Add or Remove Programs
and remove unneeded programsWinDirStat
from https://windirstat.net/ and find where the large files are hidingBitlocker encrypts your disk, but unfortunately it is not compatible with Linux boot loaders.
Disable Bitlocker:
cmd
as administrator: Press Windows Key, type cmd
, then right click on Command Prompt
and select Run as administrator
)manage-bde -status
and look for Conversion Status: Fully Decrypted
Fully Decrypted
, type manage-bde -unlock C:
(replace C:
with the drive you need to decrypt), and press Enter.manage-bde -status
for status updates)You can also try to disable Bitlocker over the UI (look for Manage Bitlocker
) but it has been confusing to do so in the last few years.
Fast boot
allows Windows to boot faster, but when it is active, the windows file system will be inaccessible to other OSes (like Linux).
You can avoid the Fast boot
mode by explicitly choosing to Restart
(rather than Shut down
) in windows.
Alternatively, you can simply disable fast boot:
Power Options
Choose what the power buttons do
Change settings that are currently unavailable
Turn on fast startup
Make sure your Linux install stick is plugged into your PC.
Click Restart
in the Windows start menu, while holding down the Shift
key. A Please wait
-text appears, after which Windows should enter the troubleshooting menu.
From this menu you can choose a startup device, or enter the UEFI settings.
Use a device
. As we want to boot from the Linux USB stick choose USB FDD
or similar.Troubleshoot
, Advanced Options
and then UEFI Firmware Settings
.If none of this works, you can try to change the startup device immediately after booting. This guide will explain how in the next chapter.
Note that on modern Apple computers it is generally not advisable to install Linux (MacBooks after 2016 simply are not very compatible with Linux.)
Up-to-date information on the status of Linux support on MacBooks can be found here.
On OS X, we will resize your existing partition to make space for your new Linux system.
/Applications/Utilities
and open the Disk Utility
.Partition
.Apply
to confirm the shrinking operation.We will install the bootloader on OS X before the Linux installation. rEFInd will boot your USB Install Medium as well as your operating system later on.
Application/Utilities
and opening Terminal
.cd
(with a space afterwards, but do not press Enter yet) and drag the extracted folder into the terminal../refind-install
.In case you get an error message saying ALERT: SIP ENABLED, you need to do the following:
Cmd + R
immediately after turning it on again (you might want to hold it for a while).recovery mode
. Go to Utilities
and open up a terminal.csrutil disable
.csrutil enable
.We will now boot from your USB Install Medium.
Escape
to refresh the list. It should show up now.You are all set to install Linux on your device.
If you have not yet done so; ensure you have backed up all your data! In the (unlikely) case something goes terribly wrong, you can recover your data.
You now want to boot from the USB stick (if you have not already done so, depending on your existing operating system).
This step can be tricky, as the way to accomplish this is different over different devices and brands. Generally you need to look for something like “BIOS” or “startup device”. You then need to choose the USB stick as the startup device.
You can enter the BIOS or change the startup device usually with the function keys (such as F1, F8, F10, F12) or with other keys like ESC or Enter.
The most common keys by brand: - Lenovo: Enter - HP: Esc
This can either be done automatically by the Linux distributions installer, or manually if you want more control over your setup. If you are unsure about what setup you want, it might be best to follow the automatic setup.
The various installers usually offer an option to either install alongside an existing operating system (Windows/Mac), or to use the entire disk and erase previously installed systems. If you choose to install alongside something else, there is usually an option to choose how much space you want to allocate for the new system. Note that the partition for the old system will also have to shrink by this amount.
If you want a manual setup these are some partitions you might consider:
/boot
: This is the boot partition for EFI. This already exists and will be reused when installing your new operating system./
(root). A root partition is required for all installations. This is where all the operating system files live./home
: Some users like to their home directory on a different partition. This can make re-installation of a distribution easier. However, this is entirely optional./swap
: A swap partition is used as an extension for your machines memory, if it ever fills up. Nowadays, a lot of people omit this on personal computers.You will also be able to choose a file system for /
and /home
. Almost always the ext4
filesystem should be used. If you know what you are doing, you can of course also choose something else.
We recommend to follow the official install-guide for installing Ubuntu.
As further resources, we recommend the Ubuntu Wiki and the askubuntu StackExchange.
The top-level documentation for Fedora can be found on the official Fedora docs website.
The following links are a good starting point:
For getting started with OpenSuse we recommend going through Unofficial openSUSE Guide, since it gives a good overview and can save you some time.
Also check out the Start-Up Guide from their website and the documentation if you have further questions or want to work with the official material.
These are software recommendations for Linux. Most of these are graphical programs, but there are some programs that run in the terminal only. Note that these programs have various licenses, some might not even be “libre” software (due to them becoming closed source at a later point, or this list having errors)!
Some programs are annotated if they are best used on GNOME or KDE. This does not mean they cannot be used on the other environment, but the visual integration might be lacking in these cases.
Use case | Application | Comment |
---|---|---|
Office suite | LibreOffice | |
Office suite | OnlyOffice | Looks much nicer than LibreOffice |
PDF viewer | Zathura | All desktop environments include a PDF viewer. Zathura is another, more simple option. |
Note taking, PDF annotation | Xournal | |
LaTeX editor | Texstudio, Texmaker, GNOME LaTeX | Texstudio/Texmaker are “what you see is what you get”, GNOME LaTeX uses a “write, then compile” workflow. |
Mindmapping | vym | |
Design/Publishing | Scribus | |
Simple Text Editor | Gedit/Geany (GNOME), Kwrite/Kate (KDE) | |
Advanced Text Editor | vim, emacs | These are a bit more difficult to learn, but are very popular with power users. |
File manager | PCManFM, ranger/nnn (Terminal) | All desktop environments include a file manager, these are other more advanced options. |
CAD | FreeCAD |
Use case | Application | Comment |
---|---|---|
Image editing | GIMP, Pinta | GIMP is a more fully featured editor, similar to Photoshop. Pinta is inspired by Paint.NET. |
Painting | Krita | |
3D Animation | Blender | |
Photo management | Darktable, Digikam | |
Scanning | Skanlite (KDE), SimpleScan (GNOME) | |
OCR (Text Recognition) | OCRGui, OCRmyPDF (Terminal) |
Use case | Application | Comment |
---|---|---|
Video Player | mpv, VLC, Totem (GNOME) | Desktop environments have a default video player, but mpv/VLC are usually more powerful. |
Audio editing | Audacity | |
MP3 tagging | Picard | |
Digital Audio Workstation (DAW) | Ardour | |
YouTube downloader | youtube-dl (Terminal) | Requires regular updates, because YouTube changes their website rather often |
Screen recording | OBS, SimpleScreenRecorder | OBS is very powerful, SimpleScreenRecorder is more simple option. |
Use case | Application | Comment |
---|---|---|
Matlab | Python+Numpy, Octave | Octave tries to be similar to Matlab, while Python+Numpy is rather different. |
Statistics | R, PSPP | |
ArcGIS | QGIS, GRASS GIS |
Use case | Application | Comment |
---|---|---|
Web Browser | Firefox, Chromium, qutebrowser | We recommend using Chromium instead of Google Chrome on Linux |
Thunderbird, KMail (KDE), Evolution (GNOME), mutt (Terminal) | ||
Instant Messaging | Telegram, Pidgin, Empathy (GNOME) | |
Torrent client | Transmission (GNOME), Ktorrent (KDE), Deluge, rtorrent (Terminal) | |
Voice chat | Mumble, Empathy (GNOME) | |
File synchronization | Syncthing, Nextcloud, OwnCloud, Seafile |
Use case | Application | Comment |
---|---|---|
Disk usage | Baobab (GNOME), Filelight (KDE), ncdu (Terminal) | |
Virtualization | virt-manager, VirtualBox, GNOME Boxes | |
Backup | borg backup, Déjà Dup | |
System monitor | htop (Terminal) | The desktop environment have their own system monitor included. |
Use case | Application | Comment |
---|---|---|
IDE | IntelliJ, Eclipse, Code::Blocks, Android Studio, Geany, Qt Creator, Gnome Builder | Some of these might not be Free and Open Source! |
Use case | Application | Comment |
---|---|---|
Dropdown terminal | Guake (GNOME), Yakuake (KDE) | |
Clipboard manager | Glipper (GNOME), Clipman (XFCE) | The desktop environment each have their own clipboard manager. |
A chapter for some advanced troubleshooting. If you need something contained in this chapter, better ask some advanced user for help (or one of our helpers if you are at our Install Event).
Microsoft Surface devices usually require a patched kernel. See this project to install such a kernel.
openSUSE:
sudo zypper install b43-fwcutter
sudo /usr/sbin/install_bcm43xx_firmware
Ubuntu:
sudo apt install firmware-b43-installer
zypper ref
zypper install broadcom-wl
Boot with nomodeset
kernel parameter, then either install proprietary NVIDIA drivers or disable the NVIDIA graphics entirely.
echo 'blacklist nouveau' | tee /etc/modprobe.d/blacklist.conf
Some types of newer Acer notebooks need special settings for Secure Boot in order to boot an installed GNU/Linux system at all. If you installed eg. Ubuntu but it directly boots Windows without giving you a GRUB selection screen, try the following guide: https://askubuntu.com/questions/771455/dual-boot-ubuntu-with-windows-on-acer-aspire/771749#771749
To chroot into an installed system from a live iso, do the following:
sudo su
mount /dev/sdaX /mnt
, where sdaX
is your root partitionmount /dev/sda1 /mnt/boot/efi
(assuming sda1
is your EFI partition)mount -t proc proc /mnt/proc/
mount -t sysfs sys /mnt/sys/
mount -o bind /dev /mnt/dev/
chroot /mnt /bin/bash
efibootmgr
prints all boot entries.efibootmgr -o XXXX,YYYY,ZZZZ
sets the boot order.efibootmgr -b <number> -B
deletes an EFI boot entry.Especially newer laptops (2018+) have options to switch between RAID and AHCI boot mode.
If the laptop is running in RAID mode and Linux does not recognize its drives, it will have to be switched to AHCI. Unfortunately, this also means Windows needs to be reconfigured, otherwise it won’t boot anymore.
cmd
bcdedit /set {current} safeboot minimal
(ALT: bcdedit /set safeboot minimal
)bcdedit /deletevalue {current} safeboot
(ALT: bcdedit /deletevalue safeboot)Do not change any BIOS/UEFI settings before disabling BitLocker! You will have to provide the decryption key otherwise, which the user typically has no access to.
manage-bde -off C:
, where C:
is the drive you want to decrypt.manage-bde -status
to query the decryption status.If you change any UEFI settings on a BitLocker encrypted device (typically Surface devices), you will be prompted for the BitLocker key on next boot.
Since Surface devices come encrypted out of the box, the user does typically not have that key and Windows will refuse to boot. If this happens, resetting the UEFI settings to factory settings should fix the issue.
Alternatively, you can just enter the correct Bitlocker key. This works only if the user has a Microsoft account linked to the device. You can get the BitLocker key as follows:
Some very bad firmwares just refuse to boot GRUB, however you configure it. This “bootloader hack” can be applied in these cases.
/boot/efi/EFI/Microsoft/Boot
and locate a file named bootmgfw.efi
. Rename it to bootmgfw-original.efi
./boot/efi/EFI/grub2
(sometimes also just grub
) and locate the file grubx64.efi
. Copy it over to /boot/efi/EFI/Microsoft/Boot/
. If a file called shimx64.efi
exists, copy that one over as well.grub.cfg
in /boot/efi/EFI/grub2
and copy it over to /boot/efi/EFI/Microsoft/Boot/
./boot/efi/EFI/Microsoft/Boot/
. If shimx64.efi
exists, rename it to bootmgfw.efi
. If it does not exist, rename grubx64.efi
to bootmgfw.efi
./boot/grub/
, or /boot/opensuse/
(the exact folder path may vary). Find the file grub.cfg
and open it. Find the menuentry
block for Windows (usually called “Windows Bootloader (on /dev/sdx)” or similar). Copy the entire block.os-prober
.os-prober
in its name exists, delete it.40-custom.cfg
. If it doesn’t exist, create it. Paste the menuentry block you copied earlier in this file.bootmgfw.efi
and change it to bootmgfw-original.efi
.grub-mkconfig -o /boot/grub/grub.cfg
. Make sure the file path matches the path where you originally found the grub.cfg
you copied the menuentry from.