Como restaurar a configuração original do grub após desinstalar o Grub Customizer no Ubuntu 22.04?

Como restaurar a configuração original do grub após desinstalar o Grub Customizer no Ubuntu 22.04?

Então cometi um erro ao usar o Grub Customizer e cometi outro ao tentar restaurar a configuração anterior seguindo as instruções em /etc/grub.d/backup/RESTORE_INSTRUCTIONS, o que levou à corrupção dos meus arquivos de configuração do grub.

Agora, quando tento correr, sudo update-gruprecebo

Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Script `/boot/grub/grub.cfg.new' contains no commands and will do nothing
Syntax errors are detected in generated GRUB config file.
Ensure that there are no errors in /etc/default/grub
and /etc/grub.d/* files or please file a bug report with
/boot/grub/grub.cfg.new file attached.

O resultado grub.cfg.newestá vazio (contém apenas o comentário inicial sobre a geração).

Eu tentei reinstalar o grub de acordo comesta respostapor

sudo apt-get purge grub-pc grub-common

mas não funciona mais. Primeiro, aptreclamei sobre dependências não atendidas e quando adicionei grub2-common grub-pc-binà lista para serem removidas, ele me disse que precisava instalá-las.

... grub-common:i386 grub-efi-amd64 grub2-common:i386 ...

Depois de alguma hesitação, aceitei e deixei esses pacotes serem instalados com a intenção de substituí-los novamente, mas me deparei com isso novamente durante a instalação

Script `/boot/grub/grub.cfg.new' contains no commands and will do nothing
...
dpkg: error processing package grub-pc (--configure):
 installed grub-pc package post-installation script subprocess returned error exit status 1

Então, aparentemente, update-groupagora faz parte do script pós-instalação e, se falhar, o pacote falhará na instalação. Então agora estou em um estado em que as dependências estão quebradas nos dois sentidos e nenhuma das versões do grub está instalada corretamente e não pode ser corrigida.

Os arquivos de configuração do grub ( /etc/default/grube /etc/grub.d/*) nunca foram removidos e substituídos durante a limpeza. E se eu excluí-los manualmente, eles nunca mais serão instalados.

Há algo que eu possa fazer para salvar minha instalação do sistema operacional agora?

Responder1

apt purgeé quase sempre a solução errada para este tipo de situação. Essa rota provavelmente removerá itens críticos e, se você remover itens suficientes, ficará em um canto que exigirá uma reinstalação para consertar. A única situação em que a remoção de pacotes ajuda é se eles substituírem outros pacotes que você está tentando reinstalar.

Em vez disso, eu recomendaria usar dpkg -Vpara encontrar arquivos e permissões corrompidos e apt install --reinstallpara reinstalar pacotes que foram corrompidos. Isso substituirá os arquivos principais corrompidos, mas poderá deixar os arquivos de configuração corrompidos. Mas é um começo.

Ao encontrar arquivos de configuração corrompidos, você pode tentar corrigi-los ou renomeá-los e usá-los dpkg --reconfigurepara o pacote relevante para tentar reconstruir os arquivos de configuração. dpkg --configurepode ajudar se as configurações estiverem completamente confusas ou excluídas.

Outra possibilidade é que existamextraarquivos nos diretórios de configuração que corromperam sua configuração. Novamente, apt purge não os removerá e não corrigirá nada. Encontrar esses arquivos extras precisa ser feito por processo de eliminação, mas não é impossível.

Responder2

O problema eram as permissões, não arquivos ausentes/corrompidos ou sintaxe incorreta, mas permissões erradas. Os arquivos de backup criados pelo Grub Customizer em /etc/grub.d/backup/etc_grub_dnão possuem o sinalizador de execução. É por isso que o grub.cfg vazio foi gerado. E não consegui ver porque a mensagem de erro update-grubé enganosa.

Portanto, não basta apenas seguir RESTORE_INSTRUCTIONSe /etc/grub.d/backup/copiar /etc/grub.d/backup/etc_grub_dde volta para o arquivo /etc/grub.d. Você também tem que

sudo chmod +x 0* 1* 2* 3* 4*

Mas também acho que isso deve ser relatado como um problema aos mantenedores do pacote. Não é certo que a instalação bem-sucedida de um pacote exija a execução de um script que depende de uma configuração quebrável do usuário. E não é certo que tentar desinstalar e reinstalar temporariamente esse pacote resulte na instalação de um subsistema i386.

Fim do desabafo, obrigado a todos que ajudaram.

informação relacionada