Как отменить обновление UEFI dbx, выполненное обновлением прошивки Ubuntu 24.04?

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

Я получил уведомление о необходимости обновления Ubuntu 24.04. После того как я щелкнул по уведомлению, появилось графическое интерфейсное приложение для обновления прошивки. Была обновлена UEFI dbx до более современной версии. После обновления система перезагрузилась. Однако я заметил серьезную проблему. У этой системы CPU с 16 ядрами, 32 потоками, и Монитор Системы отображает 32 ядра CPU. После обновления UEFI dbx, Монитор Системы теперь показывает только 1 CPU. Обновление кажется повредило систему. Как отменить это?

Я считаю, что графический интерфейс связан с fwupdmgr в терминале. Я выполнил команду fwupdmgr get-updates и она показывает

...
Устройства с последней доступной версией прошивки:
 • UEFI dbx
────────────────────────────────────────────────
Устройства, успешно обновленные:
 • UEFI dbx (371 → 20241101)
Отправка отчетов о прошивке помогает поставщикам оборудования быстро идентифицировать сбои и успешные обновления на реальных устройствах.

Также команда терминала fwupdmgr get-devices показала эту информацию (я замаскировал часть информации об ID ниже):

...
...
...
│ └─UEFI dbx:
│       ID устройства:    Некоторые цифры
│       Сводка:          База данных аннулирований UEFI
│       Текущая версия:  20241101
│       Минимальная версия:  20241101
│       Поставщик:       UEFI: Linux Foundation
│       Продолжительность установки: 1 секунда
│       GUIDs:           xxx ← UEFI\CRT_xxx&ARCH_X64
│                         yyy ← UEFI\CRT_yyy&ARCH_X64
│                         zzz ← UEFI\CRT_zzz&ARCH_X64
│       Флаги устройства: • Внутреннее устройство
│                         • Обновляемое
│                         • Поддерживается на удаленном сервере
│                         • Требуется перезагрузка после установки
│                         • Устройство доступно в течение обновления
│                         • Разрешены только обновления версии
│                         • Подписанная полезная нагрузка

Обновление:

Я только что попробовал перезагрузить свою систему, чтобы проверить, возникнет ли эта проблема при загрузке в режиме восстановления или более старой версии Linux. Я подтвердил, что эта проблема не возникает при загрузке с Linux 6.11.0-19-generic (recovery mode) и более старой версии Linux 6.8.0-52-generic. Проблема, кажется, возникает с Linux 6.11.0-19-generic, которая является последней версией Linux.

Также, я обнаружил, что сделал apt upgrade (о котором забыл и проверил, просмотрев /var/log/apt/history.log) и это обновило версию Linux до 6.11.0-19.19~24.04.1. Это обновление, должно быть, произошло после того, как UEFI dbx была обновлена, но до того, как была выполнена перезагрузка.

$ dpkg --list | grep linux-image
ii  linux-image-6.11.0-19-generic                  6.11.0-19.19~24.04.1                        amd64        Подписанный образ ядра, общий
rc  linux-image-6.8.0-49-generic                   6.8.0-49.49                                 amd64        Подписанный образ ядра, общий
rc  linux-image-6.8.0-50-generic                   6.8.0-50.51                                 amd64        Подписанный образ ядра, общий
ii  linux-image-6.8.0-51-generic                   6.8.0-51.52                                 amd64        Подписанный образ ядра, общий
ii  linux-image-6.8.0-52-generic                   6.8.0-52.53                                 amd64        Подписанный образ ядра, общий
ii  linux-image-generic-hwe-24.04                  6.11.0-19.19~24.04.1                        amd64        Общий образ ядра Linux

Как мне решить эту проблему для Linux 6.11.0-19-generic?

Интересно. Со мной такого не случалось. Я использую ядро 6.11.0-19-generic без каких-либо проблем. Так или иначе. Перед обновлением вашей системы всегда используйте приложение Timeshift на случай, если что-то пойдет не так; Я предполагаю, вы использовали команды sudo apt install linux-generic-hwe-24.04 и sudo apt install linux-headers-6.11.0-19-generic, верно? Хорошо.

Сначала проверьте, какие ядра установлены:

dpkg --list | grep linux-image

Если вы обнаружите, что Linux 6.11.0-19-generic последовательно вызывает проблемы, вы можете загрузиться в более старую версию ядра, которая работает, и удалить проблемное ядро через терминал.

sudo apt remove --purge linux-image-6.11.0-19-generic;
sudo update-grub;
sudo reboot

Вы также можете попробовать установить более старое ядро в качестве значения по умолчанию (я думаю, что это лучшее решение).

dpkg --list | grep linux-image;
sudo nano /etc/default/grub;

Затем найдите строку, которая говорит: GRUB_DEFAULT=0
Измените 0 на номер, соответствующий позиции ядра, которое вы хотите установить по умолчанию. Имейте в виду, что самое последнее ядро обычно находится в начале списка (позиция 0), поэтому вам нужно будет настроить номер в соответствии с позицией более старого ядра в списке GRUB. Вместо числа вы также можете указать путь:

GRUB_DEFAULT='Advanced options for Ubuntu>Ubuntu, with Linux 6.8.0-52-generic'

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

sudo update-grub; sudo reboot

Эти шаги должны исправить проблему.

Звучит так, будто обновление UEFI dbx (denylist) могло вызвать некоторые проблемы с конфигурацией оборудования системы или способ распознавания операционной системой ядер CPU. Возможно, вам придется рассмотреть вопрос о переустановке операционной системы. Это восстановит систему в ее первоначальное состояние и, возможно, исправит любые проблемы, вызванные обновлением. Так или иначе, вот несколько шагов, которые вы можете предпринять, чтобы попытаться отменить или исправить проблему.

Иногда обновления прошивки могут привести к возвращению или изменению настроек, поэтому проверьте настройки UEFI (BIOS). Перезагрузите систему и войдите в настройки UEFI/BIOS, нажав клавишу, как F2, DEL или Esc.

После этого сбросьте BIOS к умолчанию. Если в настройках BIOS/UEFI есть изменения, связанные с конфигурацией CPU, сбросьте их к умолчанию. Ищите опции, связанные с ядрами CPU, SMT (Simultaneous Multi-Threading) или многоядерными настройками, и убедитесь, что все ядра и потоки включены.

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

Сохраните изменения и выйдите.

Проблема также может заключаться в загрузчике или конфигурации ядра после обновления. Убедитесь, что система загружается с правильным ядром.

Перезагрузите систему и удерживайте Shift во время запуска, чтобы вызвать меню загрузки GRUB.
В меню GRUB выберите Advanced options for Ubuntu. Выберите более старую версию ядра (если доступно), чтобы загрузиться в нее.
После загрузки проверьте, распознает ли система правильное количество ядер CPU.

Если это решит проблему, возможно, вы захотите избегать недавнего обновления ядра или выяснить, вызвало ли обновление какие-либо проблемы с вашей текущей версией ядра, или вы можете попробовать вернуть обновление UEFI dbx.

Также, если вы подозреваете, что обновление UEFI dbx непосредственно отвечает за проблему, вы можете захотеть отменить или откатить его. Вы можете попробовать откатить UEFI до предыдущей версии. Некоторые системы позволяют вам понизить версию UEFI из настроек BIOS/UEFI. Проверьте историю версий UEFI на веб-сайте производителя для вашей материнской платы/системы.

Еще одна вещь, которая может вам помочь.
Вы можете попробовать переустановить или понизить версии fwupd или любые UEFI-связанные пакеты. Используйте:

sudo apt-get update
sudo apt-get install --reinstall fwupd
sudo update-initramfs -u

После этого перезагрузитесь и посмотрите, решена ли проблема. Дайте мне знать, была ли это полезная информация.

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

Для решения проблемы, связанной с обновлением UEFI dbx на Ubuntu 24.04, требуются тщательные и технически обоснованные действия. В данном контексте обновление UEFI dbx, похоже, вызвало изменения в конфигурации системы, что привело к неправильному распознаванию процессорных ядер операционной системой. Далее я предложу ряд шагов, которые помогут решить данную проблему.

Теория

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

Пример

Возьмем ваш случай: после обновления UEFI dbx System Monitor начал отображать только одно ядро процессора вместо 32. Обновление dbx иногда может вызвать сбои с настройками Secure Boot или конфликциями UEFI/BIOS, что может повлиять на то, как система распознает и управляет оборудованием.

Применение

  1. Проверка и сброс настроек BIOS/UEFI: Перезагрузите компьютер и войдите в настройки BIOS/UEFI. Найдите параметры, которые отвечают за конфигурацию процессора, такие как SMT (Simultaneous Multi-Threading) и многопоточность, и убедитесь, что все ядра и потоки включены. Если возможно, сбросьте настройки BIOS/UEFI к значениям по умолчанию.

  2. Проверка состояния Secure Boot: Если обновление повлияло на Secure Boot, попробуйте отключить его или убедитесь, что он настроен правильно. Для этого войдите в настройки BIOS/UEFI и найдите соответствующий параметр. Отключение Secure Boot может помочь решить проблему с распознаванием процессора.

  3. Выбор ядра для загрузки: Перезагрузите систему и во время загрузки удерживайте клавишу Shift, чтобы вызвать меню GRUB. Здесь выберите пункт "Advanced options for Ubuntu" и загрузитесь с предыдущей версии ядра (например, 6.8.0-52-generic), где проблема не проявляется. Если загрузка с предыдущим ядром решает проблему, это возможно свидетельствует о несовместимости последнего обновления ядра.

  4. Удаление проблемного ядра: Если вышеописанные шаги помогают, но проблема с последним ядром остается нерешенной, возможно, стоит удалить его из системы. Для этого выполните команду:

    sudo apt remove --purge linux-image-6.11.0-19-generic
    sudo update-grub
    sudo reboot

    Это гарантирует, что система будет загружаться с последней стабильной версии ядра.

  5. Восстановление предыдущей версии UEFI: Если проблема непосредственно связана с UEFI dbx, попробуйте откатить версию UEFI. Некоторая аппаратная часть позволяет выполнять этот процесс прямо из настроек BIOS/UEFI. Узнайте у производителя, существует ли такая возможность для вашего устройства.

  6. Переустановка fwupd: Попробуйте переустановить утилиту fwupd, которая управляет обновлением прошивки:

    sudo apt-get update
    sudo apt-get install --reinstall fwupd
    sudo update-initramfs -u

    Это может помочь при конфликтах с установленными пакетами прошивки.

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

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

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