- Installing Windows first and then Linux, using GRUB as the boot manager, ensures a stable coexistence of both systems.
- It is key to prepare the disk properly: shrink the Windows partition, leave free space, and correctly create the Linux partitions.
- Secure Boot, Fast Boot, and UEFI mode can cause problems if not configured correctly, but they can be easily adjusted from the UEFI.
- Dual Boot offers maximum performance, although for occasional use a virtual machine or WSL may be more cost-effective.
If you're thinking about installing Linux alongside Windows on the same PC to get the best of both worlds, you've come to the right place. Setting up a dual boot system might seem a little daunting at first, but it's actually quite manageable if you know the steps to take and the mistakes to avoid.
Throughout this guide, we'll calmly walk you through preparing Windows, creating disk space, generating the Linux installation USB drive , and completing the installation so you can choose your operating system every time you turn on your computer. You'll see both the "automatic" method (installing Linux alongside Windows with assistance) and a more advanced method involving manual partitioning, as well as tips to prevent boot errors, advice on Secure Boot, TPM, Fast Boot, and alternatives to dual booting.
Which distro to choose and hardware requirements
Before touching anything on your PC, the first thing to do is decide which GNU/Linux distribution you're going to install . They all share the same kernel (Linux) but differ in their desktop environment, included tools, update methods, and user-friendliness.
For most users coming from Windows, the most sensible option is to choose easy-to-use distributions with good support . Distributions like Ubuntu, Linux Mint , or derivatives (Kubuntu, Xubuntu, etc.) are ideal for beginners: they have very polished installers, a huge community, and tons of tutorials and forums in Spanish where you can find help.
More advanced options exist, such as Arch Linux or Manjaro-like derivatives , which are very flexible and powerful, but require more technical knowledge and rely heavily on technical documentation. For a first-time dual boot setup, they often cause more headaches than necessary, especially when dealing with secure boot, partitions, or drivers.
You can also look at the desktop environment and the system's appearance. If you'd like something visually different from Windows, Ubuntu with GNOME or elementaryOS lean towards a style more similar to macOS. If you prefer something that doesn't take you out of your comfort zone, Linux Mint Cinnamon or Kubuntu offer a more classic look and feel closer to Windows, with a traditional taskbar and start menu.
In terms of hardware, the minimum requirements are similar to those of Windows 10, but in practice you'll need more than the official minimums to be comfortable, especially if you're going to use both systems daily: a modern processor (or at least a multi-core one), 8 GB of RAM as a reasonable base, and an SSD to house the operating systems make a big difference.
Secure Boot, UEFI, TPM and boot mode
Modern computers almost always use UEFI firmware with security features such as Secure Boot and, in the case of Windows 11, TPM 2.0 . These requirements can affect how you install Linux and which distributions you can use without additional complications.
Many popular distributions, such as Ubuntu and Linux Mint , are already configured to work with Secure Boot enabled, so the installer runs without needing to disable anything in the BIOS/UEFI. If you choose a less well-known distribution, it's a good idea to check its documentation to see if it supports Secure Boot.
If your operating system doesn't work with this protection, you'll need to access the UEFI settings and disable Secure Boot . Each manufacturer uses slightly different menus and keys (F2, Delete, F10, Esc, etc.), but the idea is the same: access the firmware when you start your PC, locate the Secure Boot section, and disable it. On some models, this option is locked, so check that before proceeding.
Another important point is the boot mode: UEFI versus Legacy (classic BIOS) . It's not a good idea to have Windows installed in UEFI mode and Linux in Legacy mode, or vice versa, because the firmware can malfunction and boot problems may occur. It's recommended that both systems be installed in the same mode, preferably UEFI on modern computers.
In Windows 10 or 11, you can check this by searching for "System Information" and looking at the "BIOS Mode" field. If it indicates UEFI, it's best to install Linux in UEFI mode as well and make sure to create the bootable USB drive in that mode. On computers where you absolutely must install Windows 11, you'll also need to comply with TPM 2.0 and have Secure Boot enabled.
Prepare space for Linux on the Windows disk
With the firmware issue resolved, it's time to free up disk space. There are two typical scenarios: a brand new computer where you install everything from scratch , or a laptop/PC that already has Windows pre-installed, taking up all the storage space.
If you're starting from scratch, the cleanest approach is to install Windows first, reserving unpartitioned space for Linux during the installation wizard. When creating the Windows partition, you simply leave a portion of the disk unallocated, which you can then use for the Linux distribution installer.
Once Windows is installed and filling almost the entire disk, you'll need to shrink the main Windows partition (usually C:) using its built-in tools. It's crucial to back up your data before modifying partitions; a mistake or a power outage at the wrong time could render your system unusable.
In Windows 10 and 11, open the "Disk Management" tool from the Start menu (by searching for "partitions" or "create and format hard disk partitions"). There you will see the different drives and partitions, including the system and recovery partitions that Windows creates.
Locate your main partition (usually C:, very large and marked as bootable) and right-click on it to select "Shrink Volume ." The wizard will show you how much space you can free up and ask you to specify the size to shrink in MB. As a reference, for normal Linux use you should reserve at least 20-30 GB, although 60 GB or more is better.
After applying the change, you'll see a block marked "Unallocated" appear at the bottom of the window . This is the space we'll use to install Linux, either with the installer's automatic mode or by creating partitions manually. You don't need to create the partition from Windows; just leave that space free and let the distro's installer organize it.
Create a bootable USB drive with the Windows and Linux ISOs
To install both Windows and Linux from scratch (if you choose that route) or to add Linux to an existing system, you will need a USB drive of at least 8 GB for each operating system.
For Windows 10 or 11, the easiest way is to download the official image from the Microsoft website. The Media Creation Tool itself allows you to generate the ISO or directly create a bootable USB drive , selecting the language, edition, and architecture (usually 64-bit).
For Linux, go to the official website of your chosen distribution (Ubuntu, Linux Mint, etc.) and download the corresponding ISO file . Many distributions offer variants with different desktop environments: for example, Linux Mint in Cinnamon, MATE, or Xfce flavors; Ubuntu in its standard version and derivatives like Kubuntu or Xubuntu.
Once you have the ISO, you can use tools like Rufus (very popular on Windows) or Balena Etcher to flash the image to the USB drive. In Rufus, simply select the USB device, click "Select" to specify the ISO, choose the appropriate partition scheme (GPT for UEFI, MBR for BIOS/Legacy), and start the process. If the application prompts you to download additional components, accept to ensure the USB drive is properly prepared.
In the case of Balena Etcher, the process is even simpler: you select the image, the USB drive, and press "Flash." Keep in mind that the contents of the USB drive will be completely erased , so back up any important files before using it for this.
Install Windows first, then Linux
The golden rule for multi-booting is clear: always install Windows before Linux . The reason is that the Linux boot manager (GRUB) is designed to detect other systems and present them with a menu, while the Windows boot manager tends to overwrite everything without asking.
In a clean installation, you boot the PC from the Windows USB drive selected as the first boot device in the BIOS/UEFI. During the wizard, you choose your language, accept the license, select "Custom installation," and then proceed to the partitioning screen.
If the disk is empty, when you create a partition for Windows, the installer will automatically generate additional system partitions (recovery, EFI, MSR) . Make sure to leave the space you intend to use for Linux unallocated; do not format it or create anything else. Once that's done, complete the installation and let Windows finish its initial setup.
Once you have the Windows desktop up and running, you can turn off the computer, connect the bootable Linux USB drive , and go back into the BIOS/UEFI to set that USB drive as the first boot device, or use the fast boot menu key (F12, F8, Esc, etc.) to manually select the USB drive when you turn it on.
Install Linux alongside Windows automatically
Almost all modern Linux distributions offer an option designed for users who want to install Linux alongside Windows without dealing with partitions . The installer detects that a Windows installation is already configured and suggests using the free space to install the new system.
In Ubuntu, for example, after choosing your language, keyboard layout, network connection, and installation type (normal or minimal), you'll reach a screen where the installer will display something like "Install Ubuntu alongside Windows Boot Manager ." If you select this option, the process will automatically redistribute the unallocated space or shrink the existing partition, as needed, and install Ubuntu while respecting the Windows partitions.
This assisted mode is usually sufficient for most users, as it creates the necessary partitions and configures GRUB without requiring too many technical details. Once you confirm the changes, the installer will begin copying files and, in parallel, will ask for information such as time zone, username, password, and computer name.
Once finished, simply restart your computer, remove the USB drive, and you'll see the GRUB menu appear with the options for Linux and Windows . By default, the system usually boots the newly installed distribution after a short wait, although this can be changed later.
Install Linux with manual partitioning (/, /home and swap)
If you want to go a step further and make the most of the disk, you can choose to manually create partitions for Linux . This allows you to separate user data from the system, better adjust sizes, or even prepare for using multiple distributions sharing the same /home directory.
In Ubuntu and similar distributions, when choosing the installation type, instead of the automatic option, select "More options," "Manual installation," or something similar . You will then see a screen with a list of disks (sda, sdb, etc.) and their numbered partitions (sda1, sda2, etc.). The names may vary, but the concept is the same.
Locate the disk where you've freed up space (the block marked as "free space") and, with that segment selected, use the "Add New Partition" button. You'll typically want to create at least three partitions: root (/), home (/home), and swap space.
The root partition is where the operating system will be installed. It's generally recommended to allocate at least 20 to 30 GB if you're not installing very large files, although with larger drives you can allocate more to ensure you have plenty of space. The partition type will be either primary or logical, depending on the disk's layout, the EXT4 file system, and the mount point (/).
The swap partition acts as an extension of RAM when it becomes full, and it's also used for functions like hibernation. On systems with 2 GB of RAM or less, it's generally recommended that the swap space be twice the size of the RAM, but with 8 GB or more, 2-4 GB of swap is usually sufficient. In modern distributions, it's also common to use a swap file instead of a partition, but the classic approach still works very well.
Finally, create the /home partition, which is where your personal files (documents, downloads, user settings, etc.) will be stored. You can allocate all the available space to it, as this is the area where your data will grow the most over time. Keeping /home separate is very practical for reinstalling or changing distributions without having to move your files.
Carefully review the partitioning summary before clicking "Install now" or equivalent, checking that you are not touching the Windows partitions and that the boot manager (GRUB) will be installed on the same disk where you have the UEFI/EFI system , usually the first disk (sda or the corresponding EFI entry).
Dual Boot in Windows 10 and Windows 11
The general procedure for setting up a dual boot system with Windows 10 or Windows 11 is virtually the same : install Windows first, then Linux, and let GRUB handle the boot process. However, Windows 11 introduces some nuances due to its specific requirements.
For Windows 10, you only need to meet the basic requirements of a 1 GHz processor, 2 GB of RAM (64-bit), and some disk space, although in practice you'll want much more to work comfortably. During installation, just remember to reserve space for Linux or shrink the partition later from within Windows, as we've already seen.
In Windows 11, in addition to the minimum resource requirements, Microsoft mandates UEFI, Secure Boot, and TPM 2.0 for an official installation. This doesn't prevent dual booting, but it does impose conditions: the Linux distribution must support booting with Secure Boot, or you'll have to manually disable it in the firmware.
Once Windows 11 is installed, the process for installing Ubuntu or another Linux distribution is identical: create free space, boot from the Linux bootable USB drive , follow the wizard, and choose the option to "Install alongside Windows 11" or manually partition the free space. When finished, GRUB will detect the Windows boot manager and add it to the boot menu.
The only peculiarity is that if you enable BitLocker disk encryption in Windows 11 using the TPM chip, the Windows partitions will appear encrypted from Linux , meaning you won't be able to access their files without the recovery key. If your plan is to share data between both systems, it's best not to encrypt the main Windows drive, or at least ensure that it will only be accessible from within Windows itself.
When is Dual Boot worthwhile and what are the alternatives?
Installing two operating systems on the same PC sounds very appealing, but it's worth considering whether you really need it or if lighter solutions would suffice . With dual boot, you can only use one system at a time, and switching between them requires a restart.
Dual booting shines especially brightly when you need to take advantage of the hardware's native performance with both systems . For example, if you work intensively with Linux (development, system administration, security) but still need Windows for certain commercial programs or games that don't perform as well in a virtual machine.
For more occasional use, a very convenient option is to install Linux in a virtual machine (VirtualBox, VMware, etc.) from within Windows. This allows you to launch the distro in a window, share folders between systems, and avoid messing with the PC's boot process. However, you do lose some performance, especially with graphics and demanding tasks.
Another alternative is to use "Live" formats that run Linux from a USB drive without modifying the hard drive. This is ideal for quick tests, data recovery, or experimenting without worry, although write speeds and data persistence are more limited unless you specifically prepare the USB drive.
Windows 10 and 11 also include the Windows Subsystem for Linux (WSL) , which allows you to run Linux distributions within Windows without dual-booting. It's great for terminal work and development, but if you need a full graphical interface and a classic Linux desktop, it still falls short of a natively installed system.
Common problems in Dual Boot and how to avoid them
Combining two operating systems on the same computer can easily lead to boot errors, configuration conflicts, or minor bugs . Knowing the common problems helps you avoid them or fix them quickly.
One of the most common problems stems from Windows Fast Boot , a type of partial hibernation that saves the kernel to disk instead of shutting down completely. This speeds up booting, but when running alongside another operating system, it can cause inconsistencies in NTFS partitions and lead to errors when switching back to Windows from Linux or accessing its disks.
The recommended solution for a dual-boot PC is to disable Fast Boot in Windows power settings . In Control Panel, go to Hardware and Sound > Power Options > System Configuration and uncheck "Turn on fast startup (recommended)." This also reduces the risk of corruption if Linux writes to the Windows partitions.
Another common scenario is that, after a Windows update, the system changes the boot priority in the UEFI, and GRUB disappears, booting directly into Windows . In these cases, the Linux boot manager usually remains intact, but it has lost its priority.
To fix this, go into your BIOS/UEFI settings and adjust the boot order to prioritize the entry for Linux or your distribution's boot manager (often labeled with the distribution's name or "ubuntu"). If GRUB is truly corrupted, you can boot from a live USB of your distribution and reinstall the bootloader.
It's also possible that, by mixing different boot modes (one in UEFI and the other in Legacy), the PC might refuse to recognize one of the systems. That's why we emphasize using the same boot mode for both : if one is already installed in UEFI, install the other one in UEFI as well, with a shared EFI partition.
Finally, it's not uncommon for a time difference to appear between Windows and Linux when switching operating systems. Linux typically treats hardware time as UTC, while Windows treats it as local time. You can correct this by changing how one of the two systems handles time : for example, in Linux with the command `timedatectl setting local-rtc`, or in Windows by adjusting the registry to interpret the clock as UTC.
Manage GRUB and extend multi-boot support
Once you have Windows and Linux running together, it's quite common to want to customize GRUB or add more operating systems to the boot menu . The Linux boot manager is very flexible in this regard.
From the main distribution that manages the boot process, you can update the GRUB configuration with a simple terminal command (for example, `sudo update-grub` in Ubuntu and derivatives). This forces a scan of all disks, detects any new operating systems you've installed, and automatically adds them to the boot menu.
If you want to adjust details such as the default boot system, the menu timeout, or the order of the entries, you can edit the GRUB configuration file or use the distro's specific graphical tools. Changing the default system is as simple as modifying the entry index or using an option that selects the last booted system.
In more advanced configurations, you can even install third-party systems such as other specialized Linux distributions (Kali, Tails, etc.) on separate partitions or disks. The general recommendation is to continue using the GRUB bootloader of the main distribution as the hub, configuring that distribution's disk as the primary boot device and letting it detect and list the others.
With all that said, setting up a well-executed Windows + Linux dual boot system, with clear partitions, GRUB in control, Fast Boot disabled, and Secure Boot controlled, is much less dramatic than it initially seems. It allows you to get the most out of your hardware with both native operating systems , keeping your data safe and giving you the flexibility to choose which one you want to work with on each boot.
