- Вы не правильно ставите grub. Не путайте boot-раздел и esp-раздел. В Linux esp-раздел должен быть примонтирован в
/boot/efi
и содержать одну-единственную директорию EFI
. Таким образом, пути к загрузчикам будут выглядеть как /boot/efi/EFI/blablabla/loader.efi
. На это опираются большинство заинтересованных программ и скриптов. Хотя это пока и не является частью FHS.
У вас же всё скидано в кучу. Если вы понимаете, что делаете, то всё в порядке. Иначе могут в дальнейшем возникнуть проблемы.
- При наличии 2-х систем Linux и Windows,
grub-mkсonfig
отдаёт предпочтение Linux и ставит его на первое место в порядке загрузки. Но у вас загружается Windows. Можно сделать вывод, что grub у вас не загружается.
- Т.к. grub не загружается, значит в настройках bios/uefi на первом месте стоит windows-boot-entry. Нужно именно от туда сменить приоритет загрузки. Если там отсутствует запись с grub, то идём к пункту 1 и устанавливаем grub по канонам.
- Посмотрите на опцию
GRUB_HIDDEN_TIMEOUT
. Если предыдущая загрузка была успешной, то grub прячет меню. Такого его стандартное поведение в большинстве дистрибутивов.
UPD:
Makaleks: у вас
arch
указывает на раздел с UUID
00229d17-2906-45ce-a8b4-9e90c31b72fd
, а
Windows Boot Manager
на раздел
bc3117d8-d1fe-4fa5-8ece-8136e5609e48
. Легко заметить, что они разные. Arch у вас не правильно прописан.
Сначала удаляете старую запись:
sudo efibootmgr -b 3 -B
Затем создаёте новую:
sudo efibootmgr -c -L ArchLinux -l "\EFI\arch\grubx64.efi"
И пробуем загрузиться с неё.
Путь к загрузчику может быть другой, т.к. я не знаю, что лежит у вас на ESP-разделе. Могли бы на pastebin или gist кинуть что-ли.