This is geared toward new Linux users who have a newer UEFI-based computer that has Windows 8/8.1/10 pre-installed. (Most of the time Windows is installed in UEFI/EFI-mode; so this tutorial focuses on that. The beginning of tutorial shows you how to determine which mode Windows was installed in. If it's UEFI/EFI mode, use this tutorial. If it's BIOS/Legacy mode then standard installation procedures should be followed and this tutorial is NOT meant for that.) If you are experienced with partitioning and installing operating systems, skip over the basic information you already know.
UEFI firmware settings vary from one manufacturer to another, making it impossible specify "exact" steps for settings changes. Therefore, I've just listed most of the basic steps for preparation and installation. You'll need to refer to your computer manufacturer's user manual (or motherboard manufacturer's user manual) for specific instructions related to UEFI settings and how to access them.
NOTE: If you run into problems, please post support requests to the "Installation and Boot" section of the forum. This is the "Tutorials" section and most forum members (myself included) do not scan these pages to see if people need help. If you post for help here, it could be days or weeks before anyone notices.
Dual-Boot Installation of Linux with Windows 8/8.1/10
Below is a list of generic steps first. After that I have listed sources for more information and/or gone into more detail on some basic subjects and terminology for those who may need that information.
Pick a Mint version to Install:
* Here is a list of all Mint releases: https://linuxmint.com/download_all.php.
* Pick a 64-bit version of Mint.
* Note that some are "Long Term Support" (LTS) releases supported with updates for 5 years. Others are interim releases only supported for 9 months. The interim releases generally have newer versions of software and new features that might be added to future LTS versions.
* Pick a version that is still being supported, not one that support has expired for.
* Each version will also give you a choice of Desktop Environments -- basically, those are slightly different user environments that can include different core components, default programs, look & feel, etc. Try a few different ones to see which you like the most.
* Download the chosen ISO file and burn the image to a DVD or make a "live" USB. Burning the "image" to DVD is different than burning "data". Use a search engine to find out how to "Burn an ISO file to DVD in Windows 8" if you don't know how. To make a live, bootable USB use one of these programs:
http://rufus.akeo.ie/ (many positive reports from users of this)
Preparing Windows for the Linux Installation:
* In the event of a disaster, or mistake, backup all important data.
* Create a recovery disk if you haven't already done so. (See near bottom of page for more info.)
* Determine for sure if Windows was installed in UEFI/EFI-mode. (See here: What's Your Boot Mode?.) Another way to determine that is to open Windows Disk Management and look at the partitions on the hard drive. If you see a small (200-550MB) partition formatted as FAT32 that says "EFI System Partition", or "System" with the boot flag enabled on it -- then Windows is in EFI-mode. (Note: it must be a small FAT32 partition. You may also see a small NTFS partition, but that is not what you are looking for.)
* To make things easier, disable "Secure Boot". (See near bottom of page for more info.)
* Disable Windows "Fast Startup" feature. (See near bottom of page for more info.)
* If Windows partitions cover the entire hard drive, you will need to shrink one of them to make room for the Linux installation.
* Have Windows first defragment the partition you will be shrinking.
* Use Windows disk management program to shrink the partition to make room for the Linux installation. (NOTE: if Windows will not allow you to shrink enough to make space for Linux, make a post for help in the Installation & Boot section of the forum -- not under this thread. There is a way around the problem, but it varies depending on the version of Windows you are using.)
* Reboot computer into Windows after the shrinking so it can make any adjustments it needs to make for the new size.
* Do a FULL shutdown of Windows. (See near bottom of page for more info.)
(NOTE: You can either make partitions ahead of time, or create them during the installation process. I believe it's easiest to make them first then direct the installer to use them, so that's what I describe below. If you would rather make them during the installation, here is a tutorial geared to doing that: How to install with manual partitioning. Ignore references to "extended" and "logical" partitions in tutorial. All partitions of a GPT disk will be "primary".)
* You NEED to boot your installation DVD/USB in UEFI/EFI-mode. If it gets booted in Legacy mode, you will end up with an installation that won't boot, or the installer will not recognize that Windows even exists on the hard drive and you risk wiping it out. Almost all computers enable access to both a main UEFI Settings/Startup Menu and a separate Boot Menu. The main Settings Menu allows you to control the general boot mode of computer for all startups (as well as letting you change a number of other things). The separate Boot Menu lets you change you boot choice (and the boot mode for that choice) for only the current power-up session of the computer. (The change does not stick for future boot-ups.) The Boot Menu is what you want to bring up when booting your Mint DVD/USB. There will be a choice to boot the DVD/USB in either UEFI-mode or Legacy (or similar wording) mode. Pick UEFI-mode!
(Each manufacturer uses a different set of keys to access the Settings and Boot Menus, so you may have to look that up for your computer. A couple of the more common keys used to access the Boot Menu are the <F12> key and the <Esc> key. When you find out the key to use, start slowly, repeatedly tapping that key immediately after turning on computer.)
After booting your DVD/USB, open a terminal (typically found under Menu -> Accessories -> Terminal) and enter this command to confirm that it booted in EFI-mode:
Code: Select all
If you see "efi" listed in the output, you succeeded in booting in EFI-mode. If not, reboot and try again.
* Once booted into live DVD/USB, open GParted to make partitions for Linux (Menu -> Administration (or System) -> GParted).
* If GParted is not listed, install it by opening a terminal (Menu -> Accessories -> Terminal) and entering the following command:
Code: Select all
sudo apt-get install gparted
* See this tutorial for how to use GParted: GParted partitioning software - Full tutorial
* You need at least one partition for root ("/") and one partition for swap. If you want to separate your data from the system files, make a home partition (/home) as well.
* Very General Partitioning Guideline:
- -- Root partition = 20GB size, Ext4 file system
-- Swap partition = 1-2 times amount of RAM, formatted "linux-swap"
-- Home partition = Ext4 file system, rest of available space (should be the largest partition)
* Go through preliminary steps and when asked how to install, choose the "Something else" option.
* Next page will show all partitions available on the drive.
* You now need to select the partitions you made and assign mount points to them for the installer.
* Highlight the partition you made for root, then click the "Change" button and fill in the appropriate details.
- * Use as = Ext4 journaling file system
* Size = keep as you already have it
* Mount Point = /
* No need to check the format box if you already formatted it with GParted. (If creating partitions during installation, then click the format box as shown in pic.)
* Click "OK" when done.
* If you made a home partition, do the same except make the mount point = /home.
* Highlight the EFI System Partition (usually a 200-550MB partition formatted FAT32) that Windows already created on the system and click "Change". Make sure it's set to EFI System Partition, (or EFI boot partition, or /boot/efi) -- leave the size and formatting alone (do not change them). Here is a screenshot example of what you should see (your partition size may be different):
See this post for a fuller description of what this step looks like if needed: http://forums.linuxmint.com/viewtopic.php?f=46&t=163238&p=840112#p840090.
* No need to do anything with the swap partition -- the installer will automatically recognize and use it.
* VERY IMPORTANT STEP!!! Near bottom of window, "Device for bootloader installation" should be the EFI System Partition. Select that one in the drop-down box. It will be a small (200-550MB) partition formatted as FAT32. It will likely be /dev/sda1 or /dev/sda2; but double-check that to be sure.
If you succeed with the installation, it would probably help future users if you posted under here with the specs of your computer and what UEFI settings ended up working for you. (If there was anything else you needed to do in addition to steps listed here, that would be nice to know also.) I'm sure users with the same or similar set-up as yours will greatly appreciate it! A quick easy way to list your computer specs is to open a terminal (Menu -> Accessories -> Terminal) and enter this command:
Code: Select all
Then just copy/paste the output into the forum reply interface. Thanks!
If you've followed these steps and the installation appeared to operate properly, but you have problems booting into Mint or Windows afterwards, submit a new post in the forum asking for help. The problem may be related to your graphics card, or something else that can be fixed without the need to go through the install procedure again (which will likely just have the same result). Post as many details as you can about the problem, including any error messages seen. Also let people know exactly which version of Mint and desktop environment you are using. Basic specs and/or the computer model you are using are also helpful to those who may provide answers.
Brief, general description of boot process when starting a computer:
* Push the power button
* Built-in firmware on the motherboard handles the initial startup, (see here for more details).
* Then points to a bootloader in the Master Boot Record of hard drive (on BIOS-based systems), or an EFI System Partition on the hard drive (on UEFI/EFI-based systems).
* Which then boots the operating system. (On BIOS-based systems, stage 1 of bootloader is on MBR, which then points to stage 2 boot files elsewhere on drive to boot the OS.)
Hard Drive -- physical device that holds the operating system and your data files. It can be setup with one or more partitions to hold everything.
Partitions -- separate divisions of space on a hard drive to organize files. MS Windows frequently refers to these spaces as "drives" (eg. "C:" drive, "D:" drive, etc.) -- which is technically incorrect way to describe them. If those "drives" are all contained on the same physical device (hard drive), that is a technically incorrect description of what they are. They are partitions, not drives! When a Linux user says "drives" he/she is referring to separate physical devices, not partitions. Remember this distinction and try to use correct terminology when asking for help on a Linux forum -- it will eliminate misunderstandings.
MBR -- Master Boot Record. The first 512 bytes on a drive. Holds the partition table of drive and 1st stage of boot loader for operating system. You won't see it when using partitioning software -- it's not a partition.
MBR Partitioned Disks -- used on BIOS-based computers and is limited to having up to 4 "primary" partitions, or a combination of primary partitions and an "extended" partition that can house "logical" partitions to get around the 4-partition limit. (Some UEFI-based computers will allow for partitioning in MBR format, but is more typical for them to use GPT partitions.) MBR is limited in ability to read drive capacities greater than 2TiB.
GPT -- GUID Partition Table. Similar to MBR, but newer and more advanced. (Forum member srs5694 has a better definition of this than me here -- http://forums.linuxmint.com/viewtopic.php?f=49&t=162625&p=839096#p839086)
GPT Partitioned Disks -- normally found on newer computers using UEFI firmware; but can be used on BIOS-based computers with Linux. (As of now - 03/2014 - MS Windows computers must use UEFI firmware to use GPT partitions and must be 64-bit Windows versions. That could change in the future for all I know.) GPT allows for creating over 100 partitions without the need of "extended" partitions. Also able to read drives with much greater capacities than MBR partitioned disks.
ESP -- EFI System Partition. Special partition on GPT partitioned disks for holding EFI boot files. It is usually a small (200-550MB) partition formatted as FAT32 at the beginning of the disk.
Basic UEFI Information:
What You Need to Know About Using UEFI Instead of the BIOS
HTG Explains: Learn How UEFI Will Replace Your PC’s BIOS
Unified Extensible Firmware Interface
UEFI and Installing Linux:
UEFI on Ubuntu-based Distros
Linux on UEFI: A Quick Installation Guide
Arch Linux: Unified Extensible Firmware Interface
Creating Windows 8 Recovery Disk:
Create a USB recovery drive
Disabling Secure Boot:
Disabling Secure Boot
How to Enable or Disable Secure Boot in UEFI
Disabling Fast Startup:
How to Turn "Fast Startup" On or Off for a Hybrid Boot in Windows 8 and 8.1
How Windows 8 Hybrid Shutdown / Fast Boot feature works
Special Note for users who encounter boot problems AFTER a Windows 8 update -- see link posted by Spearmint2 below for information on fixing the problem.
Solving UEFI boot problems caused by Windows 8:
How to access and change UEFI settings in Windows 8 computers that might be causing problems booting Linux DVD/USB.
The information on this post came from reading much material posted all over the internet (some of which is linked throughout), from other posts on this forum, and from my own experience and learning as I've tried helping people through installations. I can't possibly remember ALL of the useful posts that I've learned from, but would like to acknowledge a few members of the forum whose multiple posts have contributed significantly to the information contained here.
In alphabetical order, those people are: austin.texas, Derik_S, Mark Phelps, Spearmint2 and srs5694. (srs5694 is the author of some of the links within this tutorial and the maintainer of the rEFInd tool sometimes used to solve UEFI booting issues.)
If you need further assistance with your installation after reading this, make a new post in the forum with your questions. This is not the right place for support requests. I (along with others who could help you) don't normally check the tutorial section to answer support questions.
I am not an "expert", "Linux guru", nor a technical writer -- just an experienced user. If you find any glaring mistakes feel free to let me know so I can correct them. I've tried to keep this as simple as possible, so have no plans to add corrections that are simply more nuanced meanings to terminology or additional scenarios for a possible installation. That would likely just confuse new users more. But feel free to add your own clarifications and/or alternative scenarios for partitioning, etc. under this post.
* Just found my own "glaring" mistake. Forgot to add the important installation step that is now there in blue. (My mind must have been fried -- that was a big one to forget.)
* Added some further details in areas and added a paragraph near the end asking for users to post feedback on successful installs that others may find helpful.
* Added info crediting other forum members for posting information that contributed to my understanding and got passed along in this tutorial.
* Added screenshots generously provided by Derek_S.
* Changed title of post to show it's a tutorial.
* Added "Special Note" under "Disabling Fast Startup" with link to post by Spearmint2.
* Added link to Rufus for making live USB in Windows.
* Changed wording of top intro and added note regarding support requests.
* Made better description of booting live DVD/USB in UEFI/EFI-mode as suggested by Dirkoir.
* Minor spelling correction.
* Changed screenshot links.
* Added useful link under "Solving UEFI boot problems caused by Windows 8" section. Thanks to forum user kencm for finding and posting that information here.
* After post by user lmintnewb2, added note regarding potential problems when trying to resize Windows.
* Edited info on one step based on post by extramedium.
* Replaced old link with new one for Linux Mint downloads page. Thanks JCSenar for pointing out that old link no longer correct.