Вопрос или проблема
Когда я выполняю ‘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
, что приводит к конфликту.
-
Некорректные настройки конфигурации: Ошибочные параметры в конфигурационном файле могут быть причиной проблемы. Алгоритм установки GRUB использует эти данные для определения, где располагается загрузочная EFI-раздел.
-
Изменения в доступности устройства: Возможно, ранее устройство
/dev/sda1
существовало, но было удалено или изменено в результате переустановки системы или другой конфигурации дисковых устройств.
Решение проблемы
-
Изменение конфигурационного файла: Изменить файл
/var/cache/debconf/config.dat
вручную не рекомендуется, так как он может быть перезаписан в процессе обновления. Вместо этого вы можете изменить настройки через командуdebconf-set-selections
.Выполните следующую команду, чтобы переустановить на правильное устройство:
echo "grub-efi/install_devices /dev/sdc1" | sudo debconf-set-selections
Затем вам необходимо будет снова попытаться установить пакет grub:
sudo dpkg --configure -a
-
Перепроверка файла /etc/fstab: Убедитесь, что в файле
/etc/fstab
указаны корректные параметры для монтажной точки/boot/efi
. Например, строка может выглядеть следующим образом:UUID=<ваш_UUID_для_sdc1> /boot/efi vfat umask=0077 0 1
Чтобы возобновить доступ к загрузочной EFI-разделу, вы можете выполнить команду для проверки UUID:
sudo blkid
-
Переустановка grub: После изменения параметров и конфигурации, если ошибка все еще не устранена, вы можете рассмотреть возможность переустановки GRUB. Обычно это безопасно, однако выполните это только после резервного копирования важных данных.
Используйте следующие команды:
sudo grub-install /dev/sdc sudo update-grub
Ответы на вопросы
-
Можно ли просто изменить файл config.dat? Рекомендуется не редактировать
config.dat
напрямую. Вместо этого используйте команды debconf для изменения настроек. -
Существует ли команда для этого? Да, вы можете использовать
debconf-set-selections
, как описано выше. -
Что могло вызвать эту проблему на идентичных серверах? Вариации в конфигурации оборудования, последовательности установки или обновлений, а также изменение дисковых устройств могут привести к расхождениям в настройках GRUB между серверами.
Заключение
Решение проблемы с shim-signed
связано с правильной конфигурацией среды загрузчика GRUB. Правильное указание на существующее устройство EFI и использование соответствующих команд для изменения конфигурации помогут вам устранить возникшую ошибку. Если вы продолжаете сталкиваться с проблемами, рекомендуется обратиться к системному администратору для более детального анализа и устранения неполадок.