Hello,
I’ll try and explain in most details I can, because I have asked for help to countless people, but all hope seems lost to be honest.
So, I have an Acer pre-built, with Ryzen CPU and AMD GPU. I had a dual boot of W10 and Manjaro, which was working perfectly.
Wanted to replace Manjaro with EnOS, so I did: booted up the live USB, checked it was working fine, proceeded to installation, replacing the Manjaro partition with the EnOS (the replace partition method in the installer).
At reboot, a message on screen, saying grub_calloc not found, so I’m stuck in grub rescue.
Now, here is what I tried:
Booting up to the live USB, mounted root partition and efi partition to /mnt/boot/efi, done a grub-install with all the parameters, grub-mkconfig etc., including chroot, and also different parameters and stuff.
Nothing
Chrooted and reinstalled grub, then grub-install and so on
Nothing
Tried to boot manually from the grub rescue using some instructions I found online as to set prefix and so on, but doesn’t work, insmod returns command not found.
Nothing
I also tried using a live USB of boot-repair-disk, from sourceforge, which a lot of people do recommend, but apparently, the only live environment which seems to boot up is the EnOS USB I first made. No other USB I seem to make ever works, not with different USBs, not in different ports, just as if they weren’t plugged in.
So yeah, I think this is it, nothing seems to work, I also tried reinstalling EnOS, but yeah, nothing much on that side, as you can imagine.
Problem mainly is that I would want the Windows install to stay.
Using a chroot to reinstall GRUB should be the correct fix (which you’ve already done).
The only other things I can think of are
GRUB didn’t actually reinstall when you told it to; try with --recheck;
Your system is in a partially upgraded state and/or somehow the GRUB package itself is broken; try an -Syu within the chroot and reinstalling the GRUB package, then reinstall the GRUB loader.
If none of this works, if you could paste some information about your system and its partition layout that might be handy as a reference point.
Tried chrooting and running sudo pacman -Syy grub, and afterwards all the aforementioned grub-install stuff.
Ok, so, the SSD is partitioned as follows:
/dev/nvme0n1 as the device
/dev/nvme0n1p1 as the 100M efi ESP
/dev/nvme0n1p2 as the 16M Windows thingy (Microsoft reserved partition)
/dev/nvme0n1p3 as the 150ish G Windows partition
/dev/nvme0n1p4 is a 1G ntfs labelled Recovery, and called Basic data partition (I actually don’t know what this is, but it was already there)
/dev/nvme0n1p5 80G root Manjaro partition into which I installed EnOS.
This is not uncommon. Some systems with bad firmware fail on reboot. Try cold boot (shutdown first and then power on). If it still fails, try to use BIOS quick boot menu, if it shows installed systems (some firmware only show disk drives).
If your BIOS has ability to manually add a boot entry, it should work. Read the user manual!
Cold boot doesn’t work.
UEFI boot menu shows only the Windows, and yet, still brings me back to the grub error.
No possibility to add a boot entry manually as far as I know or tinkered with. No manual was ever given to me.
Also I am a bit confounded about your Windows Boot Manager:
Boot0000* Windows Boot Manager HD(1,GPT,df8fcd65-e20f-4b8b-9840-3cbae8d2ea59,0x800,0x32000)/File(\efi\Manjaro\grubx64.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.}...&.
Not sure why it points to
\efi\Manjaro\grubx64.efi
Perhaps someone dualbooting with Windows could look into it?
[root@EndeavourOS /]# cat /etc/fstab
# /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=7057-97EC /boot/efi vfat defaults,noatime 0 2
UUID=963d33a8-fbcd-486c-96a3-a538253bed8b / ext4 defaults,noatime 0 1
I am actually trying to do the things described in the article, for example setting the 0005 boot as active, and then changing the order, but it doesn’t do anything, and even though whilst I’m in the chroot I see the changes, as soon as I exit and shutdown, it looks like the changes are reverted. Next boot and chroot, and it shows the same output.