UEFI: Manjaro is missing

So in this context, you should
mount sda8 as boot. ( not /boot/efi)
and mount $esp as /boot/efi
before doing the chroot.

And of course, mount root before all these.

[manjaro@manjaro ~]$ sudo parted -l
Model: ATA SAMSUNG MZNLN256 (scsi)
Disk /dev/sda: 256GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size    File system     Name                          Flags
 1      1049kB  473MB  472MB   ntfs            Basic data partition          hidden, diag
 2      473MB   577MB  104MB   fat32           EFI system partition          boot, esp
 3      577MB   593MB  16.8MB                  Microsoft reserved partition  msftres
 4      593MB   163GB  162GB   ntfs            Basic data partition          msftdata
 8      163GB   163GB  419MB   fat32                                         boot, hidden, esp
 5      163GB   206GB  43.0GB  ext4
 7      206GB   208GB  2154MB  linux-swap(v1)                                hidden
 6      256GB   256GB  268MB   fat32           Basic data partition          diag


Model: UFD 2.0 Silicon-Power4G (scsi)
Disk /dev/sdb: 3880MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags                                                                                                                                                                                  
 1      32.8kB  2120MB  2120MB  primary               boot                                                                                                                                                                                   
 2      2120MB  2124MB  4194kB  primary               esp  


[manjaro@manjaro ~]$ efibootmgr -v                                                                                                                                                                                                           
BootCurrent: 000D                                                                                                                                                                                                                            
Timeout: 0 seconds                                                                                                                                                                                                                           
BootOrder: 000D,000E,000B,000A,0000,0001,0002,0003,0004,0005,0006,0007,0008,0009,000F                                                                                                                                                        
Boot0000  Startup Menu  FvVol(a881d567-6cb0-4eee-8435-2e72d33e45b5)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)....ISPH                                                                                                                     
Boot0001  System Information    FvVol(a881d567-6cb0-4eee-8435-2e72d33e45b5)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH                                                                                                           
Boot0002  Bios Setup    FvVol(a881d567-6cb0-4eee-8435-2e72d33e45b5)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH                                                                                                                   
Boot0003  3rd Party Option ROM Management       FvVol(a881d567-6cb0-4eee-8435-2e72d33e45b5)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH                                                                                           
Boot0004  System Diagnostics    FvVol(a881d567-6cb0-4eee-8435-2e72d33e45b5)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH                                                                                                           
Boot0005  System Diagnostics    FvVol(a881d567-6cb0-4eee-8435-2e72d33e45b5)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH                                                                                                           
Boot0006  System Diagnostics    FvVol(a881d567-6cb0-4eee-8435-2e72d33e45b5)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH                                                                                                           
Boot0007  System Diagnostics    FvVol(a881d567-6cb0-4eee-8435-2e72d33e45b5)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH                                                                                                           
Boot0008  Boot Menu     FvVol(a881d567-6cb0-4eee-8435-2e72d33e45b5)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH                                                                                                                   
Boot0009  HP Recovery   FvVol(a881d567-6cb0-4eee-8435-2e72d33e45b5)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH                                                                                                                   
Boot000A* SAMSUNG MZNLN256HMHQ-000H7    BBS(HD,SAMSUNG MZNLN256HMHQ-000H7 ,0x400)/PciRoot(0x0)/Pci(0x17,0x0)/Sata(2,0,0)......ISPH                                                                                                           
Boot000B* UFD 2.0 Silicon-Power4G 12031382028E60023D4DECEA46F   BBS(HD,UFD 2.0 Silicon-Power4G 12031382028E60023D4DECEA46F,0x900)/PciRoot(0x0)/Pci(0x14,0x0)/USB(255,255)......ISPH                                                          
Boot000D* UFD 2.0 Silicon-Power4G 12031382028E60023D4DECEA46F   PciRoot(0x0)/Pci(0x14,0x0)/USB(0,0)N.....YM....R,Y.....ISPH                                                                                                                  
Boot000E* Windows Boot Manager  HD(2,GPT,30bf9063-5f72-422d-a3df-6c5f98548da9,0xe1800,0x31800)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...b....................ISPH                                                                                                                                                                                                      
Boot000F  Network Boot  FvVol(a881d567-6cb0-4eee-8435-2e72d33e45b5)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH                                                                                                                   
Boot0011* IPV6 Network - Intel(R) Ethernet Connection (4) I219-V        PciRoot(0x0)/Pci(0x1f,0x6)/MAC(48ba4ef930b2,0)/IPv6([::]:<->[::]:,0,0)N.....YM....R,Y.....ISPH



# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=E0E4-7927                            /boot/efi      vfat    defaults,noatime 0 2
UUID=347e17db-1cff-4674-9fc2-9362341c2271 /              ext4    defaults,noatime,discard 0 1
UUID=c098224b-4dc7-4238-ad23-f242ba1bb6ad swap           swap    defaults,noatime,discard 0 2
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0

To get fstab contents I chrooted before to /mnt
Sorry, but I don't fully understand what I'm doing.

Good. In the sense your partitions and fstab are okay.
UUID=E0E4-7927 should be UUID of sda2 not sda8 (if unsure recheck with 'sudo 'blkid').

Now just follow my first post (post #9)
See the link in that post.

Remember, no chroot & no booting up livecd OS
And make sure you start up the livecd in uefi.

Use the configfile method to boot up your installed Manjaro OS in sda5.

And do the last cp command (after grub-install command)....
(because you do not have a manjaro listed in your efibootmgr).
sudo cp /boot/grub/x86_64-efi/core.efi /boot/efi/EFI/boot/bootx64.efi

Good luck.

ps: it is much easier than chroot method and much less dangerous than chroot (while in chroot and not exited properly it can cause unintended changes in chrooted OS if chroot procedure not done well)

1 Like

Writing separately...

Now, your fstab does not show a /boot entry.
You said sda8 is your "boot' partition. [1]

If, in the case that UUID=E0E4-7927 is in fact sda8 and not sda2, first change your fstab to uuid of sda2. Then mount that sda2 to /boot/efi. then grub-install.

  1. change uuid at fstab to sda2

sudo mount /dev/sda2 /boot/efi
sudo grub-install
sudo cp /boot/grub/x86_64-efi/core.efi /boot/efi/EFI/boot/bootx64.efi

Good luck.

[1] - Since you said sda8 is "boot" partition, you must check if you have a "boot directory" in sda5, your Manjaro root partition. And that kernels and initramfs files are all there.

I think they are all there - just that you 'misspoke' that sda8 was your boot partition when in fact it was your /boot/efi or $esp partition.

1 Like

UUID=E0E4-7927 - is sda8. Is Mangaro /boot/efi partition. I know it by it's start sector and size. sda2 (is closer to beginning of the disk) is efi partition of Windows.
I've read your two last posts and not sure which to follow.

Follow this. Remember, no chroot operations needed below.

  1. Take the manjaro livecd and start it up in uefi.
  2. Do not boot up to live OS, but press ‘c’ at the menu and we’ll get to the grub prompt (grub>).
  3. At grub prompt, check output of
    grub> echo $grub_platform
    If output is "pc", reboot the livecd media, this time making sure it is booted up in uefi.
    If output is "efi", continue below to step '4.'.
  4. grub> search -f /boot/intel-ucode.img --set=root
    grub> configfile /boot/grub/grub.cfg
  5. You will be presented with your original manjaro grub menu.
    Use this and boot to manjaro.
    If you do not see this manjaro boot menu, you may have messed up during your chroot earlier.
    Operations during chroot can be mess things up if not done properly. Let us know if you cannot get to this step (manjaro boot menu) and do not continue below.
  6. If you can boot up to manjaro installed OS, at terminal
sudo grub-install
sudo update-grub
sudo cp /boot/grub/x86_64-efi/core.efi /boot/efi/EFI/boot/bootx64.efi
  1. Done. Hope this is clear.
7 Likes

Thank you! It worked!
@gohlip can you suggest me some book to understand all this things better (partitions, boot loaders, efi)?

I have my restored Manjaro loading half time on my HP (what initially made me try to reset the UEFI). Shall I create a separate question for it?

1 Like

Good to hear and you're welcome.

The grub documentation can be found at
https://www.gnu.org/software/grub/manual/grub/grub.html

It can also be assessed at the terminal, start at this section

info -f grub -n 'Simple configuration'

press 'q' to exit.

Cheers, take care.

1 Like

Thank you very much, solved my problem posted to the german part of the forum too.

Greetings,
Andreas

Bitte. :slightly_smiling_face:

After I updated my BIOS/UEFI on my Lenovo Y700, I had this issue where it would just boot straight to windows without showing the GRUB menu.

This fixed it. This should get posted to the wiki, it is much easier than the steps outlined here.

Plus, it actually worked, unlike the guide above.

1 Like

It almost worked for me! Almost.

Using the first few commands I was able to get to my newly installed desktop. I ran the commands to install and update grub etc but upon rebooting I got nothing.

In my bios I still only see entries for windows and Linux mint.

Is there any way to get the Manjaro entries in Mint’s grub install to actually boot Manjaro without a kernel panic?

@Crimguy
When booted, provide
findmnt /boot
findmnt /boot/efi
findmnt -s
efibootmgr -v

Yes, there is a way to boot manjaro from LM grub.

1 Like

As requested:

findmnt /boot: (blank)

findmnt /boot/efi:

TARGET SOURCE FSTYPE OPTIONS
/boot/efi /dev/nvme0n1p1 vfat rw,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro

findmnt -s:

TARGET SOURCE FSTYPE OPTIONS
/boot/efi UUID=F643-5D0D vfat defaults,noatime
/ UUID=49186248-1811-45f7-883a-467b51ff016c ext4 defaults,noatime
swap UUID=0cbef91d-851b-4846-9434-b5c35db56316 swap defaults,noatime

efibootmgr -v:

BootCurrent: 0004
Timeout: 0 seconds
BootOrder: 2001,0002,0003,0000,0001,2002,2003
Boot0000* ASUS SDRW-08D2S-U BBS(CDROM,ASUS SDRW-08D2S-U ,0x500).................................................................X.....
Boot0001* SanDisk A400 SD9PN9U-256G-1001 BBS(HD,SanDisk A400 SD9PN9U-256G-1001 ,0x500)..@.............+..P....#..P?..P..................................I7...
Boot0002* Windows Boot Manager HD(1,GPT,76128f76-5c71-4aeb-a7b0-77fed3d0822e,0x800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)RC
Boot0003* ubuntu HD(1,GPT,76128f76-5c71-4aeb-a7b0-77fed3d0822e,0x800,0x82000)/File(\EFI\ubuntu\grubx64.efi)RC
Boot0004* EFI USB Device (ASUS SDRW-08D2S-U) PciRoot(0x0)/Pci(0x14,0x0)/USB(1,0)/CDROM(1,0xb623c,0x2000)RC
Boot0005* manjaro HD(1,GPT,76128f76-5c71-4aeb-a7b0-77fed3d0822e,0x800,0x82000)/File(\EFI\manjaro\grubx64.efi)
Boot0006* ubuntu HD(1,GPT,76128f76-5c71-4aeb-a7b0-77fed3d0822e,0x800,0x82000)/File(\EFI\ubuntu\grubx64.efi)
Boot0007* Windows Boot Manager HD(1,GPT,76128f76-5c71-4aeb-a7b0-77fed3d0822e,0x800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}... 3...............
Boot2001* EFI USB Device RC
Boot2002* EFI DVD/CDROM RC
Boot2003* EFI Network RC

Right. Good.

As you can see your manjaro efi bootentry was generated in 0005

Boot0005* manjaro HD(1,GPT,76128f76-5c71-4aeb-a7b0-77fed3d0822e,0x800,0x82000)/File(\EFI\manjaro\grubx64.efi)

Just that it is not listed in the bootorder

BootOrder: 2001,0002,0003,0000,0001,2002,2003

The method works. The possible reason it is not listed is that your cmos (bios) memory is full. Or your uefi firmware is d.... (never mind, most likely the former and nothing we can do about the latter). And you have double entries for Windows and Ubuntu as well.

Boot up to Manjaro (or LM is fine also). At terminal..

sudo efibootmgr -o 0005,0006,0003,0007,0002

See if gives an error message and let us know what that error message is.If the error message is about something like ' no space left on device', then remove the following and repeat the 'sudo efibootmgr -o 0005,0006,0003,0007,0002' after the following.

sudo efibootmgr -b 0001 -B
sudo efibootmgr -b 0004 -B
sudo efibootmgr -b 2003 -B
sudo efibootmgr -b 2002 -B
sudo efibootmgr -b 2001 -B
sudo efibootmgr -b 0000 -B
sudo efibootmgr -b 0001 -B

You can remove one of 0003 or 0006 and one of 0002 and 0007, trouble is I don't know which one. If you know, remove one of them, each. I guess you can remove 0007 and 0006 - if you remove them, don't put the removed in the bootorder command, "efibootmgr -o xxxx,yyyy,zzzz'
And don't worry about removing the 'system' bootentry (like cdrom, usb, etc..), it should regenerate itself on next reboot if required.

Oh, don't forget to do

sudo efibootmgr -o 0005,0006,0003,0007,0002

after removing the above entries.

Okay, it is not that the commands won't work, just your uefi bios issue.

Oh, --- Putting manjaro in LM grub. I'll put in next post.

Ok. Stand by. I thought I had it licked by updating the system and rerunning grub-install/update-grub etc. Saw the manjaro in my bios choices and was able to boot into manjaro. However, once I disconnected my USB CD drive (which had the manjaro i3 installer in it), my bios suddonly was unable to find the manjaro grub again.

I threw my laptop at the wall - let's hope it still works ;-D

Ok I got no errors. All entries showed up, including 2 for the aforementioned ubuntu/mint and windows installs.

Your theory about the uefi firmware being ■■■■■ may be correct as issues such as what Im experiencing seem to be plentiful with these yoga 720's.

In the meantime, since these are fresh installs Im going to zap the LM and Manjaro installations and start from scratch, installing just manjaro. That'll simplify things and I can get rid of the ubuntu efi entries altogether, leaving both windows entries for paranoia's sake. Also wondering if there are two Windows entries because of both Legacy and EFI options that I see in the bios?

the legacy entry is shown as 0000 so that's not it. I've just deleted all ubuntu entries as well as those last three (2001-2003).

At LM terminal, first create a file /boot/grub/custom.cfg
sudo touch /boot/grub/custom.cfg
You can put your custom entries in 40_custom in /etc/grub.d but I don't recommend it because

  1. you have to careful not to remove the header in that file, if you do, it will really mess up, not just your custom entries, but your grub as well.
  2. If you put a wrong or erroneous entry, it will mess up your grub as 'update-grub' won't work then.
  3. If grub is updated (not update-grub, but grub version for example) or do a grub-install for some reasons, it will be lost.
  4. you need to 'update-grub' after doing 40_custom.
  5. People keeps recommending 40_custom despite my repeating this; and it makes me maad..:grin: just kidding. Who really cares.

Wait, you are removing LM?
So this is moot now?

No it's not moot. I can not get manjaro going period. The problems are basically the same - manjaro's grub just doesn't play nice with my bios. Never shows up. I tried just going with manjaro and gave up. Tried LM just to see what would happen and was surprised to see it installed without a hitch. Then I made more room for manjaro, thinking I'd get LM's grub to load it and then wing it from there. Don't give up on me yet you're doing great! I'm also learning a lot about EFI, so hopefully this will be of some use for a future blockhead like myself.

I think I miss the old days though. Red Hat 6.1 was a lot easier than this lol.

Okay, continuing....

After creating a file in LM's /boot/grub/custom.cfg
Put entries there in that file and that's it.
No need to update-grub, won't disappear and any nonsense there won't mess up your grub.
Remember it won't appear in os-prober and in update-grub. It'll be there when you reboot.

There are several entries that can boot up Manjaro from LM's /boot/grub/custom.cfg. Put these and any of them will work. There's more but these 3 are fine enough. My preferred is the first one.

menuentry "Manjaro Configfile "  {
    insmod part_gpt
    part part_msdos
    insmod ext2
    search --no-floppy --fs-uuid --set=root xxxxxxxxxxxxxxxxxxxxxxxxxx
    configfile /boot/grub/grub.cfg
}

menuentry "Manjaro Multiboot " {
    insmod part_gpt
    insmod ext2
    insmod chain
    search --no-floppy --set=root --fs-uuid xxxxxxxxxxxxxxxxxxxxxxxxxxxx
    chainloader /boot/grub/x86_64-efi/core.efi
}

menuentry "Manjaro Chainload" {
        insmod chain
        insmod fat
        search --no-floppy --fs-uuid --set=root xxxxxx
        chainloader /EFI/manjaro/grubx64.efi
}

xxxxxxxxxxxxxxxxxxxxxxxxxxx is the UUID of Manjaro OS partition
and xxxxxxx is the UUID of Manjaro $esp (the fat32 one).

Good luck.

[edited] - edited from --label to --fs-uuid: sorry. I normally use labels.
most people don't.

Forum kindly sponsored by