diff --git a/CONFIG.md b/CONFIG.md index 0c61536e..66e135a2 100644 --- a/CONFIG.md +++ b/CONFIG.md @@ -3,7 +3,8 @@ ## Location of the config file Limine scans for a config file on *the boot drive*. Every partition on the boot drive -is scanned sequentially (first partition first, last partition last) for the presence +is scanned sequentially - first partition first (or, on UEFI, the partition containing the +EFI executable of the booted Limine is scanned first), last partition last - for the presence of either a `/limine.cfg`, `/boot/limine.cfg`, or a `/EFI/BOOT/limine.cfg` file, in that order. Once the file is located, Limine will use it as its config file. Other possible diff --git a/common/menu.c b/common/menu.c index dd6252ec..e56e8bed 100644 --- a/common/menu.c +++ b/common/menu.c @@ -603,12 +603,18 @@ noreturn void _menu(bool first_run) { } if (bad_config == false) { +#if defined (UEFI) + if (init_config_disk(boot_volume)) { +#endif volume_iterate_parts(boot_volume, if (!init_config_disk(_PART)) { boot_volume = _PART; break; } ); +#if defined (UEFI) + } +#endif } char *quiet_str = config_get_value(NULL, 0, "QUIET");