¿Cómo arreglar el UUID en Grub después de restaurar desde otra máquina?

22

Quiero restaurar una copia de seguridad completa de Ubuntu 12.04 con todas mis personalizaciones, documentos, software instalado, etc. en una máquina diferente.

Hice la copia de seguridad con los siguientes comandos:

sudo su
cd /
tar cvpzf ububackup.tgz --exclude=/ububackup.tgz --exclude=/proc --exclude=/lost+found --exclude=/sys --exclude=/mnt --exclude=/tmp --exclude=/media /

En la nueva computadora, realicé una nueva instalación de Ubuntu 12.04, moví el archivo de respaldo y luego lo restauré con el siguiente:

tar xvpfz backup.tgz -C /

Como se esperaba (vea la respuesta de Mike Whatever a esta pregunta: Copie la distribución de Ubuntu con todas las configuraciones de una computadora a otra ) esto rompió la comida. Cuando enciendo la computadora aparece un error:

error: no such device: ...

press any key to continue ...

Creo que la razón por la que Grub está roto es porque el UUID está buscando coincidencias en el disco duro anterior y no en el disco duro de la computadora.

¿Cómo puedo arreglar mi grub para reconocer el nuevo disco duro? Busqué ayuda en línea "Fix GRUB UUID" pero los pasos parecían obsoletos o complejos. La respuesta de Mike a la que me relacioné anteriormente me da la esperanza de que haya una forma bastante simple de reparar esto.

Snowguy
fuente
1
¿Por qué no usas clonezilla (clonezilla.org) para hacer una instantánea de tu computadora vieja y restaurarla en la nueva? Creo que realmente sería más fácil porque parece que quieres conservar absolutamente todo como está. De lo contrario, hacer una copia de seguridad (/ home, / etc, / usr / local, / var) y restaurar sus datos y personalizaciones, excepto los softwares, también es realmente fácil ... Para resolver su problema actual, tendrá que cambiar el UUID (s) en / etc / fstab y /boot/grub/menu.lst. Puede usar el CD de instalación de Ubuntu para obtener los UUID [gparted o línea de comando] y realizar los cambios.
Golboth

Respuestas:

19

Para resolver su problema actual, deberá cambiar los UUID en "/ etc / fstab" y "/boot/grub/grub.cfg" (muy complicado).

Puede usar el CD de instalación de Ubuntu para obtener los UUID con gparted (solo tiene que hacer clic derecho en la partición para la que desea obtener el UUID y hacer clic en "Información", luego seleccionar UUID y copiarlo con CTRL + C) o línea de comando ( sudo blkid).

Luego tiene que editar "/ etc / fstab" en el volumen correcto con gedit, nano o de lo contrario.

En una terminal, escriba:

gksudo gedit /etc/fstab

y reemplace los UUID antiguos por los nuevos.

IMPORTANTE: Por supuesto, si usa un CD de arranque para hacerlo, deberá agregar "/ media / xxxxx" antes de "/ etc / fstab": "/ media / xxxxx / etc / fstab". También puede usar gksudo gedity abrir el archivo para editarse.

ADVERTENCIA: Modificar "/boot/grub/grub.cfg" es muy complicado. Normalmente debería generarse con el comando sudo update-grub.

Reemplace los UUID antiguos por los nuevos en "/boot/grub/grub.cfg" ingresando lo siguiente en una terminal:

gksudo gedit /boot/grub/grub.cfg

IMPORTANTE: Por supuesto, si usa un CD de arranque para hacerlo, deberá agregar "/ media / xxxxx" antes de "/boot/grub/grub.cfg": "/ media / xxxxx / boot / grub / grub. cfg ". También puede usar gksudo gedity abrir el archivo para editarse.

Si utiliza la solución difícil, le recomiendo que inicie sudo update-grubuna vez que haya arrancado el sistema con éxito.

Una forma más limpia pero simple de reconfigurar grub correctamente puede ser usar un disco de reparación de arranque como "Boot-Repair-Disk": http://sourceforge.net/p/boot-repair-cd/home/Home/

Espero que esto te ayude a resolver tu problema.

Sin embargo, podría considerar usar Clonezilla para replicar la computadora vieja en la nueva como se indica en mi comentario.

Golboth
fuente
Gracias Golboth. Terminé usando su sugerencia de usar el disco de reparación de arranque y funcionó.
snowguy
tenga en cuenta que clonezilla podría no solucionarlo. Acabo de copiar mi disco duro completo (a través de clonezilla) en un SSD y tenía exactamente el mismo UUID para disco duro y SSD, terminé cambiando el uuid manualmente en el SSD y luego en los archivos mencionados anteriormente en el SSD para que todavía tenga el disco duro de reserva como posible sistema operativo de arranque
Dennis Nolte
3

Presumiblemente, esto significa que grub se inicia y muestra una opción para iniciar Ubuntu, pero cuando selecciona que no se inicia.

Hay dos opciones, creo:

  1. Use el editor de línea GRUB para modificar la opción de arranque de Linux para cargar correctamente Linux (y luego ejecute grub-install como root para establecer permanentemente la configuración correcta).
  2. Arranque desde una memoria USB de Ubuntu, monte la partición de disco de ubuntu, inicie sesión en ella y luego ejecute grub-install.

El primer caso debería ser más fácil si solo tiene Ubuntu y solo tiene un solo disco duro, en cuyo caso seleccione la opción "Recuperación de Ubuntu" y presione "e" para editar:

La entrada debería verse algo así como:

insmod gzio
insmod part_msdos
insmod ext2
set root=('hd0,msdos0')
search --no-floppy --fs-uuid --set=root XXXXXX
linux /boot/vmlinuz-YYYYY root=UUID=XXXXXX ro recovery nomodeset
initrd /boot/initrd.img-YYYYY

Elimine la línea "buscar" y reemplace "root = UUID = XXXXX" en la línea "linux" con "root = / dev / sda1". Intente arrancar esto y, con suerte, después de un corto tiempo le dará el menú de recuperación de Ubuntu, que debería tener una opción de grub, que debería reinstalar correctamente grub.

De lo contrario, o si prefiere no perder el tiempo con grub directamente (que debería llevar una advertencia de salud, use un dispositivo de CD / USB como se documenta en https://help.ubuntu.com/community/Grub2/Installing#Reinstalling_GRUB_2

cronitis
fuente
Para su información, cuando comencé no vi la opción de inicio de grub (tal vez porque simplemente se inicia directamente en Ubuntu ya que era el único sistema operativo). En cualquier caso, agradezco su ayuda. Terminé creando un disco de reparación de arranque.
snowguy
¡Muchas gracias! ¡Su respuesta me salvó de un mal final, cuando tontamente cambié el UUID de mi fstab y Ubuntu ya no pudo comenzar!
reexmonkey
0

En mi caso, el UUID que instaló grub era diferente de mi UUID actual ( sudo blkid) para mi partición de Windows (confirmado en grub.cfg). Probé varios métodos sin éxito. Finalmente monté la partición de Windows con el administrador de archivos y corrí update-grubnuevamente y el UUID se actualizó con éxito en grub.cfg.

Tavo
fuente
El programa se llama update-gruby no grub-update. Esto no es dejar de fumar obvia como la más comida de comandos se inicia con grub-....
Fa11enAngel
0

Lo que hice en lugar de editar fstab y grub:

  1. Hice una copia de seguridad de esos archivos en la nueva instalación de ubuntu ( tar -cvf /somedir/boot.tar /etc/fstab /boot/grub/grub.cfg)
  2. Restaurado desde backup ( tar -xvpf /mnt/remotebk/full.tar)
  3. copiar el archivo fstab restaurado ( cp /etc/fstab /somedir/fstab.restored)
  4. restaurar mis nuevos archivos de arranque de instalación ( tar -xvpf /somedir/boot.tar -C /)
  5. Reiniciado y funcionó.

Estoy usando máquinas virtuales vmware, hice este proceso para mover un servidor Linux de un host a otro.

Roberto Dimas
fuente