¿Cómo restaurar la configuración original de grub después de desinstalar Grub Customizer en Ubuntu 22.04?

¿Cómo restaurar la configuración original de grub después de desinstalar Grub Customizer en Ubuntu 22.04?

Entonces cometí un error al usar Grub Customizer y luego cometí otro mientras intentaba restaurar la configuración anterior siguiendo las instrucciones en /etc/grub.d/backup/RESTORE_INSTRUCTIONS, lo que llevó a dañar mis archivos de configuración de grub.

Ahora cuando intento correr sudo update-grupme sale

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.

El resultado grub.cfg.newestá vacío (contiene solo el comentario inicial sobre su generación).

He intentado reinstalar el grub segúnesta respuestapor

sudo apt-get purge grub-pc grub-common

pero ya no funciona. Primero, aptme quejé de dependencias no satisfechas y cuando las agregué grub2-common grub-pc-bina la lista para eliminarlas, me dijo que necesitaba instalarlas en su lugar.

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

Después de algunas dudas, lo acepté y dejé que esos paquetes se instalaran con la intención de reemplazarlos después, pero me encontré con esto nuevamente durante la instalación.

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

Aparentemente, update-groupahora es parte del script posterior a la instalación y, si falla, el paquete no se instala. Ahora estoy en un estado en el que las dependencias se rompen en ambos sentidos y ninguna de las versiones de grub está instalada correctamente y no se puede arreglar.

Los archivos de configuración de grub ( /etc/default/gruby /etc/grub.d/*) nunca se eliminaron ni se sobrescribieron durante la purga. Y si los elimino manualmente, nunca se vuelven a instalar.

¿Hay algo que pueda hacer para guardar mi instalación del sistema operativo ahora?

Respuesta1

apt purgeCasi siempre es la solución equivocada para este tipo de situación. Es probable que esa ruta elimine cosas que son críticas y, si elimina suficientes cosas, se arrinconará y requerirá una reinstalación para solucionarlo. La única vez que ayuda eliminar paquetes es si reemplazaron otros paquetes que está intentando reinstalar.

En su lugar, recomendaría usarlo dpkg -Vpara buscar archivos y permisos corruptos, y usarlo apt install --reinstallpara reinstalar paquetes que hayan sido dañados. Esto reemplazará los archivos principales dañados, pero puede dejar los archivos de configuración dañados. Pero es un comienzo.

Cuando encuentre archivos de configuración dañados, puede intentar arreglarlos o cambiarles el nombre y utilizar dpkg --reconfigureel paquete correspondiente para intentar reconstruir los archivos de configuración. dpkg --configurepodría ayudar si las configuraciones están completamente estropeadas o eliminadas.

Otra posibilidad es que existanextraarchivos en los directorios de configuración que han dañado su configuración. Nuevamente, apt purge no los eliminará y no solucionará nada. Encontrar esos archivos adicionales debe realizarse mediante un proceso de eliminación, pero no es imposible.

Respuesta2

El problema eran los permisos, no los archivos faltantes/dañados o la mala sintaxis, sino los permisos incorrectos. Los archivos de copia de seguridad creados por Grub Customizer /etc/grub.d/backup/etc_grub_dno tienen el indicador de ejecución. Es por eso que se generó grub.cfg vacío. Y no pude verlo porque el mensaje de error update-grubes engañoso.

Por lo tanto, no basta con seguirlo RESTORE_INSTRUCTIONSy /etc/grub.d/backup/copiarlo /etc/grub.d/backup/etc_grub_dnuevamente /etc/grub.d. También tienes que

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

Pero también creo que esto debería informarse como un problema a los encargados del paquete. No está bien que la instalación exitosa de un paquete requiera ejecutar un script que dependa de una configuración de usuario frágil. Y no está bien que intentar desinstalar y reinstalar temporalmente ese paquete resulte en la instalación de un subsistema i386.

Fin de la perorata, gracias a todos los que ayudaron.

información relacionada