I was trying to install Manjaro on my ASUS TufDash F15 (FX516PE), but the installation failed at approximately 70% of the way through the installation process. It gave me a Bootloader installation error with the following details:
The bootloader could not be installed. The installation command grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Manjaro --force
returned error code 1
I then closed the installer, and opened Konsole to attempt installing GRUB manually. I was able to mount the root partition in /mnt and the efi partition in /mnt/boot/efi.
I then attempted to install grub manually:
for i in /dev /dev/pts /proc /sys /run; do mount -B $i /mnt/$i; done
chroot /mnt
grub-install /dev/nvme0n1 --bootloader-id=manjaro --recheck --no-nvram
update-grub
It then gave me the following output:
Installing for x86_64-efi platform.
Installation finished. No error reported.
Generating grub configuration file β¦
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-6.12-x86_64
Found initrd image: /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-6.12-x86_64.img
Found initrd fallback image: /boot/initramfs-6.12-x86_64-fallback.img
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
grub-probe: error: cannot find a GRUB drive for /dev/sda1. Check your device.map.
grub-probe: error: cannot find a GRUB drive for /dev/sda1. Check your device.map.
Found Windows Boot Manager on /dev/nvme0n1p1@/efi/Microsoft/Boot/bootmgfw.efi
Adding boot menu entry for UEFI Firmware Settings β¦
Root filesystem isnβt btrfs
If you think an error has occurred, please file a bug report at βhttps://github.com/Antynea/grub-btrfsβ
Found memtest86+ image: /boot/memtest86+/memtest.bin
/usr/bin/grub-probe: warning: unknown device type nvme0n1.
Found memtest86+ EFI image: /boot/memtest86+/memtest.efi
/usr/bin/grub-probe: warning: unknown device type nvme0n1.
done
In case you were wondering, I added --no-nvram because my motherboard is full, it is NOT the EFI partition that is full. I checked from OpenSUSE, and it didnβt show the EFI partition being full. OpenSUSE was working when I disabled update nvram entry post-installation, but I ran into issues with the NVIDIA drivers, so I wanted to test Manjaro to see if it would work better with my drivers.
I am new to using Linux, so if thereβs anything I missed/forgot or could use clarification on, please let me know.
So, does it work now? If not, also add --removable and then it should work (although with a generic name in the efi, something like βEFI diskβ)
p.s. you can easily check if you have nvram space: just see /sys/firmware/efi/efivars/ folder. The latest dbx update from Microsoft is humongous (30+kb) and causes out of space in nvram problems. You can disable and reset Secure boot if you do not need it for windows. First disable it, if windows still boots you can also reset it which will clean the updates of it and free several hundred KB. And then you will be able to install normally (without --no-nvram)
Thatβs not a partition. Anything under the /sys hierarchy is virtual. It is information about your system, exported by the kernel in the form of a pseudo-filesystem.
It will always appear full, because itβs not actually consuming any space, and the maximum size of the pseudo-filesystem is simply the size of the pseudo-files in RAM.
Weird, because for my partner, it doesnβt show efivarfs as full when she runs the same commandβ¦ it also looks like @Molski doesnβt have it full either. I tried running the same commands they did, and it shows as 0 under available
[manjaro manjaro]#df -B1 /sys/firmware/efi/efivars Filesystem 1B-blocks Used Available Use% Mounted on efivarfs 131072 127436 0 100% /sys/firmware/efi/efivars [manjaro manjaro]#ls -l /sys/firmware/efi/efivars | awk '{sum += $5} END {print sum " bytes"}' 54370 bytes
Also, still not sure what this error is aboutβ¦
In the installer, I gave the EFI partition 512 MB, formatted it as FAT32, gave it the boot flag, and mounted it to /boot/EFI
I gave the root partition 457 GB, did not format (because I wiped the data manually aside from the home folder), and mounted it to /
I gave the swap partition 8 GB, formatted it as swap, and did not mount it because it does it automatically.
To my knowledge, this should be correct, so Iβm not sure why it was giving me an error partway through the installation process.
I have included the process I used for wiping the data manually from the root partition below for those who are curious:
sudo rm -rf boot dev etc lib lib64 media mnt opt proc root run sbin srv sys tmp usr var intird.img vmlinuz
Just to be precise: that the bootloader installation failed first time because of lack of nvram space is a speculation. It can be due to other reasons. I guess it can be easily tested empirically, if the install succeeds with --no-nvram and fails otherwise, than that is indeed the cause.
If that is the case, a workaround will be to use the firmware built in entry pointing to the failback location (add --removable to the install parameters to install there).
Alternatively, one can clean something from nvram, but that depends of the windows version. Some require secure boot, some not. If not - resetting the secure boot from the uefi settings cleans all the added updates and a lot of space. I have recently been there:
This seems to have resolved the problem!! I went into the BIOS and deleted the secure boot keys from the NVRAM, which freed up enough space for me to install Manjaro using the installer.