Corrigindo o GRUB após clonar uma unidade com RSYNC

3

Eu tenho um servidor remoto (sem acesso físico a ele) que preciso clonar localmente. Então, eu anexei um HD secundário a um servidor linux local, criei as partições boot, swap e root e rsync'd todos os dados do servidor remoto. A cópia correu bem, mas quando tento ativar o grub para que a nova unidade seja inicializável, é isso que acontece (o servidor remoto tem partições LVM enquanto na unidade local eu acabei de criar boot, swap e root normalmente):

Eu montei a imagem copiada dessa maneira:

mount /dev/sdb3 /mount && mount /dev/sdb1 /mount/boot/

mount --bind /dev /mount/dev && mount --bind /dev/pts /mount/dev/pts && mount --bind /proc /mount/proc && mount --bind /sys /mount/sys
chroot /mount

Então eu tento instalar o grub:

grub-install /dev/sdb

Não foi possível encontrar o dispositivo para /dev/mapper/VolGroup-lv_root

O arquivo /boot/grub/stage1 não leu corretamente.

(e eu tentei inicializar nesta unidade, mas recebo um prompt "grub rescue")

/dev/mapper/VolGroup-lv_root é a partição raiz do servidor remoto. Eu não sei o que preciso fazer aqui. Eu tentei remover a pasta /boot/grub/ tentando uma instalação nova do grub, mas o mesmo acontece. Como posso dizer ao grub que agora a partição raiz é /dev/sda3 ou como você resolveria isso?

arquivo grub.conf:

default=0

timeout=5

splashimage=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

title Red Hat Enterprise Linux Server (2.6.32-573.7.1.el6.x86_64)

        root (hd0,0)

        kernel /vmlinuz-2.6.32-573.7.1.el6.x86_64 root=/dev/sda1

        initrd /initramfs-2.6.32-573.7.1.el6.x86_64.img

fdisk -l output na unidade clonada:

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1   *           1          66      524288   83  Linux

Partition 1 does not end on cylinder boundary.

/dev/sdb2              66        2155    16777216   82  Linux swap / Solaris

Partition 2 does not end on cylinder boundary.

/dev/sdb3            2155       41774   318241792   83  Linux

Partition 3 does not end on cylinder boundary.
    
por user145403 30.11.2015 / 17:49

1 resposta

1

Você precisará atualizar o arquivo /etc/fstab e também as configurações do GRUB para refletir a alteração do LVM para o não LVM. Se você estiver usando o GRUB original (ou seja, a melhor versão do GRUB), basta fazer alterações no dispositivo em /boot/grub/grub.conf . Se você estiver usando o GRUB2 (ou seja, a versão irritante do GRUB), precisará alterar alguns arquivos que provavelmente estão localizados em /etc/defaults/grub/ . Pode valer a pena fazer uma pesquisa em todo o diretório /etc por algo como 'VolGroup' apenas para ver onde todos os dispositivos LVM são referenciados, porque pode haver outros serviços referentes ao dispositivo real em vez da montagem (especificamente , udev?).

grep -r 'VolGroup' /etc

    
por 30.11.2015 / 18:00

Tags