Последнее обновление CentOS ломает GRUB2-efi загрузчики

После запуска yum update на CentOS при последующей перезагрузке вас может поджидать сюрприз в виде окирпиченного сервера, который зависает на заставке биоса.


О проблеме на форумах и багтрекерах начали писать вчера. Похоже, что проблема затрагивает все системы с UEFI загрузчиком и актуальна как минимум для версий CentOS 7.8 и 8.2. Вот и мне вчера под вечер не повезло обновиться и перезагрузить сервер, обеспечив себе ночь веселья.


Проблема проявляет себя в момент перезагрузки сервера в виде зависшего экрана с заставкой биоса, от чего сначала вообще не понятно, что происходит — ни ошибок, ни консоли grub, только зависшая заставка bios.


Решение


Если после обновления сервер не перезагружался, то чтобы не получить кирпич при последующей перезагрузке достаточно откатить обновление grub2 пакетов и их зависимостей:


yum downgrade grub2\* shim\* mokutil

Если же сервер перезагрузили и кирпич все-таки получили, то чтобы восстановить загрузчик понадобится Live-CD диск или флешка. Последовательность действий для отката пакетов на не грузящейся системе будет следующей:



После этого загрузчик обновится на старую версию и сервер должен загрузиться.


Исключение пакетов из обновления


Чтобы при следующем обновлении загрузчик опять не сломался, надо добавить проблемные пакеты в исключения (строка exclude=grub2* shim* mokutil) в файл конфигурации yum /etc/yum.conf.


Проблемные версии пакетов для CentOS 7, именно с ними ломается UEFI загрузчик:
grub2-2.02-0.86.el7.centos.x86_64
shim-x64-15-7.el7_9.x86_64

@Bonio
01.08.2020 15:18 UTC
Первоисточник

Комментарии

@chemtech
01.08.2020 10:21 UTC
+1
@RekGRpth
01.08.2020 11:01 UTC
+3
не только efi и centos, у меня вчера обычный на убунте сломался со странной ошибкой
symbol `grub_calloc' not found
починил, загрузившись в mate live-cd и установив boot-repair
@
01.08.2020 16:08 UTC
0
НЛО прилетело и опубликовало эту надпись здесь
@aliend
01.08.2020 11:26 UTC
0
@arheops
01.08.2020 17:14 UTC
0
Очевидно, не на всех серверах.
Я вчера 9 штук перегрузил, все ок. Все с UEFI, все предварительно обновил.
@pnl
08.08.2020 08:35 UTC
0

Что там слышно? Не пофиксили еще?

@nameqaw
17.08.2020 10:25 UTC
0
Насколько удобно использовать CentOS для домашних нужд и интернета? Будет высокая безопасность аккаунтов сайтов, почт, банкинга?
@aliend
17.08.2020 10:33 UTC
0

Для дома – скорее нет.


А вот в качестве рабочего места корпоративного администратора – очень да: использовать как площадку для ssh/rdp клиентов, деинсталлировав openssh-server и закрывшись nft/iptables.


Инфобезам очень нравится.

26.08.2020 17:51 UTC
0
инфобез это кто?
@faew
17.08.2020 10:25 UTC
0
А зачем откатывать? достаточно обновить загрузчик после обновления grub2.
Если загружаетесь из live, обновите пакет в нём перед установкой загрузчика.

grub2-install /dev/sda