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.map
enumera "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 found
No 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-grub
y seguí grub-install
con 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