O clone do Clonezilla não inicializa sem reinstalar o grub2

O clone do Clonezilla não inicializa sem reinstalar o grub2

Peguei um clone de uma máquina com as seguintes partições:

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

Eles são referenciados por rótulo em

/etc/fstab:

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

e 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>
}

Estou tentando instalar este clone em outra máquina idêntica. A instalação foi bem-sucedida, mas não consigo inicializar a máquina sem fazer o seguinte no prompt do grub:

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

Eu preferiria obter uma imagem que não exija essas etapas, mas não tenho certeza de onde está o problema (configuração do grub, outros arquivos do sistema, clonezilla). Coisas que tentei até agora:

  • Editado /etc/defaults/grub e descomentado ' GRUB_DISABLE_LINUX_UUID=true'
  • Editado grub-mkconfig_lib para comentar as linhas, search --no-floppy --fs-uuid --set=root ${hints} ${fs_uuid}evitando que sejam adicionadas quando grub.cfg for gerado
  • (e regenerado grub.cfg)
  • Selecionou a instalação avançada do clonezilla e disse para reinstalar o MBR posteriormente (a opção -j1. A opção -g auto "Reinstalar o grub no disco do cliente MBR" já estava selecionada por padrão)

Alguma outra coisa que eu possa tentar?

Percebi que /boot/grub2/device.maplista "sda1" para hd0, mas o HD da outra máquina está sendo detectado como sda1 quando instalo o clone, então não acho que esse seja o culpado.

(Eu não tinha certeza se aqui ou Superusuário era o mais adequado para a pergunta, estou feliz que ele seja migrado conforme apropriado.)

Responder1

No final, resolvi isso pegando um clone da partição de inicialização da máquina original e instalando-o nas outras máquinas com "-j1" selecionado nas opções avançadas.

É um pouco chato ter uma etapa extra, mas pelo menos restaurar um clone da partição de inicialização leva apenas alguns segundos.

Responder2

O procedimento de trabalho para corrigir isso é instalar manualmente o GRUB(2) após uma falha na instalação/clonagem ou corrupção do disco do MBR.

Agora, após reiniciar, vamos consertar a inicialização do 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

Depois de inicializar com sucesso no seu Linux, vamos tornar o reparo permanente:

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

se você receber o erroupdate-grub command not foundnão se preocupe, é simplesmente um script de shell criado para facilitar as coisas. Na verdade, isso acontece:

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

Depois de executar o grub-install ... seu sistema deve voltar ao normal. Fiz isso com um OpenSuse Leap 42.2 clonado usando Clonezilla 10/02/2016 (migrei o disco principal do laptop para um SSD maior).

Referências:Como resgatar um GRUB 2 que não inicializa no Linux
Reparando um boot-loader GRUB 2 quebrado no Ubuntu

Aqui está uma abordagem alternativa que funciona sem inicializar no 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

Referência:http://redsunsoft.com/2016/06/how-to-repair-a-server-stuck-at-the-grub-prompt/

Responder3

DR

No Ubuntu instalado em GPT, use BootRepair após fazer login no sistema.


Tive o mesmo problema que @jam, mas no meu caso tenho:

  • Ubuntu 16.04, que eu queria clonar
  • disco de origem (HDD, 500 GB)
    • MBR
    • inicialização dupla com windows
  • disco de destino (SSD, 256 GB)
    • GPT

Então, clonei apenas partições Linux (sda5 - para sistema, sda6 para /home) com Clonezilla, não o disco inteiro.

Para tornar isso possível, instalei o clear ubuntu no SSD, criei partições como foi feito no HDD e também adicionei ESP (EFI System Partition). Então substituí essas partições pelo Clonezilla (partições de HDD para SSD). Como resultado, recebi o prompt do GRUB.

Então eu fiz

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 @jam fez e @wp78de sugeriu (e também foi dito em suas referências).

Então eu cometi update-grube continuei grub-installcom o erro

grub-install: error: will not proceed with blocklists

O motivo estava no GPT. Havia algumas coisas úteis emessethread, mas a abordagem mais simples era usarReparo de inicialização. Não sei se houve algum trabalho especial realizado pelo BootRepair, mas verifiquei para reinstalar o GRUB e agora tudo funciona bem!

Responder4

Eu tive exatamente o mesmo problema (Centos 7) com inicialização MBR - não importa o que eu tentei em termos de discos, partições, versões do Clonezilla etc - no final eu comprei o PartedMagic ISO que foi referenciado anteriormente no tópico - e embora ele usou o CLonezilla - obviamente fez alguma mágica no final do processo, pois os discos clonados inicializavam sem intervenção manual.

Craig

informação relacionada