@makaleks

Почему GRUB UEFI пропускает меню с выбором ОС?

Нужно запустить GRUB UEFI с внешнего жёсткого диска, Linux (Arch) там же.
Не понимаю, почему при том, что grub отображается в Boot Options, GRUB_TIMEOUT=10, а в процессе установки
#grub-install /dev/sda --boot-directory=/boot --efi-directory=/boot/,
и в процессе выполнения
#grub-mkconfig -o /boot/grub/grub.cfg
никаких ошибок не было...
...положенных 10 секунд не проходит, GRUB-меню не появляется, а сразу запускается винда.
/boot смонтирован на отдельный раздел fat32 с флагами boot и esp.

Надоело постоянно запускаться с диска)
Почему не работает и что делать?

UPD1
Вывод:
lsblk -f
NAME   FSTYPE LABEL UUID MOUNTPOINT
sda                      
├─sda1                   /boot/efi
├─sda2                   /
├─sda3                   [SWAP]
└─sda4                   /home
sdb                      
├─sdb1                   
├─sdb2                   
├─sdb3                   
├─sdb4                   
├─sdb5                   
├─sdb6                   
├─sdb7                   
└─sdb8                   
sdc                      
└─sdc1                   /mnt/usbstick
loop0
efibootmgr -v
BootCurrent: 1007
Timeout: 0 seconds
BootOrder: 0003,0002,0006,1007,0000,0001
Boot0000* P0: SAMSUNG SSD PM851 mSATA 25	BBS(16,,0x0)..BO
Boot0001* TSSTcorpCDDVDW SN-208BB SB00	BBS(18,,0x0)..BO
Boot0002* UEFI OS	HD(1,GPT,bc3117d8-d1fe-4fa5-8ece-8136e5609e48,0x800,0xfa000)/File(\EFI\BOOT\BOOTX64.EFI)..BO
Boot0003* arch	HD(1,GPT,00229d17-2906-45ce-a8b4-9e90c31b72fd,0xffff,0x1eca4)/File(\EFI\arch\grubx64.efi)
Boot0006* Windows Boot Manager	HD(1,GPT,bc3117d8-d1fe-4fa5-8ece-8136e5609e48,0x800,0xfa000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.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.}...e................
grub-mkconfig -o /boot/efi/grub/grub.cfg
Generating grub configuration file...
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/initramfs-linux.img
Found fallback initramfs image: /boot/initramfs-linux-fallback.img
  /run/lvm/lvmetad.socket: connect failed:  No such file or directory
  WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
[ 389.438936] squashfs: SQUASHFS error: Can't find a SQUASHFS superblock on sdb3
[ 389.441574] EXT4-fs (sdb3): VSF: Can't find ext4 filesystem
[ 389.444229] EXT4-fs (sdb3): VSF: Can't find ext4 filesystem
[ 389.446806] EXT4-fs (sdb3): VSF: Can't find ext4 filesystem
[ 389.449334] FAT-fs (sdb3): bogusnumber of reserved sectors
[ 389.455013] FAT-fs (sdb3): bogusnumber of reserved sectors
[ 389.457467] ntfs: (device sdb3): read_ntfs_boot_sector(): Primary boot sector is invalid.
[ 389.458413] ntfs: (device sdb3): read_ntfs_boot_sector(): Mount option errors=recover not used. Aborting without trying to recover.
[ 389.459448] ntfs: (device sdb3): read_ntfs_boot_sector(): Not an NTFS volume.
[ 389.464503] ufs: You didn't specify the type of your ufs filesystem
[ 389.464503]
[ 389.464503] mount -t ufs -o ufstype=sunlsunx86|44bsd|ufs2|5xbsd|old|hp|nextstep|nextstep-cd|openstep ...
[ 389.464503]
[ 389.464503] >>>WARNING<<< Wrong ufstype may corrupt your filesystem, default is ufstype=old
[ 389.469300] ufs: ufs_fill_super(): bad magic number
[ 390.196533] squashfs: SQUASHFS error: Can't find a SQUASHFS superblock on sdb8
[ 390.198765] EXT4-fs (sdb8): VSF: Can't find ext4 filesystem
[ 390.200950] EXT4-fs (sdb8): VSF: Can't find ext4 filesystem
[ 390.202902] EXT4-fs (sdb8): VSF: Can't find ext4 filesystem
[ 390.204480] FAT-fs (sdb8): bogusnumber of reserved sectors
[ 390.208607] FAT-fs (sdb8): bogusnumber of reserved sectors
[ 390.210345] ntfs: (device sdb8): read_ntfs_boot_sector(): Primary boot sector is invalid.
[ 390.210964] ntfs: (device sdb8): read_ntfs_boot_sector(): Mount option errors=recover not used. Aborting without trying to recover.
[ 390.211591] ntfs: (device sdb8): read_ntfs_boot_sector(): Not an NTFS volume.
[ 390.215116] ufs: You didn't specify the type of your ufs filesystem
[ 390.215116]
[ 390.215116] mount -t ufs -o ufstype=sunlsunx86|44bsd|ufs2|5xbsd|old|hp|nextstep|nextstep-cd|openstep ...
[ 390.215116]
[ 390.215116] >>>WARNING<<< Wrong ufstype may corrupt your filesystem, default is ufstype=old
[ 390.218858] ufs: ufs_fill_super(): bad magic number
[ 390.663383] FAT-fs (sdc1): error, fat_free_clusters: deleting FAT entry beyond EOF
[ 390.664442] FAT-fs (sdc1): Filesystem has been set read-only
done
UPD2
ls -Rlha /boot/efi
  • Вопрос задан
  • 2280 просмотров
Решения вопроса 1
  1. Вы не правильно ставите grub. Не путайте boot-раздел и esp-раздел. В Linux esp-раздел должен быть примонтирован в /boot/efi и содержать одну-единственную директорию EFI. Таким образом, пути к загрузчикам будут выглядеть как /boot/efi/EFI/blablabla/loader.efi. На это опираются большинство заинтересованных программ и скриптов. Хотя это пока и не является частью FHS.
    У вас же всё скидано в кучу. Если вы понимаете, что делаете, то всё в порядке. Иначе могут в дальнейшем возникнуть проблемы.
  2. При наличии 2-х систем Linux и Windows, grub-mkсonfig отдаёт предпочтение Linux и ставит его на первое место в порядке загрузки. Но у вас загружается Windows. Можно сделать вывод, что grub у вас не загружается.
  3. Т.к. grub не загружается, значит в настройках bios/uefi на первом месте стоит windows-boot-entry. Нужно именно от туда сменить приоритет загрузки. Если там отсутствует запись с grub, то идём к пункту 1 и устанавливаем grub по канонам.
  4. Посмотрите на опцию 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 кинуть что-ли.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
BuriK666
@BuriK666
Компьютерный псих
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы