Ошибка обновления grub-efi-amd64-signed - специальное устройство [старый SSD] не существует

При запуске sudo apt upgrade в Ubuntu 20.04.1 я всегда получаю следующую ошибку:

Setting up grub-efi-amd64-signed (1.142.6+2.04-1ubuntu26.4) ...
mount: /var/lib/grub/esp: special device /dev/disk/by-id/ata-Samsung_SSD_860_EVO
_500GB_S3Z1NB0K866259H-part1 does not exist.
dpkg: error processing package grub-efi-amd64-signed (--configure):
 installed grub-efi-amd64-signed package post-installation script subprocess ret
urned error exit status 32
dpkg: dependency problems prevent processing triggers for shim-signed:
 shim-signed depends on grub-efi-amd64-signed | grub-efi-arm64-signed; however:
  Package grub-efi-amd64-signed is not configured yet.
  Package grub-efi-arm64-signed is not installed.

dpkg: error processing package shim-signed (--configure):
 dependency problems - leaving triggers unprocessed
Errors were encountered while processing:
 grub-efi-amd64-signed
 shim-signed

Я бы хотел какой-то способ исправить установку пакета, чтобы apt upgrade работал без ошибок.

Контекст этой ошибки: я купил новый SSD, подключил его к своему компьютеру, dd поместил содержимое ata-Samsung_SSD_860_EVO_500GB_S3Z1NB0K866259H на новый диск, отредактированный ] / etc / fstab , чтобы указать на новый диск, перезагрузился, обновил BIOS и начал использовать Ubuntu на новом диске.

Все работало нормально (загрузка Ubuntu, использование программного и аппаратного обеспечения, обновление других пакетов), за исключением одной ошибки выше, когда процесс обновления пакета grub пытается найти старый диск.

То, что я пробовал:

  1. sudo dpkg --configure -a на всякий случай, если это волшебным образом решит проблему
  2. sudo dpkg-reconfigure grub-efi-amd64-signed , но это просто возвращает «grub-efi-amd64-signed поврежден или не полностью установлен».
  3. поиск по всем / etc / и / boot / для любой ссылки на старый диск , нет ни одного
0
задан 18 September 2020 в 20:55

2 ответа

Проблема заключалась в том, что в разделе /boot/efi отсутствовал флаг esp, поэтому grub не мог определить, куда поместить свои файлы EFI.

Решение заключалось в том, чтобы открыть gparted, щелкнуть правой кнопкой мыши Управление флагами в разделе /boot/efi, установить флажок esp, затем Закрыть.

Затем запуск sudo apt upgrade задал вопрос во время настройки пакета grub-efi-amd64-signed с вопросом, на какой диск следует установить grub:

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

Поскольку в gparted установлен флаг esp, в диалоговом окне вопроса можно было поставить галочку напротив нового диска, я так и сделал, нажал Enter, и пакет успешно обновился.

Контекстное меню, выделение флажков управления, в gparted

5
ответ дан 18 September 2020 в 19:17

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

sudo parted
(parted) p
Model: ATA WDC WDS500G2B0A (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size   File system  Name  Flags
 1      1049kB  538MB  537MB  fat32              boot
 2      538MB   500GB  500GB  ext4
(parted) set 1 esp on
(parted) p
Model: ATA WDC WDS500G2B0A (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size   File system  Name  Flags
 1      1049kB  538MB  537MB  fat32              boot, esp
 2      538MB   500GB  500GB  ext4

Теперь флаг установлен. После этого:

sudo apt --fix-broken install

И теперь grub-efi-amd64-signed устанавливается правильно и после перезагрузки все работает нормально.

7
ответ дан 27 January 2021 в 10:40

Другие вопросы по тегам:

Похожие вопросы: