Вопрос или проблема
Автообновление моего сервера не удалось, и я нашел эту ошибку в журнале:
Настройка shim-signed (1.51.4+15.8-0ubuntu1) ...
mount: /var/lib/grub/esp: специальное устройство /dev/disk/by-id/nvme-Amazon_Elastic_Block_Store_vol03d89b2c32d75dfae-part15 не существует.
dpkg: ошибка при обработке пакета shim-signed (--configure):
установленный пакетshim-signed завершил исполнение постскрипта с ошибкой, код выхода 32
Думаю, проблема связана с этим случаем, но это странно, я не менял никакой объем:
Ошибка при обновлении grub-efi-amd64-signed – специальное устройство [старый SSD] не существует
Пользователь plaisthos рекомендует отредактировать этот кэш-файл:
/var/cache/debconf/config.dat
и выполнить
sudo dpkg --configure -a
Но что именно следует редактировать? И безопасно ли перезагружать систему в этом состоянии или это может даже решить проблему? К сожалению, проблема возникла на рабочей системе, и я хочу быть очень осторожным, чтобы избежать простоев.
Моя система:
Сервер AWS EC2, работающий под управлением Ubuntu 22.04.4 LTS и Plesk
sudo lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 21.8M 1 loop /snap/amazon-ssm-agent/7984
loop1 7:1 0 21.9M 1 loop /snap/amazon-ssm-agent/7994
loop2 7:2 0 49.1M 1 loop /snap/core18/2810
loop3 7:3 0 49.1M 1 loop /snap/core18/2826
loop4 7:4 0 59.8M 1 loop /snap/core20/2267
loop5 7:5 0 59.8M 1 loop /snap/core20/2321
loop6 7:6 0 77.4M 1 loop /snap/lxd/28384
loop7 7:7 0 77.4M 1 loop /snap/lxd/29353
loop8 7:8 0 33.7M 1 loop /snap/snapd/21467
loop9 7:9 0 33.7M 1 loop /snap/snapd/21761
nvme0n1 259:0 0 512G 0 disk
├─nvme0n1p1 259:1 0 511.9G 0 part /
└─nvme0n1p15 259:2 0 99M 0 part /boot/efi
sudo df -h
Файловая система Размер Использовано Доступно Использование% Монтировано на
/dev/root 496G 375G 122G 76% /
tmpfs 31G 0 31G 0% /dev/shm
tmpfs 13G 1.1M 13G 1% /run
tmpfs 5.0M 28K 5.0M 1% /run/lock
efivarfs 128K 3.3K 125K 3% /sys/firmware/efi/efivars
/dev/nvme0n1p15 98M 6.3M 92M 7% /boot/efi
tmpfs 6.2G 4.0K 6.2G 1% /run/user/1000
часть /var/cache/debconf/config.dat
Name: grub-efi/install_devices
Template: grub-efi/install_devices
Value: /dev/disk/by-id/nvme-Amazon_Elastic_Block_Store_vol03d89b2c32d75dfae-part15
Owners: grub-common, grub-efi-arm64, grub-pc
Flags: seen
Variables:
CHOICES = /dev/nvme0n1p15 (103 MB; /boot/efi) на 68719 MB Amazon Elastic Block Store
RAW_CHOICES = /dev/disk/by-id/nvme-Amazon_Elastic_Block_Store_vol09ffbe328bafbd0eb-part15
Name: grub-efi/install_devices_disks_changed
Template: grub-efi/install_devices_disks_changed
Value: /dev/disk/by-id/nvme-Amazon_Elastic_Block_Store_vol03d89b2c32d75dfae-part15, /dev/disk/by-id/nvme-Amazon_Elastic_Block_Store_vol049f91243e2980923-part15
Owners: grub-common, grub-efi-arm64
Variables:
CHOICES = /dev/nvme0n1p15 (103 MB; /boot/efi) на 549755 MB Amazon Elastic Block Store
RAW_CHOICES = /dev/disk/by-id/nvme-Amazon_Elastic_Block_Store_vol049f91243e2980923-part15
Name: grub-efi/install_devices_empty
Template: grub-efi/install_devices_empty
Owners: grub-common, grub-efi-arm64
Name: grub-efi/install_devices_failed
Template: grub-efi/install_devices_failed
Owners: grub-common, grub-efi-arm64
Name: grub-efi/partition_description
Template: grub-efi/partition_description
Owners: grub-common, grub-efi-arm64
Variables:
DEVICE = /dev/nvme0n1p15
DISK_MODEL = Amazon Elastic Block Store
DISK_SIZE = 549755
PATH = /boot/efi
SIZE = 103
Name: grub2/kfreebsd_cmdline
Template: grub2/kfreebsd_cmdline
Owners: grub-efi-arm64
Name: grub2/kfreebsd_cmdline_default
Template: grub2/kfreebsd_cmdline_default
Owners: grub-efi-arm64
Name: grub2/linux_cmdline
Template: grub2/linux_cmdline
Value:
Owners: grub-efi-arm64
Name: grub2/linux_cmdline_default
Template: grub2/linux_cmdline_default
Value: quiet splash
Owners: grub-efi-arm64
Name: grub2/no_efi_extra_removable
Template: grub2/no_efi_extra_removable
Owners: grub-efi-arm64
Name: grub2/unsigned_kernels
Template: grub2/unsigned_kernels
Owners: grub-efi-arm64
Name: grub2/unsigned_kernels_title
Template: grub2/unsigned_kernels_title
Owners: grub-efi-arm64
Name: grub2/update_nvram
Template: grub2/update_nvram
Value: true
Owners: grub-efi-arm64
cat /etc/fstab
LABEL=cloudimg-rootfs / ext4 discard,errors=remount-ro 0 1
LABEL=UEFI /boot/efi vfat umask=0077 0 1
/swapfile none swap sw 0 0
sudo parted -l
Model: Amazon Elastic Block Store (nvme)
Disk /dev/nvme0n1: 550GB
Размер сектора (логический/физический): 512B/4096B
Таблица разделов: gpt
Флаги диска:
Number Start End Size File system Name Flags
15 1049kB 105MB 104MB fat32 boot, esp
1 106MB 550GB 550GB ext4
ИЗМЕНЕНИЕ
Как предложил Дэвид DE, я посмотрел эту тему:
Ошибка при обработке пакета shim-signed
Я не эксперт, но, на мой взгляд, моя проблема имеет другой характер. Мне кажется, что проблема связана с идентификатором диска (ошибка: “не существует”) для точки монтирования /boot/efi, которая по какой-то причине изменяется.
В кэш-файле (/var/cache/debconf/config.dat) я вижу:
nvme-Amazon_Elastic_Block_Store_vol03d89b2c32d75dfae-part15
vs
nvme-Amazon_Elastic_Block_Store_vol09ffbe328bafbd0eb-part15
vs
nvme-Amazon_Elastic_Block_Store_vol049f91243e2980923-part15
Как я могу выяснить правильный идентификатор и как исправить настройку? Могу ли я просто удалить цитируемую часть кэш-файла (/var/cache/debconf/config.dat) и сгенерировать его снова с обновленным/исправленным идентификатором диска?
ИЗМЕНЕНИЕ:
Это сработало и для моего случая (Ошибка при обновлении grub-efi-amd64-signed – специальное устройство [старый SSD] не существует)
echo PURGE | debconf-communicate grub-common
echo PURGE | debconf-communicate grub-pc
dpkg --configure -a
Ответ или решение
Решение проблемы с dpkg: ошибка обработки пакета shim-signed на Ubuntu 22.04.4 LTS
Ошибка, с которой вы столкнулись, возникает в процессе настройки пакета shim-signed
, и связана с тем, что система пытается примонтировать EFI-раздел (в данном случае /boot/efi
), но не может найти указанный специальный устройством с ID: /dev/disk/by-id/nvme-Amazon_Elastic_Block_Store_vol03d89b2c32d75dfae-part15
. Эта проблема может быть вызвана изменениями в конфигурации или путаницей с ID накопителей.
Шаги по устранению ошибки
-
Проверка текущего состояния дисков:
Сначала убедитесь, что все устройства, указанные в логах, существуют и корректно определяются системой. Вы уже выполнили командыlsblk
иdf -h
, которые подтверждают, что ваш/boot/efi
смонтирован на/dev/nvme0n1p15
. Следовательно, мы можем работать с его корректным указанием в конфигурации. -
Редактирование файла конфигурации debconf:
В вашемconfig.dat
зафиксированы старыеVALUES и нужно обновить их для правильной работыgrub
. В частности, нужно изменить строки, касающиеся неверного устройства. Вы можете отредактировать файл вручную, удалив старые идентификаторы, чтобы они больше не использовались. Но безопаснее использовать командыdebconf
для очистки конфигурации. -
Очистка кэша Debconf:
Используйте следующие команды для очистки старых настроек и повторной конфигурации:echo PURGE | debconf-communicate grub-common echo PURGE | debconf-communicate grub-pc
-
Повторная настройка пакетов:
После очистки используйте команду, чтобы повторно сконфигурировать пакеты во избежание ошибок:sudo dpkg --configure -a
-
Проверка и перезагрузка:
После выполнения вышеуказанных шагов проверьте, есть ли какие-либо оставшиеся ошибки. Если все прошло успешно, вы можете безопасно перезагрузить систему, чтобы убедиться, что изменения вступили в силу.
Изменения в /etc/fstab
Хотя в вашем случае это не основная проблема, стоит убедиться, что в файле /etc/fstab
указаны корректные UUID и метки для разделов. Например, убедитесь, что запись для /boot/efi
соответствует существующему устройству. В вашем случае запись выглядит корректной:
LABEL=UEFI /boot/efi vfat umask=0077 0 1
Заключение
Данные шаги помогут вам устранить проблему с обновлением пакета shim-signed
и восстановить работоспособность вашего сервера на AWS EC2. Всегда рекомендуется делать резервные копии критически важных данных перед выполнением изменений в системе, особенно на производственных серверах. Если по завершении вы столкнетесь с новыми проблемами, рекомендую изучить журналы и искать конкретные сообщения об ошибках для их устранения.
Если у вас возникнут дополнительные вопросы или потребуется помощь, пожалуйста, не стесняйтесь обращаться.