Ошибка с пакетом shim-signed при выполнении обновлений

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

Когда я выполняю ‘apt upgrade’, ‘apt update’ и т.д., я получаю следующую ошибку:

Настройка shim-signed (1.40.10+15.8-0ubuntu1)  
Монтаж /var/lib/grub/esp: специальное устройство /dev/sda1 не существует  
Dpkg: ошибка при обработке пакета shim-signed

Я думаю, что это происходит, потому что раздел /boot/efi в /etc/fstab имеет UUID, который ссылается на /dev/sdc1 (что правильно).
(/dev/sda – это диск с сырыми данными без разделов)

Файл /var/cache/debconf/config.dat имеет следующие настройки:

Имя: grub-efi/install_devices  
Шаблон: grub-efi/install_devices  
Значение: /dev/sda1  
Владельцы: grub-common, grub-efi-amd64, grub-pc  
Флаги: видно  
Переменные:  
    CHOICES:  
    RAW_CHOICES  

Имя: grub-efi/install_devices_disks_changed  
Шаблон: grub-efi/install_devices_disks_changed  
Значение: /dev/sda1, /dev/sdc1  
Владельцы: grub-common, grub-efi-amd64,   
Флаги: видно  
Переменные:  
    CHOICES:  
    RAW_CHOICES  

Мои вопросы:
Могу ли я просто изменить файл config.dat, чтобы использовать /dev/sdc1?
Существует ли команда для этого, а не просто редактировать файл?
Что привело к тому, что это произошло изначально, когда есть идентичные серверы, которые ведут себя корректно?

Я настороженно отношусь к переустановке grub и т.д., так как не знаю, повлияет ли это на /dev/sda.

Буду признателен за любую помощь.

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

Ошибка с пакетом shim-signed при выполнении обновлений: детальный анализ и решение

При выполнении команд обновления, таких как apt upgrade и apt update, вы столкнулись с ошибкой, связанной с пакетом shim-signed, которая выглядит следующим образом:

Setting up shim-signed (1.40.10+15.8-0ubuntu1)  
Mount /var/lib/grub/esp: special device /dev/sda1 does not exist  
Dpkg: error processing package shim-signed

Эта ошибка указывает на проблему с установкой загрузчика GRUB, который ожидает, что специальное устройство /dev/sda1 должно существовать, однако оно отсутствует. Основываясь на вашем описании, можно сделать вывод, что проблема может быть связана с неправильно настроенной файловой системой, в частности, с использованием неверного UUID для загрузочной EFI-раздела в файле /etc/fstab.

Причины проблемы

Вы указали, что ваш /boot/efi в файле /etc/fstab ссылается на UUID, который соответствует /dev/sdc1, и это правильное устройство. Однако, в файле конфигурации /var/cache/debconf/config.dat указывается на /dev/sda1, что приводит к конфликту.

  1. Некорректные настройки конфигурации: Ошибочные параметры в конфигурационном файле могут быть причиной проблемы. Алгоритм установки GRUB использует эти данные для определения, где располагается загрузочная EFI-раздел.

  2. Изменения в доступности устройства: Возможно, ранее устройство /dev/sda1 существовало, но было удалено или изменено в результате переустановки системы или другой конфигурации дисковых устройств.

Решение проблемы

  1. Изменение конфигурационного файла: Изменить файл /var/cache/debconf/config.dat вручную не рекомендуется, так как он может быть перезаписан в процессе обновления. Вместо этого вы можете изменить настройки через команду debconf-set-selections.

    Выполните следующую команду, чтобы переустановить на правильное устройство:

    echo "grub-efi/install_devices /dev/sdc1" | sudo debconf-set-selections

    Затем вам необходимо будет снова попытаться установить пакет grub:

    sudo dpkg --configure -a
  2. Перепроверка файла /etc/fstab: Убедитесь, что в файле /etc/fstab указаны корректные параметры для монтажной точки /boot/efi. Например, строка может выглядеть следующим образом:

    UUID=<ваш_UUID_для_sdc1> /boot/efi vfat umask=0077 0 1

    Чтобы возобновить доступ к загрузочной EFI-разделу, вы можете выполнить команду для проверки UUID:

    sudo blkid
  3. Переустановка grub: После изменения параметров и конфигурации, если ошибка все еще не устранена, вы можете рассмотреть возможность переустановки GRUB. Обычно это безопасно, однако выполните это только после резервного копирования важных данных.

    Используйте следующие команды:

    sudo grub-install /dev/sdc
    sudo update-grub

Ответы на вопросы

  1. Можно ли просто изменить файл config.dat? Рекомендуется не редактировать config.dat напрямую. Вместо этого используйте команды debconf для изменения настроек.

  2. Существует ли команда для этого? Да, вы можете использовать debconf-set-selections, как описано выше.

  3. Что могло вызвать эту проблему на идентичных серверах? Вариации в конфигурации оборудования, последовательности установки или обновлений, а также изменение дисковых устройств могут привести к расхождениям в настройках GRUB между серверами.

Заключение

Решение проблемы с shim-signed связано с правильной конфигурацией среды загрузчика GRUB. Правильное указание на существующее устройство EFI и использование соответствующих команд для изменения конфигурации помогут вам устранить возникшую ошибку. Если вы продолжаете сталкиваться с проблемами, рекомендуется обратиться к системному администратору для более детального анализа и устранения неполадок.

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

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