Сервер застрял с ошибкой Secure Boot “проблема с ключом отзыва (-74)” после онлайн переразметки.

Вопрос или проблема

Я попытался изменить размер разделов на сервере SLES 15, используя gdisk.

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

Начальная ситуация:

У меня есть загрузочный раздел (/dev/sda1), корневой раздел (/dev/sda2), раздел /home (/dev/sda3) и swap (/dev/sda4).

Я хочу пересоздать раздел /home с меньшим пространством и увеличить пространство на корневом разделе.

Вот шаги, которые я сделал:

  1. umount /home
  2. удалить и пересоздать разделы:
SRV01:~ # gdisk /dev/sda
GPT fdisk (gdisk) версия 1.0.8

Сканирование таблицы разделов:
  MBR: защитный
  BSD: отсутствует
  APM: отсутствует
  GPT: присутствует

Найдена допустимая GPT с защитным MBR; используется GPT.

Команда (? для помощи): p
Диск /dev/sda: 209715200 секторов, 100.0 GiB
Модель: Виртуальный диск
Размер сектора (логический/физический): 512/512 байт
Идентификатор диска (GUID): E6F4D731-D49F-4BD7-8AF7-A0EDA544AE8C
Таблица разделов вмещает до 128 записей
Главная таблица разделов начинается с сектора 2 и заканчивается сектором 33
Первый пригодный сектор - 34, последний пригодный сектор - 209715166
Разделы будут выравнены по границам секторов 2048
Общий свободный объем - 2014 секторов (1007.0 KiB)

Номер  Начало (сектор)    Конец (сектор)  Размер       Код  Имя
   1            2048         1050623   512.0 MiB   EF00
   2         1050624        84936703   40.0 GiB    8300
   3        84936704       143968255   28.1 GiB    8300
   4       143968256       209715166   31.3 GiB    8200

Команда (? для помощи): d
Номер раздела (1-4): 4

Команда (? для помощи): d
Номер раздела (1-3): 3

Команда (? для помощи): d
Номер раздела (1-2): 2

Команда (? для помощи): n
Номер раздела (2-128, по умолчанию 2): 2
Первый сектор (34-209715166, по умолчанию = 1050624) или {+-}размер{KMGTP}:
Последний сектор (1050624-209715166, по умолчанию = 209715166) или {+-}размер{KMGTP}: +60G
Текущий тип - 8300 (файловая система Linux)
Шестнадцатеричный код или GUID (L для показа кодов, Ввод = 8300):
Изменен тип раздела на 'файловая система Linux'

Команда (? для помощи): n
Номер раздела (3-128, по умолчанию 3): 3
Первый сектор (34-209715166, по умолчанию = 126879744) или {+-}размер{KMGTP}:
Последний сектор (126879744-209715166, по умолчанию = 209715166) или {+-}размер{KMGTP}: +8G
Текущий тип - 8300 (файловая система Linux)
Шестнадцатеричный код или GUID (L для показа кодов, Ввод = 8300):
Изменен тип раздела на 'файловая система Linux'

Команда (? для помощи): n
Номер раздела (4-128, по умолчанию 4): 4
Первый сектор (34-209715166, по умолчанию = 143656960) или {+-}размер{KMGTP}:
Последний сектор (143656960-209715166, по умолчанию = 209715166) или {+-}размер{KMGTP}:
Текущий тип - 8300 (файловая система Linux)
Шестнадцатеричный код или GUID (L для показа кодов, Ввод = 8300): L
Строка поиска типа, или <Ввод> чтобы показать все коды: swap
8200 Linux swap                          a502 FreeBSD swap
a582 Midnight BSD swap                   a901 NetBSD swap
bf02 Solaris swap
Шестнадцатеричный код или GUID (L для показа кодов, Ввод = 8300): 8200
Изменен тип раздела на 'Linux swap'

Команда (? для помощи): w

Финальная проверка завершена. Скоро будет записана GPT-данные. ЭТО УДАЛИТ СУЩЕСТВУЮЩИЕ РАЗДЕЛЫ!!

Продолжить? (Y/N): y
  1. прочитать таблицу разделов с partprobe
  2. создать файловую систему для раздела /home:
SRV01:~ # mkfs.xfs /dev/sda3
meta-data=/dev/sda3              isize=512    agcount=4, agsize=524288 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=0    bigtime=0 inobtcount=0
data     =                       bsize=4096   blocks=2097152, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
Отсекаются блоки...Готово.
  1. изменить размер файловой системы /
SRV01:~ # btrfs filesystem resize max /
Увеличение размера устройства id 1 (/dev/sda2) с 40.00GiB до максимума
  1. добавить новые UUID устройств в fstab (UUID устройства для корневого раздела остаётся тем же, иначе потребуется обновить его и в загрузочном разделе в конфигурации grub)
  2. монтировать файловые системы с mount -a

На данный момент все работает без каких-либо проблем.

Но если я перезагружаю систему, загрузчик открывается, и потом я получаю сообщение blacklist: Проблема с ключом отзыва (-74)

Как это можно решить?

Ответ или решение

Вы столкнулись с проблемой загрузки сервера SLES 15 после перепартиционирования диска с использованием утилиты gdisk. Сообщение об ошибке "Problem with revocation key (-74)" указывает на проблему с черным списком ключей безопасной загрузки (Secure Boot), то есть произошло нарушение цепочки доверия из-за изменения сигнатур или политики файла ядра или других важных бинарных файлов, которые защищаются механизмом Secure Boot.

Теория

Secure Boot — это функция безопасности, которая предназначена для предотвращения выполнения неавторизованных прошивок или системных программ во время начального процесса загрузки. Она опирается на криптографические ключи и политические ограничения, чтобы утвердить доверенные компоненты системы.

Ошибки такого рода могут возникать при значительных изменениях в конфигурации системы, таких как обновление ядра, изменение загрузчика или после манипуляций с разделами, как в вашем случае.

Пример

При выполнении таких операций, как изменение размеров или удаление и воссоздание разделов, может измениться расположение файлов и их хэш-сигнатуры, что может привести к нарушению доверия Secure Boot. В результате загрузочные компоненты могут быть неправильно считаны системой при новой загрузке.

Применение

Для решения проблемы выполните следующие шаги:

  1. Деактивация Secure Boot (временно):

    • Войдите в BIOS/UEFI вашего сервера и временно отключите Secure Boot. Это позволит вам проверить, сможет ли система нормально загрузиться без вмешательства безопасности.
  2. Переподдержание ключей:

    • В некоторых случаях выполнение обновления ключей может помочь. Вы можете попробовать обновить или повторно установить фабричные ключи в вашем UEFI.
  3. Проверка загрузчика GRUB:

    • Убедитесь, что все изменения в конфигурации загрузчика были выполнены правильно и что никакие дополнительные изменения не привели к ошибке. Если есть необходимость, попробуйте восстановить или переписать конфигурацию GRUB.
  4. Обновление ядра и модулей:

    • Если вы недавно изменяли или обновляли ядро, убедитесь, что все связанные модули конфигурированы корректно. Загрузите последние обновления системы и ядра, чтобы устранить возможные несовместимости.
  5. Проверка подписи всех загрузочных бинарных файлов:

    • Проверьте подписи всех бинарных файлов, получая уверенность, что все они авторизованы и соответствуют зарегистрированным ключам в UEFI.
  6. Обращение в техническую поддержку:

    • Если самостоятельно устранить проблему не удается, следует обратиться в техническую поддержку SUSE или к вашему поставщику оборудования для получения специализированной помощи.

Используя вышеописанные методы, вы сможете выявить и устранить проблему, связанную с ошибкой при черном списке ключей в Secure Boot, обеспечив корректную загрузку и работу вашего сервера.

Оцените материал
Добавить комментарий

Капча загружается...