Estou trabalhando via SSH (sem gui) em um servidor Ubuntu 22.04.4 LTS em uma VM hospedada. Uma atualização do pacote assinado por shim (para 1.51.4+15.8-0ubuntu1) falha consistentemente com o erro
Configurando shim-signed (1.51.4+15.8-0ubuntu1) ... mount: /var/lib/grub/esp: dispositivo especial /dev/disk/by-id/scsi-36000c2975c86d58beaecefea23c29f2d-part1 não existe.
dpkg: erro ao processar pacote shim-signed (--configure): pacote shim-signed instalado script pós-instalação subprocesso retornou erro status de saída 32
Foram encontrados erros durante o processamento: o needrestart assinado por shim está sendo ignorado porque o dpkg falhou
Isso encerra todo o processo de atualização.
A mensagem de erro está correta, ela /dev/disk/by-id/scsi-36000c2975c86d58beaecefea23c29f2d-part1
não existe, mas nunca existiu, até onde eu saiba.
Se eu executar grep nessa sequência de caminho de arquivo para descobrir onde ela pode estar configurada, só vejo um resultado em um arquivo de configuração, que está em /var/cache/debconf/config.dat
:
Name: grub-efi/install_devices
Template: grub-efi/install_devices
Value: /dev/disk/by-id/scsi-36000c2975c86d58beaecefea23c29f2d-part1
Owners: grub-common, grub-efi-amd64, grub-pc
Flags: seen
Variables:
CHOICES = /dev/sda1 (1073 MB; /boot/efi) on 53687 MB Virtual_disk
RAW_CHOICES = /dev/disk/by-id/scsi-36000c2975c86d58beaecefea23c29f2d-part1
fstab mostra que o local boot/efi é:/dev/disk/by-uuid/D379-891B /boot/efi vfat defaults 0 1
blkid mostra que este dispositivo está realmente montado, /dev/sda1
mas as configurações "value" e "raw_choices" no arquivo config.dat parecem estar incorretas sobre o caminho por ID para o dispositivo.
Normalmente não brinco com as configurações do debconf (e nunca alterei esse valor), então gostaria de perguntar a pessoas mais experientes se essa configuração grub-efi/install-devices
provavelmente é a causa do meu problema e se corrigir o caminho /dev/disk/by-id/scsi-36000c2975c86d58beaecefea23c29f2d-part1
provavelmente /dev/disk/by-uuid/D379-891B
resolveria esse problema?
Depois de muitas tentativas e erros, a única solução funcional que encontrei foi:
/boot/efi
:Saída:
grub-efi/install_devices
encontrado em/var/cache/debconf/config.dat
para que ele mostre o caminho atual do dispositivo pelo ID, encontrado acima.Então corra
apt upgrade
para concluir (com sucesso) as atualizações.Li em muitos lugares que modificar manualmente o arquivo debconf é uma má ideia, mas foi a única solução que encontrei que permitiu que meu sistema concluísse com sucesso as atualizações de pacotes.