Welcome, if this info appears in a box please follow the link above the box.
The information here is intended to help you understand and analyze the boot process during an UEFI native boot. You may be able to use the information here to find out why your manjaro isn’t booting. Only when you know the problem you can fix it with certainty. At the end of the post there are links to fix the problem. Klick on the black to expand a section (updated last 20240204)
How the native boot process works with UEFI:
1. UEFI firmware
UEFI starts first and initializes your computer’s hardware so that:
- Connected keyboards & mice become active
- At least one screen of a graphics card is working
- Internal hard drives, SSD … are recognized
- External hard drives, SSD, USB sticks are recognized
- Ethernet or other network-hardware is detected
After a short pause, the default boot process starts. This can be interrupted at this point by pressing certain keys. Depending on the manufacturer of the UEFI, these are e.g.
-
F2 jump to the configuration of the UEFI
It may be important to prepare the settings in the UEFI so that manjaro can also work. -
F11 Selection from which recognized boot medium should be booted.
Sometimes 2 entries per boot medium are displayed. Then you should definitely select the entry marked UEFI!
2. UEFI variables in NVRAM
How the boot process should continue is stored in UEFI variables
These are stored in NVRAM. Thus UEFI-firmware does not depend on a battery.
This includes:
-
The boot entries (Boot00xx)
Each entry states which disk and partition(PARTUUID) should be booted from. UEFI is able to read GPT partition tables and UEFI-FAT filesystems. The UID of the partition is included here. Even if the numbering in UEFI can be different than in manjaro, the UID is a good identifier to find the partition. The path inside the EFI-system partition is specified under which the boot file will be is searched. This file usually has the extension .efi . -
The order (BootOrder)
The boot order shows the order in which the entries are used when the UEFI tries to boot. If a boot fails, the next entry in the boot order is tried. If everything goes wrong, you’ll end up in the UEFI shell
You can see yourself with:
efibootmgr -v
example:
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,001A,0004,0020,0022,0023,0003
Boot0000* manjaro HD(1,GPT,b1d3d562-88ff-4ac2-8326-9c5d82892379,0x800,0x1dc800)/File(\EFI\MANJARO\GRUBX64.EFI)
Boot0003* UEFI: Built-in EFI Shell VenMedia(5023b95c-db26-429b-a648-bd47664c8012)..BO
Boot0004* UEFI OS HD(1,GPT,b1d3d562-88ff-4ac2-8326-9c5d82892379,0x800,0x1dc800)/File(\EFI\BOOT\BOOTX64.EFI)..BO
Boot001A* UEFI OS HD(1,GPT,99e0488b-1204-4acc-83a6-30d2c839b094,0x800,0x100000)/File(\EFI\BOOT\BOOTX64.EFI)..BO
Boot0020* UEFI OS HD(1,GPT,4f943c21-f008-4448-aaf4-ff8be3fd2a28,0x800,0x200000)/File(\EFI\BOOT\BOOTX64.EFI)..BO
Boot0022* Hard Drive BBS(HD,,0x0)..GO..NO........w.A.D.A.T.A. .S.X.8.2.0.0.P.N.P....................A......................................................Gd-.;.A..MQ..L.2.K.4.3.2.L.A.8.B.N.E.1........BO..NO........u.S.a.n.D.i.s.k. .S.D.S.S.D.H.3.1.0.0.0.G....................A.................................>..Gd-.;.A..MQ..L.8.1.3.1.3.C.0.8.7.0.7.1. . . . . . . . ........BO..NO........u.A.D.A.T.A. .S.P.6.1.0....................A.................................>..Gd-.;.A..MQ..L.E.1.3.2.0.2.8.0.0.3.5.8. . . . . . . . ........BO
Boot0023* CD/DVD Drive BBS(CDROM,,0x0)..GO..NO........u.H.L.-.D.T.-.S.T.D.V.D.-.R.A.M. .G.H.2.2.N.S.3.0.........................rN.D+..,.\...........F..Gd-.;.A..MQ..L.H.L.-.D.T.-.S.T.D.V.D.-.R.A.M. .G.H.2.2.N.S.3.0........BO
And with
lsblk -o PARTUUID,KNAME,PTTYPE,TYPE,FSTYPE,SIZE,PARTTYPENAME,UUID,MOUNTPOINT,PARTLABEL,LABEL
example
PARTUUID KNAME PTTYPE TYPE FSTYPE SIZE PARTTYPENAME UUID MOUNTPOINT PARTLABEL LABEL
sda gpt disk 931,5G
b1d3d562-88ff-4ac2-8326-9c5d82892379 sda1 gpt part vfat 953M EFI System C579-EF17 /boot/efi
3ee1dfe1-19af-4102-945d-90d957d3c199 sda2 gpt part btrfs 900G Linux filesystem 3487ba3d-1cba-4cdc-a043-c420ebca2aca /var/nosnap/.snapshot
bdaabdec-4168-4429-8fed-7e0c6ddd0570 sda3 gpt part swap 28,1G Linux swap dac5a191-1376-4b6f-9323-f4b2fff4a40b
sr0 rom 1024M
In this case Boot0004*
points to b1d3d562-88ff-4ac2-8326-9c5d82892379 sda1
or with
maxi -e
example maxi -e:
Info about: efi vars (needs efibootmgr)
Boot0000* manjaro HD(1,GPT,b1d3d562-88ff-4ac2-8326-9c5d82892379,0x800,0x1dc800) \EFI\MANJARO\GRUBX64.EFI
Boot0003* UEFI: Built-in EFI Shell VenMedia(5023b95c-db26-429b-a648-bd47664c8012) ..BO
Boot0004* UEFI OS HD(1,GPT,b1d3d562-88ff-4ac2-8326-9c5d82892379,0x800,0x1dc800) \EFI\BOOT\BOOTX64.EFI ..BO
Boot001A* UEFI OS HD(1,GPT,99e0488b-1204-4acc-83a6-30d2c839b094,0x800,0x100000) \EFI\BOOT\BOOTX64.EFI ..BO
Boot0020* UEFI OS HD(1,GPT,4f943c21-f008-4448-aaf4-ff8be3fd2a28,0x800,0x200000) \EFI\BOOT\BOOTX64.EFI ..BO
Boot0022* Hard Drive BBS(HD,,0x0) ..GO
Boot0023* CD/DVD Drive BBS(CDROM,,0x0) ..GO
Boot0024* USB BBS(USB,,0x0) ..GO
3. EFI executable in UEFI-System partition
In the simplest case, this is now GRUB. But there are also other EFI bootloaders in circulation:
- BOOTX64.EFI
- GRUBX64.EFI
- … please edit to extend this list here
maxi -ep
maxi -ep
Currently running: 5.16.14-1-MANJARO (linux516)
Info about: efi bootloaders
/boot/efi/EFI/manjaro/grubx64.efi 276K
/boot/efi/EFI/boot/bootx64.efi 272K
/boot/efi/EFI/refind/refind_x64.efi 312K
/boot/efi/EFI/refind/drivers_x64/btrfs_x64.efi 116K
/boot/efi/EFI/tools/Shell.efi 908K
/boot/efi/EFI/tools/Shell_Full.efi 1008K
/boot/efi/EFI/tools/shellx64.efi 1,4M
/boot/grub/x86_64-efi/core.efi 276K
/boot/grub/x86_64-efi/grub.efi 276K
/boot/efi_backup/EFI/boot/bootx64.efi 164K
/boot/efi_backup/EFI/manjaro/grubx64.efi 164K
Info about: efi vars (needs efibootmgr)
Boot0000* manjaro HD(1,GPT,b1d3d562-88ff-4ac2-8326-9c5d82892379,0x800,0x1dc800) \EFI\MANJARO\GRUBX64.EFI
Boot0003* UEFI: Built-in EFI Shell VenMedia(5023b95c-db26-429b-a648-bd47664c8012) ..BO
Boot0004* UEFI OS HD(1,GPT,b1d3d562-88ff-4ac2-8326-9c5d82892379,0x800,0x1dc800) \EFI\BOOT\BOOTX64.EFI ..BO
Boot001A* UEFI OS HD(1,GPT,99e0488b-1204-4acc-83a6-30d2c839b094,0x800,0x100000) \EFI\BOOT\BOOTX64.EFI ..BO
Boot0020* UEFI OS HD(1,GPT,4f943c21-f008-4448-aaf4-ff8be3fd2a28,0x800,0x200000) \EFI\BOOT\BOOTX64.EFI ..BO
Boot0022* Hard Drive BBS(HD,,0x0) ..GO
Boot0023* CD/DVD Drive BBS(CDROM,,0x0) ..GO
Boot0024* USB BBS(USB,,0x0) ..GO
Info about: visible partitions (needs lsblk)
sda --> gpt 9a2fddb7-cc9e-43e2-9ea8-3906b11c402d
sda1 EFI System b1d3d562-88ff-4ac2-8326-9c5d82892379 vfat C579-EF17
sda2 Linux filesystem 3ee1dfe1-19af-4102-945d-90d957d3c199 btrfs 3487ba3d-1cba-4cdc-a043-c420ebca2aca
sda3 Linux filesystem bdaabdec-4168-4429-8fed-7e0c6ddd0570
sdb --> gpt 65ee9421-a242-44c1-9cf7-176f99d937b1
sdb1 EFI System 99e0488b-1204-4acc-83a6-30d2c839b094 vfat 8CFB-34DD
sdb2 Linux filesystem c873df77-f67d-44b9-b93f-6c1f56307390
sdc --> gpt 16af855f-5e5a-4b21-8b1f-311536bec1d0
sdc1 EFI System 5b8138d6-5a99-45a3-aee2-fab9792cc469 vfat 449E-C663
sdc2 BIOS boot 56be6dc4-e1f0-4ffd-adc3-0fee9e0f75c2
sdc3 Linux filesystem 1d26b18f-6d78-4ad8-affd-99b74d1a91aa btrfs 8dada4e9-35d3-43d0-a867-6cd75ea35476
nvme0n1 --> gpt 3f4f3b57-5803-4ecc-926b-4d5039d4e4f7
nvme0n1p1 EFI System 4f943c21-f008-4448-aaf4-ff8be3fd2a28 vfat B027-5E71
nvme0n1p2 BIOS boot 99cbd634-17cc-44c2-8a60-8b468a9daf1f grub2 core.img
nvme0n1p3 Linux filesystem 7b64fe2b-61d7-474b-9e9b-ea0599578e2d btrfs 3487ba3d-1cba-4cdc-a043-c420ebca2aca
nvme0n1p4 Linux filesystem 4fb5dd8c-3442-47bd-b692-157dc9a08e4d btrfs 94567c06-a951-4b6a-923f-3d5bc37e760a
4. GRUB (grubx64.efi)
GRUB looks for its configuration file grub.cfg.
If it’s not found, you’ll end up in a GRUB shell.
According to the instructions in the grub.cfg:
- Various additional modules for grub are loaded
- Running grub is visible or invisible (with ESC you can mostly stop grub at this moment and make it visible)
- When the menu is visible, you can choose which kernel to boot with.
- It can also be selected whether the fallback initrd should be used
- There may be other entrys
It is not recommended to edit grub.cfg
. It is usually automatically recreated after a kernel update. /etc/default/grub
serves as a template. If grub.cfg
is not up-to-date (e.g. after changes in /etc/default/grub
), it can also be regenerated manually with .
sudo mkinitcpio -P
- Grub selects the disk and partition
- Grub loads the initramdisk into memory
- Grub loads the kernel into memory
- Grub starts the kernel with the parameters specified in grub.cfg
5. Kernels
When the kernel starts,
- it initializes the hardware first, taking into account the parameters passed
- mounts the initrd provided in grub’s memory
Everything the kernel needs at this point must be in the initrd - mounts the partition as root-filesystem passed as a parameter
- later the kernel loads necessary modules from /lib/modules/$kernelversion/…
If something goes wrong with this process, you usually end up in an emergency shell
example maxi -kv
Currently running: 5.16.14-1-MANJARO (linux516)
linux510 vmlinuz-5.10-x86_64 initramfs-5.10-x86_64.img=35M fallback=101M kver:5.10.105-1-MANJARO
linux515 vmlinuz-5.15-x86_64 initramfs-5.15-x86_64.img=35M fallback=124M kver:5.15.28-1-MANJARO
linux516 vmlinuz-5.16-x86_64 initramfs-5.16-x86_64.img=35M fallback=132M kver:5.16.14-1-MANJARO
linux517 vmlinuz-5.17-x86_64 initramfs-5.17-x86_64.img=35M fallback=132M kver:<kver missing>
6. GUI
The processes that now follow are diverse and complex
At the end of this, the graphical user interface is started. If that doesn’t work, the screen may remain dark. Then you can usually switch to a console with the key combination CTRL+Alt+F2 … F5.
If that does not work:
- Stay calm
- Search the forum to see if anyone has had the exact same problem. If you get stuck:
- Start your own thread under Support
- Write your problem in short sentences (no telegram style)
- Provide standard information (inxi)
- Answer questions precisely
Now some usefull links:
Boot from USB:
How to boot into my system from usb?
Provide Information:
[HowTo] Provide System Information
Install 2 kernels (one of them LTS)
Dual Boot:
[root tip] [How To] Dual boot Manjaro and Windows
Backup:
[HowTo] make a crash-proof backup in Manjaro for your entire system
And maxi, a programm to analyse what is missing
Don't ever mix UEFI-native and BIOS-compatible booting
I really can’t recommend strongly enough that you do not attempt to mix UEFI-native and BIOS-compatible booting of permanently-installed operating systems on the same computer, and especially not on the same disk. It is a terrible terrible idea and will cause you heartache and pain. If you decide to do it, don’t come crying to me.