You are not logged in.
Hello,
I've encountered a specific GRUB issue where the boot menu is strictly limited to showing only 3 entries, despite having additional valid entries in grub.cfg.
System Details:
- Fresh Arch Linux installation
- GRUB Version: 2:2.12-3
- UEFI System
- LUKS encrypted root on nvme1n1p2
- Separate /boot partition on nvme1n1p1
- Windows 11 on separate NVMe drive (nvme0n1)
- grub-btrfs and timeshift-grub installed
Disk Layout:
- System drive (nvme1n1):
- 1GB /boot partition
- 1.8TB encrypted root with btrfs subvolumes
- Windows drive (nvme0n1):
- Standard Windows 11 partition layout
- EFI partition present
Current GRUB menu shows exactly:
1. Arch Linux
2. Arch Linux fallback
3. Firmware Settings
Configuration verified:
- os-prober installed and functioning (detects Windows)
- GRUB_DISABLE_OS_PROBER=false in /etc/default/grub
- grub-btrfs installed and configured
- All /etc/grub.d/ scripts have correct permissions (verified)
Key findings:
- grub.cfg correctly contains ALL entries including Windows
- os-prober successfully detects Windows: `/dev/nvme0n1p2@/efi/Microsoft/Boot/bootmgfw.efi:Windows Boot Manager:Windows:efi`
- grub-mkconfig generates correct configuration
- Menu remains limited to 3 entries regardless of configuration changes
Attempted solutions (all unsuccessful):
- Complete GRUB reinstallation
- Modified/removed theme settings
- Various os-prober configurations
- Removed/readded grub-btrfs
- Checked all file permissions
- Manual entries in 40_custom
The unusual aspect is that while grub.cfg contains the correct entries (verified by cat /boot/grub/grub.cfg), they simply don't appear in the boot menu.
Has anyone encountered this specific limitation or knows what might cause GRUB to ignore additional menu entries?
Thank you for any insights.
Last edited by Huuuug (2024-11-03 21:36:17)
Offline
where is your ESP mounted?
how have you installed grub?
if not specified otherwise by --boot-directory grub expects its config at /boot/grub/grub.cfg - given from whatever /boot resolves to at the time grub-install is run
this hints: if changes to grub.cfg are not reflected on boot you update the wrong grub.cfg
possible reasons:
- ESP not mounted
- ESP not mounted at /boot but at (/boot)/efi
- wrong ESP mounted (you have TWO drives - do you also have TWO ESPs? if so: from which ESP do you boot?)
to clear up: if you have TWO ESPs - remove one of them to make sure to only have ONE your bios boots from
scan ALL partitions for grub.cfg - you likely will find at least two or more
Offline
Thank you for your detailed analysis!
I have tested the following:
1. Verified two EFI partitions:
- Windows EFI on nvme0n1p2
- Arch EFI on nvme1n1p1 mounted at /boot
2. Copied Windows bootloader files:
- From Windows EFI partition to Arch EFI partition
- Reinstalled GRUB and regenerated config
3. Additional system info from /proc/cmdline:
- Using LUKS encryption
- BTRFS with @ subvolume as root
- Custom root on /dev/mapper/root
4. Additional tests:
- Tested with only Windows drive connected
- Tested with only Arch drive connected
- Result remains the same in all scenarios
- Created timeshift snapshots are present in grub.cfg but not shown in menu (like Windows entry)
Result: Still exactly the same 3 entries in GRUB menu.
The system boots perfectly and all components work correctly. The only persistent issue is the GRUB menu being limited to these 3 entries.
Any further suggestions would be greatly appreciated.
Last edited by Huuuug (2024-11-03 22:35:58)
Offline
boot arch install media
create additional folders within /mnt - one folder for each partition - do NOT mount partitions inside eachother
scan /mnt for grub configs:
find /mnt -name grub.cfg
you will likely find at least two files
also: how EXACTLY did you reinstall grub? a list of commands along with an lsblk and blkid would help as you likely either mounted your ESP wrong, mounted the wrong ESP or didn't mounted any ESP at all and installed grub into the root partition instead of the ESP (which usually should result in an error)
also: when only have the windows drive connected and grub still shows up hints you made the big mistake and installed grub into the windows ESP - which, depend on how you did it, could lead to some issues due to the small space available - which also should cause an error at install or mkconfig
Offline
Thank you for your guidance.
As requested, I checked for multiple grub.cfg files by booting from USB and mounting partitions separately:
1. Mounted partitions:
- LUKS container (/dev/nvme0n1p2) -> /mnt/arch_root
- Arch EFI (/dev/nvme0n1p1) -> /mnt/arch_efi
- Windows EFI (/dev/nvme1n1p2) -> /mnt/win_efi
2. Found only one grub.cfg:
- /mnt/arch_efi/grub/grub.cfg
- No other grub.cfg files found in mounted partitions
- Confirmed this is the grub.cfg being used during boot
3. Partition details:
- Arch EFI (nvme0n1p1): TYPE="vfat"
- LUKS partition (nvme0n1p2): TYPE="crypto_LUKS"
- Windows EFI (nvme1n1p2): TYPE="vfat"
4. For GRUB configuration, I used:
sudo grub-mkconfig -o /boot/grub/grub.cfg
Important observation:
Even when booting with only the Arch drive connected (Windows drive disconnected), GRUB still shows exactly the same 3 entries. This seems significant because at minimum, the btrfs snapshots are listed in grub.cfg but do not appear in the menu
This confirms we have only one grub.cfg in the correct location on the Arch EFI partition. Still, GRUB menu shows only 3 entries despite this single configuration file containing all entries.
Should I try something specific with the GRUB installation from the live environment?
Thank you for your continued support.
Last edited by Huuuug (2024-11-04 10:49:36)
Offline
Solution found:
The issue was related to missing LUKS configuration in GRUB. While the system showed all entries in one GRUB installation, it couldn't boot due to missing cryptdevice parameters.
The fix requires adding proper LUKS configuration in /etc/default/grub:
- Enable GRUB_ENABLE_CRYPTODISK=y
- Add cryptdevice parameter with correct UUID
Thank you all for your patience and guidance in debugging this issue. Special thanks for helping identify the multiple GRUB installations and pointing towards the correct configuration.
Best regards
Offline