Difference between revisions of "UEFI - Install Guide"
Views
Actions
Namespaces
Variants
Tools
m |
m (→Manual install) |
||
Line 173: | Line 173: | ||
/boot/efi/EFI/Boot/ | /boot/efi/EFI/Boot/ | ||
{{BoxInfo|note|My ESP (EFI System Partition) is mounted at '''/boot/efi'''.}} | |||
My ESP (EFI System Partition) is mounted at /boot/efi. | |||
You need to copy these files to the Boot folder on your EFI partition, and the Boot folder itself will be present inside the EFI folder on the EFI Partition, so take note of it. | You need to copy these files to the Boot folder on your EFI partition, and the Boot folder itself will be present inside the EFI folder on the EFI Partition, so take note of it. | ||
Line 183: | Line 181: | ||
Can mount it as /boot/efi by | Can mount it as /boot/efi by | ||
{{UserCmd|command=sudo mount /dev/sdXN /boot/efi}} | |||
X=a,b,c... | X=a,b,c... | ||
N=1,2,3... | N=1,2,3... | ||
Line 196: | Line 194: | ||
The bootx64.efi files boot by default, hence rEFInd should now boot by default, and detect grubx64.efi(linux-manjaro) and efibootmgfw.efi (windows) automatically. | The bootx64.efi files boot by default, hence rEFInd should now boot by default, and detect grubx64.efi(linux-manjaro) and efibootmgfw.efi (windows) automatically. | ||
{{BoxInfo|note|A folder Manjaro (name could be some other also) containing the file ''grubx64.efi'' should also be present in '''/boot/efi/EFI/''' folder, which should contain the ''grubx64.efi'' file which will be used by rEFInd to boot Grub.}} | |||
A folder Manjaro (name could be some other also) containing the file grubx64.efi should also be present in /boot/efi/EFI/ folder, which should contain the grubx64.efi file which will be used by rEFInd to boot Grub. | |||
So it could be like- | So it could be like- | ||
Line 207: | Line 203: | ||
If you do not have this file or folder, try- | If you do not have this file or folder, try- | ||
{{UserCmd|command=sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Manjaro --recheck}} | |||
to create '''/boot/efi/EFI/Manjaro/grubx64.efi''' | to create '''/boot/efi/EFI/Manjaro/grubx64.efi''' |
Revision as of 19:36, 4 September 2021
Introduction
UEFI is the commonly agreed on name for both the EFI & UEFI standards which merged. It does not include the old EFI v1, or Apple's own non-standard version of EFI.
Target computer
The following guide aims to install Manjaro on a machine with UEFI enabled, Secure boot disabled, and using GUID Partition Table (GPT) disk(s).
For multi-boot, the EFI system partition which is already present (or will be created), can usually be shared amongst multiple Linux installs.
The steps
Common
- 1. Download your preferred Manjaro version (XFCE, Openbox, Cinnamon, KDE, ...), must be 64-bits.
- 2. Burn the .iso to USB or DVD. See Burn_an_ISO_File for more details.
- 3. Check your BIOS, UEFI must be ON and Secure boot OFF.
- 4. Boot with your USB or DVD & use the rEFInd - Main Menu... to choose which GPU drivers you want to have installed, the open-source or proprietary:
* Boot Manjaro Linux ... (default) - This chooses the open-source - free GPU drivers. * Boot Manjaro Linux ... (nonfree) - This option chooses the proprietary GPU drivers from Nvidia or ATI.
Graphical Installer
To use the Graphical Installer select the Install Manjaro option from the Manjaro Welcome screen or from the desktop.
For the ESP (EFI system partition) which will store the EFI Grub binary, a 512mb partition of type fat32 can be created in the partitioning step, and mounted to /boot/efi
If you are dual booting then an EFI partition from a previous install can also be used.
CLI installer
- 5-b. Open terminal & enter:
$ sudo setup
- 6. Now, we are in the CLI Installer.
- 7. Choose 1. Set date and time - an easy intuitive configuration.
Disk preparation
* When you click 2. Partition Hard Drives, you get a dialog saying "Do you want to use GUID Partition Table (GPT)", choose Yes. * Partition your disk(s) as you want (Instructions on manually partitioning are beyond the scope of this guide, some deatils are available here). * Important Step: Create a 50~250MB EFI Partition, mine is 100MB (code: ef00)
Setting filesystem mount points
* After the partitioning is done, go to 4. Set Filesystem Mountpoints. * Important Step: Format the EFI Partition you created as VFAT and mount on /boot/efi
Installation
- 9. Choose 3. Install system and wait...
- 10. Now, go to 4. Configure System and configure it the way you like (username, password, mirrorlist, system-name, ...).
- 11. When you are done, go to 5. Install bootloader. Choose EFI_x86_64 > GRUB (2) UEFI x86_64, DON'T select BIOS GRUB.
- 11.1 It will ask to format the EFI Partition you created earlier as FAT32, yes can be chosen.
- 12. If it gives a error in the final stages saying "efivars kernel module was not properly loaded", don't worry, the system will work fine!
- 13. If the installer asks you about copying grub/efi files to another folder in order to maintain compatibility in some systems, choose Yes.
- 14. Click 6. Quit
- 15. Shutdown, remove the DVD or USB, and boot. Your system should appear now!
Switching from BIOS to UEFI
1) You need to create an ESP (EFI System Partition).
It is a FAT32 partition which has the .efi files for booting, which you can create using gparted or gdisk. (Size at least 200-300 MiB.) Ensure the flags `boot` and `esp` are set on this partition.
You should also install/check whether following packages are present-
1. efibootmgr 2. dosfstools 3. grub
2) Create the /boot/efi directory
sudo mkdir /boot/efi
3.) Mount the EFI partition as /boot/efi
sudo mount /dev/sdXY /boot/efi
X = Alphabet of the drive = a,b,c ... Y = Partition number of the EFI partition = 1,2,3,4...
Example - /dev/sda4
4.) Install Grub according to UEFI
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck
5.) Update Grub configuration file.
sudo update-grub
Note- If you get an error like
path '/boot/grub' is not readable by Grub on boot. Installation is impossible. Aborting
Then you will need to chroot as described here, and then perform Step 5 again.
If you get the following error :
EFI variables are not supported on this system.
then you could load the efivarfs module :
sudo modprobe efivarfs
See also
Dual booting with Windows
In such cases rEFInd can be used.
There are two ways to install rEFInd-
1.Install rEFInd from its website [2] (detailed) or install using pacman(preferred)-
sudo pacman -S refind
Files will be present in /usr/share/refind .
2.Or using the instructions on the rEFInd website: [3]
Instructions
The refind-install command can be used to automatically install rEFInd (the EFI partition may need to be mounted for this to work). See the Arch wiki for more details.
Manual install
Inside the refind folder (/usr/share/refind), copy the files and folders to-
/boot/efi/EFI/Boot/
You need to copy these files to the Boot folder on your EFI partition, and the Boot folder itself will be present inside the EFI folder on the EFI Partition, so take note of it.
You can check which partition is your ESP using Gparted; find which partition is formatted as fat32 and has size around 200mb-1gb.
Can mount it as /boot/efi by
X=a,b,c... N=1,2,3... These depend on which partition your ESP is present which can be obtained via Gparted as mentioned earlier.
Now inside the /boot/efi/EFI/Boot/ folder, there should already be a file present-
bootx64.efi
You can rename it as windows.bootx64.efi Then you can rename refind_x64.efi to bootx64.efi
The bootx64.efi files boot by default, hence rEFInd should now boot by default, and detect grubx64.efi(linux-manjaro) and efibootmgfw.efi (windows) automatically.
So it could be like-
/boot/efi/EFI/Manjaro/grubx64.efi
rEFInd would use this file for booting Manjaro.
If you do not have this file or folder, try-
to create /boot/efi/EFI/Manjaro/grubx64.efi
See also- http://www.rodsbooks.com/refind/installing.html#naming
An alternative: chainloading via GRUB
An entry can be added to
menuentry 'Windows8 (UEFI)' { insmod ntfs set root=(hd0,gpt4) chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi boot }
In this case (hd0,4) or /dev/sda4 is the EFI System partition where the Windows bootloader is present.
After adding the above entry, running sudo update-grub updates the GRUB configuration file so that an entry named Windows8 (UEFI) is added to the GRUB boot menu.
Related Forum thread: [4]
The chainloading will fail on some hardware (Lenovo Ideapad 110) with the "invalid signature" message - the Refind method will still work.
Extras
Using Rufus on Windows to create installation media
Rufus users can use the following settings:
* Click on the DVD icon and load your .iso * In the menu left of the DVD icon, select DD Image * Device: "choose your USB" (Attention: choose correctly, the device selected here will be formatted!!!) * Partition scheme: GPT partition scheme for UEFI computer * File system: FAT32 * Cluster size: "Don't modify" * Volume label: "Don't modify" * Click Start, and you are done (takes 2~5 min to complete).
Feedback
Questions, suggestions, critics? Please post here: [5]
External Links
Youtube video: https://www.youtube.com/watch?v=36tDZIXn3-k