LINUX.ORG.RU
ФорумAdmin

Grub2 EFI не подхватывает grub.cfg при загрузке Centos 7

 , ,


0

1

Добрый день любители и профи Юникс систем.

Столкнулся с проблемой загрузки системы Centos 7 Grub2 не хочет автоматически при загрузке использовать свои настройки из файла /boot/efi/EFI/centos/grub.cfg

Все инструкции, которые попадаются на просторах интернета либо не помогают справиться с этой задачей и в основной массе разбирается не под EFI и не под диск c GPT.

  • Диск 2тб GPT
  • sda1 - FAT 16 тип EFI system (монтируется /boot/efi)
  • sda2 - xfs (монтируется /boot)
  • sda6 - xfs (монтируется /)

настройку делал командами

  • grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
  • gfub2-install /dev/sda

При загрузке попадаю в grub, он почему-то не хочет продолжать автоматом загрузку открыв меню из созданного файла /boot/efi/EFI/centos/grub.cfg только

  • grub>

сам конфиг рабочий, если руками указываю на него

  • grub>configfile (hd0,1)/efi/centos/grub.cfg

сразу на экран получаю рабочее меню, через которое система нормально загружается.

Кто-то может натолкнуть на путь, как объяснить grub чтобы он находил при загрузке свой конфиг??

Либо собрать и поставить grub, который будет искать конфиг по желаемому пути, либо класть конфиг туда, где ищет установленный в данный момент grub.

Elyas ★★★★★ ()

примерно раз в год я сталкиваюсь с проблемыми с EFI и каждый раз заново читаю доку http://www.rodsbooks.com/efi-bootloaders/index.html , что бы что-то починить. Оверинжиниринг какой-то этот EFI. Честно говоря не знаю, что заставляет меня его использовать, если только лишь дефолты.

По путям: у меня центос, и я не вижу противоречия с тем, что написано у тебя. При этом у меня работает. Дьявол в каких то деталях

/boot/efi/
└── EFI
    ├── BOOT
    │   ├── BOOTX64.EFI
    │   └── fbx64.efi
    └── centos
        ├── BOOT.CSV
        ├── BOOTX64.CSV
        ├── fonts
        │   └── unicode.pf2
        ├── grub.cfg
        ├── grub.cfg.1492137209.rpmsave
        ├── grub.cfg.1508898338.rpmsave
        ├── grubenv
        ├── grubx64.efi
        ├── mmx64.efi
        ├── shim.efi
        ├── shimx64-centos.efi
        └── shimx64.efi

/boot/efi/EFI/centos/grub.cfg : https://paste.fedoraproject.org/paste/tcAkn1nwc4uS3IOx9WrAqA

Deleted ()
Последнее исправление: Deleted (всего исправлений: 3)
Ответ на: комментарий от Deleted

Все эти файлы у меня присутствуют, на сам конфиг я не могу грешить, потому что он рабочий, вручную на него тыкаю grub - он полностью его отрабатывает, но автоматом не хотит, где бы посмотреть по какому пути он его ищет ( если вообще ищет )

AndersonGH ()
Ответ на: комментарий от AndersonGH

никак не могу вспомнить, какие тулзы использовал последний раз. Что пишет

# bootctl status
System:
   Machine ID: 388bd92f54ac4a5db841e9158768998f
      Boot ID: 85cd30a849664429978811a284446167
  Secure Boot: disabled
   Setup Mode: user

Selected Firmware Entry:
        Title: cent7
    Partition: /dev/disk/by-partuuid/b079e79e-724b-4b78-8817-303716564bdb    # это как раз ESP раздел (fat)
         File: └─/EFI/centos/shim.efi

?

Also

# efibootmgr --verbose
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0002,0004,0005,0003,0006,0001
Boot0001* cent7	PciRoot(0x0)/Pci(0x17,0x0)/Sata(0,65535,0)/HD(1,GPT,b079e79e-724b-4b78-8817-303716564bdb,0x800,0x64000)/File(\EFI\centos\shim.efi)
Boot0002  Diskette Drive	BBS(Floppy,Diskette Drive,0x0)..BO
Boot0003  P0: ST500DM002-1SB10A	BBS(HD,P0: ST500DM002-1SB10A         ,0x0)..BO
Boot0004  USB Storage Device	BBS(USB,USB Storage Device,0x0)..BO
Boot0005  CD/DVD/CD-RW Drive	BBS(CDROM,P1: PLDS DVD+/-RW DU-8A5LH    ,0x0)..BO
Boot0006  Onboard NIC	BBS(Network,Realtek PXE B02 D00,0x0)..BO
Boot0008* P0: ST500DM002-1SB10A	BBS(HD,P0: ST500DM002-1SB10A         ,0x0)..BO
Deleted ()
Последнее исправление: Deleted (всего исправлений: 3)
Ответ на: комментарий от Deleted
[]# bootctl status
System:
   Machine ID: ab8079d55ec54a57a6468609f17f7335
      Boot ID: 80ccfc8250e14fccbfd10f13f894ab27
  Secure Boot: disabled
   Setup Mode: setup

Selected Firmware Entry:
        Title: CentOS Linux
    Partition: /dev/disk/by-partuuid/be7e96a8-b36b-4245-a1cf-882af478afa6
         File: └─/EFI/CENTOS/shimx64.efi

No suitable data is provided by the boot manager. See:
  http://www.freedesktop.org/wiki/Software/systemd/BootLoaderInterface
  http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec
for details.
AndersonGH ()
Ответ на: комментарий от Deleted
[]# efibootmgr --verbose
BootCurrent: 0004
Timeout: 0 seconds
BootOrder: 0004,0002,0000,0003,0001
Boot0000* Linux	HD(1,800,96000,be7e96a8-b36b-4245-a1cf-882af478afa6)File(\EFI\redhat\shim.efi)
Boot0001* Hard Drive 	BIOS(2,0,00)AMGOAMNO........o.S.T.2.0.0.0.V.M.0.0.3.-.1.E.T.1.6.4....................A...........................>..Gd-.;.A..MQ..L. . . . . . . . . . . . .7.W.0.2.C.1.Z.J......AMBO
Boot0002* centos	HD(1,800,96000,be7e96a8-b36b-4245-a1cf-882af478afa6)File(\EFI\centos\grubx64.efi)
Boot0003* UEFI OS	HD(1,800,96000,be7e96a8-b36b-4245-a1cf-882af478afa6)File(\EFI\BOOT\BOOTX64.EFI)
Boot0004* CentOS Linux	HD(1,800,96000,be7e96a8-b36b-4245-a1cf-882af478afa6)File(\EFI\CENTOS\shimx64.efi)

AndersonGH ()

«Каша какая-то» ©

А вот и «ларчик»

[]# efibootmgr --verbose
BootCurrent: 0004
Timeout: 0 seconds
BootOrder: 0004,0002,0000,0003,0001
Boot0000* Linux	HD(1,800,96000,be7e96a8-b36b-4245-a1cf-882af478afa6)File(\EFI\redhat\shim.efi)
Boot0001* Hard Drive 	BIOS(2,0,00)AMGOAMNO........o.S.T.2.0.0.0.V.M.0.0.3.-.1.E.T.1.6.4....................A...........................>..Gd-.;.A..MQ..L. . . . . . . . . . . . .7.W.0.2.C.1.Z.J......AMBO
Boot0002* centos	HD(1,800,96000,be7e96a8-b36b-4245-a1cf-882af478afa6)File(\EFI\centos\grubx64.efi)
Boot0003* UEFI OS	HD(1,800,96000,be7e96a8-b36b-4245-a1cf-882af478afa6)File(\EFI\BOOT\BOOTX64.EFI)
Boot0004* CentOS Linux	HD(1,800,96000,be7e96a8-b36b-4245-a1cf-882af478afa6)File(\EFI\CENTOS\shimx64.efi)

Текущий конфиг «живёт» в \EFI\centos\ , а текущий загрузчик в \EFI\CENTOS\

P.S. Угадал?

anymouze ()
Ответ на: комментарий от anymouze

у меня нету папки \EFI\CENTOS\ у меня если начинать с корня /boot/efi/EFI/centos/

.. и кстати попробовал я еще раз перенести конфиг в /boot/grub2 (не в /boot/grub как вначале темы посоветовали) и этот вариант сработал ( Но! на этом же железе на другом винте эта же система с которой я сделал клон работает как положено по википедии конфиг на том месте в /boot/efi/EFI/centos/ ), сегодня заново переустанавливаю систему опираясь на полученные знания в результаты тестов и экспериментов, Спасибо ВСЕМ за совместный труд! Реально связка centos 7 - gpt диск - UEFI ОЧЕНЬ мало документирована, в очередной раз убедился, что только совместная работа помогает решить проблемы!

AndersonGH ()
Ответ на: комментарий от AndersonGH

Решилось — это хорошо!

ИМХО, не должно быть какой-то особой специфики для связки centos 7 - gpt диск - UEFI. Какие каталоги присутствуют на системном разделе EFI?

Но! на этом же железе на другом винте эта же система с которой я сделал клон работает как положено по википедии конфиг на том месте в /boot/efi/EFI/centos/

Это тоже могло повлиять. Во время экспериментов диск с «клоном» системы тоже был установлен в компьютер? UEFI могло «запутаться» в 2-х системных разделах с загрузчиками.

anymouze ()