El clon de Clonezilla no arranca sin reinstalar grub2

El clon de Clonezilla no arranca sin reinstalar grub2

Tomé un clon de una máquina con las siguientes particiones:

Device                   Type        Label
/dev/sda 
    /dev/sda1            Ext4        boot
    /dev/sda2            Linux LVM      
    /dev/system/         LV system     
    /dev/system/home     LV          home
    /dev/system/root     LV          root
    /dev/system/swap     LV          swap

Estos están referenciados por etiqueta en

/etc/fstab:

LABEL=root     /        ext4
LABEL=boot     /boot    ext4
LABEL=home     /home    ext4
LABEL=swap     /swap    swap

y grub.cfg:

menuentry 'openSUSE, with linux <version>' --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-<version>-simple-<UUID>' {
    insmod ext2
    set root='hd0,msdos1'
    linux /vmlinuz-<version> root=/dev/mapper/system-root resume=/dev/disk/by-label/swap <other options>
    initrd /initrd-<version>
}

Estoy intentando instalar este clon en otra máquina idéntica. La instalación se realizó correctamente, pero no puedo iniciar la máquina sin hacer lo siguiente en el indicador de grub en el que me coloca:

grub> set root=(hd0,1)
grub> linux /boot/vmlinuz-<version> root=/dev/sda1
grub> initrd /boot/initrd.img-<version>
grub> boot

Preferiría obtener una imagen que no requiera estos pasos, pero no estoy seguro de dónde radica el problema (configuración de grub, otros archivos del sistema, clonezilla). Cosas que he probado hasta ahora:

  • Editado /etc/defaults/grub y descomentado ' GRUB_DISABLE_LINUX_UUID=true'
  • Se editó grub-mkconfig_lib para comentar las líneas y search --no-floppy --fs-uuid --set=root ${hints} ${fs_uuid}evitar que se agreguen cuando se genera grub.cfg.
  • (y regenerado grub.cfg)
  • Seleccionó la instalación avanzada de clonezilla y le indicó que reinstalara el MBR después (la opción -j1. La opción -g auto "Reinstalar grub en el MBR del disco del cliente" ya estaba seleccionada de forma predeterminada)

¿Alguna otra cosa que pueda probar?

Me di cuenta de que /boot/grub2/device.mapenumera "sda1" para hd0, pero el disco duro de la otra máquina se detecta como sda1 cuando instalo el clon, por lo que no creo que este sea el culpable.

(No estaba seguro de si aquí o Superusuario era la mejor opción para la pregunta, me alegra que se migre según corresponda).

Respuesta1

Al final, resolví esto tomando un clon de partición de la partición de arranque de la máquina original e instalándolo en las otras máquinas con "-j1" seleccionado entre las opciones avanzadas.

Es un poco molesto tener el paso adicional, pero al menos restaurar un clon de la partición de arranque solo lleva unos segundos.

Respuesta2

El procedimiento de trabajo para solucionar este problema es instalar GRUB(2) manualmente después de una instalación/clonación fallida o de una corrupción del disco MBR.

Ahora, después de reiniciar, arreglemos el arranque de grub:

sh:grub>set pager=1 # for paging long command outputs; There must be no spaces on either side of the equals sign. 
grub> set root=(hd0,XY)
'grub> insmod /boot/grub/linux.mod # AFAIK, optional step
grub> linux /boot/vmlinuz-4.4.92-36-default root=/dev/sdaXY
grub> initrd /boot/initrd.img-4.4.92-36-default
grub> boot

Después de iniciar exitosamente su Linux, hagamos que la reparación sea permanente:

# update-grub
# grub-install /dev/sda #or what ever your system disk is

si recibes el errorupdate-grub command not foundNo te preocupes, es simplemente un script de shell creado para facilitar las cosas. En realidad, lo hace:

set -e
exec grub2-mkconfig -o /boot/grub/grub.cfg "$@"

Después de ejecutar grub-install... su sistema debería volver a la normalidad. Hice esto con un OpenSuse Leap 42.2 clonado usando Clonezilla 2016-02-10 (migré el disco principal de la computadora portátil a un SSD más grande).

Árbitros:Cómo rescatar un GRUB 2 que no arranca en Linux
Reparación de un cargador de arranque GRUB 2 roto en Ubuntu

Aquí hay un enfoque alternativo que funciona sin iniciar Linux:

$ sudo fdisk -l (From this you need to find the device name of your physical drive that won't boot, something like “/dev/sdxy″ - where x is the drive and y is the root partition. Since I was using a software RAID, root (/) was on md1)
$ sudo mount /dev/sdxy /mnt (Mount the root partition)
$ sudo mount --bind /dev /mnt/dev
$ sudo mount --bind /proc /mnt/proc
$ sudo mount --bind /sys /mnt/sys
$ sudo chroot /mnt  (This will change the root of executables to your your drive that won't boot)
$ grub-mkconfig -o /boot/grub/grub.cfg (insure that there are NO error messages)
$ grub-install /dev/sdx (NOTE that this is the drive and not the partition. try grub-install --recheck /dev/sdxy if it fails)
Ctrl+D (to exit out of chroot)
$ sudo umount /mnt/dev
$ sudo umount /mnt/proc
$ sudo umount /mnt/sys
$ sudo umount /mnt

Árbitro:http://redsunsoft.com/2016/06/how-to-repair-a-server-stuck-at-the-grub-prompt/

Respuesta3

TL;DR

En Ubuntu instalado en GPT, use BootRepair después de iniciar sesión en el sistema.


Tuve el mismo problema que @jam, pero en mi caso tengo:

  • Ubuntu 16.04, que quería clonar
  • disco de origen (HDD, 500 GB)
    • MBR
    • arranque dual con windows
  • disco de destino (SSD, 256 GB)
    • GPT

Entonces, cloné solo particiones de Linux (sda5 - para el sistema, sda6 para /home) con Clonezilla, no todo el disco.

Para hacerlo posible, instalé clear ubuntu en SSD, creé particiones como se hizo en HDD y también agregué ESP (Partición del sistema EFI). Luego sobrescribí estas particiones con Clonezilla (particiones HDD a SSD). Como resultado, recibí el aviso de GRUB.

entonces hice

grub> set root=(hd0,gpt2)  # NOTICE: used gptX instead of simple number
grub> linux /boot/vmlinuz-<version> root=/dev/sda1
grub> initrd /boot/initrd.img-<version>
grub> boot

como lo hizo @jam y sugirió @ wp78de (y también se dijo en sus referencias).

Luego hice update-gruby seguí grub-installcon el error.

grub-install: error: will not proceed with blocklists

El motivo estaba en GPT. Había algunas cosas útiles enestehilo, pero el enfoque más simple era utilizarReparación de arranque. No sé si BootRepair realizó algún trabajo especial, pero verifiqué para reinstalar GRUB y ahora todo funciona bien.

Respuesta4

Tuve exactamente el mismo problema (Centos 7) con el arranque MBR - no importó lo que probé en términos de discos, particiones, versiones de Clonezilla, etc. - al final compré la ISO PartedMagic a la que se hizo referencia anteriormente en el hilo - y aunque usó CLonezilla; obviamente realizó algo de magia al final del proceso cuando los discos clonados arrancan sin intervención manual.

Craig

información relacionada