Como corrigir o UUID no Grub após a restauração de outra máquina?


22

Desejo restaurar um backup completo do tar do Ubuntu 12.04 com todas as minhas personalizações, documentos, software instalado etc. em uma máquina diferente.

Fiz o backup com os seguintes comandos:

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

No novo computador, fiz uma nova instalação do Ubuntu 12.04, movi o arquivo de backup para ele e depois o restaurei com o seguinte:

tar xvpfz backup.tgz -C /

Como esperado (veja a resposta de Mike Whatever para esta pergunta: Copie a distribuição do Ubuntu com todas as configurações de um computador para outro ) esse problema foi resolvido. Quando ligo o computador, recebo um erro:

error: no such device: ...

press any key to continue ...

Acredito que a razão pela qual o Grub está quebrado é que o UUID que ele está procurando correspondências no disco rígido antigo e não no disco rígido do computador.

Como posso corrigir meu grub para reconhecer o novo disco rígido? Procurei on-line por ajuda "Fix UUB GRUB", mas as etapas pareciam desatualizadas ou complexas. A resposta de Mike a que vinculei acima me dá esperança de que exista uma maneira bastante simples de reparar isso.


1
Por que você não usa o clonezilla (clonezilla.org) para tirar uma foto do seu computador antigo e restaurá-lo no novo? Eu acho que seria realmente mais fácil porque você parece querer manter absolutamente tudo como está. Caso contrário, fazer um backup (/ home, / etc, / usr / local, / var) e restaurar seus dados e personalizações, exceto os softwares, também é muito fácil ... Para resolver seu problema atual, você precisará alterar o UUID (s) em / etc / fstab e /boot/grub/menu.lst. Você pode usar o CD de instalação do Ubuntu para obter o (s) UUID (s) [gparted ou linha de comando] e fazer as alterações.
— Golboth

Respostas:


19

Para resolver seu problema atual, você precisará alterar os UUIDs em "/ etc / fstab" e "/boot/grub/grub.cfg" (muito complicado).

Você pode usar o CD de instalação do Ubuntu para obter o (s) UUID (s) com gparted (basta clicar com o botão direito do mouse na partição para a qual você deseja obter o UUID e clicar em "Informações", selecione UUID e copie-o com CTRL + C) ou linha de comando ( sudo blkid).

Então você tem que editar "/ etc / fstab" no volume certo com o gedit, nano ou então.

Em um terminal, digite:

gksudo gedit /etc/fstab

e substitua os UUIDs antigos pelos novos.

IMPORTANTE: É claro que, se você usar um CD de inicialização, será necessário adicionar "/ media / xxxxx" antes de "/ etc / fstab": "/ media / xxxxx / etc / fstab". Você também pode usar gksudo gedite abrir o arquivo para se editar.

AVISO: Modificar "/boot/grub/grub.cfg" é muito complicado. Normalmente deverá ser gerada com o comando sudo update-grub.

Substitua os UUIDs antigos pelos novos em "/boot/grub/grub.cfg" digitando o seguinte em um terminal:

gksudo gedit /boot/grub/grub.cfg

IMPORTANTE: É claro que, se você usar um CD de inicialização, precisará adicionar "/ media / xxxxx" antes de "/boot/grub/grub.cfg": "/ media / xxxxx / boot / grub / grub. cfg ". Você também pode usar gksudo gedite abrir o arquivo para se editar.

Se você usar a solução complicada, eu recomendo que você inicie sudo update-grubdepois de inicializar o sistema com êxito.

Uma maneira mais limpa, porém simples, de reconfigurar o grub corretamente pode estar usando um disco de reparo de inicialização como "Boot-Repair-Disk": http://sourceforge.net/p/boot-repair-cd/home/Home/

Espero que isso ajude você a resolver seu problema.

No entanto, você pode considerar o uso do Clonezilla para replicar o computador antigo no novo, conforme indicado no meu comentário.


Obrigado Golboth. Acabei usando sua sugestão de usar o disco de reparo de inicialização e funcionou.
— Snowguy

observe que o clonezilla pode não consertar isso. Eu apenas copiei todo o meu disco rígido (via clonezilla) para um SSD e tinha exatamente o mesmo UUID para hdd e SSD, acabei alterando o uuid manualmente no ssd e, em seguida, nos arquivos acima mencionados no ssd para ainda ter o disco rígido de fallback como possível inicialização do sistema
— Dennis Nolte

3

Presumivelmente, isso significa que o grub inicia e exibe uma opção para inicializar no Ubuntu, mas quando você seleciona que ele não inicializa?

Existem duas opções, eu acho:

  1. Use o editor de linha do GRUB para modificar a opção de inicialização do linux para carregar corretamente o linux (e execute o grub-install como root para definir permanentemente a configuração correta).
  2. Inicialize a partir de um pendrive USB do Ubuntu, monte a partição do disco do ubuntu, faça chroot nela e execute o grub-install.

O primeiro caso deve ser mais fácil se você tiver o Ubuntu e apenas um disco rígido; nesse caso, selecione a opção "Recuperação do Ubuntu" e pressione "e" para editar:

A entrada deve ser algo 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

Remova a linha "search" e substitua "root = UUID = XXXXX" na linha "linux" por "root = / dev / sda1". Tente inicializar isso e, esperançosamente, após um breve período, ele fornecerá o menu de recuperação do Ubuntu, que deve ter uma opção de grub, que deve reinstalar o grub corretamente.

Caso contrário, ou se você preferir não mexer diretamente com o grub (que deve exibir um aviso de saúde, use um CD / USB stick conforme documentado em https://help.ubuntu.com/community/Grub2/Installing#Reinstalling_GRUB_2


Para sua informação, quando iniciei, não vi a opção de inicialização do grub (talvez porque ela foi inicializada diretamente no Ubuntu, pois era o único sistema operacional). De qualquer forma, agradeço sua ajuda. Acabei criando um disco de reparo de inicialização.
— Snowguy

Muito obrigado! Sua resposta me salvou de um final ruim, quando eu mudei tolamente o UUID do meu fstab e o Ubuntu não podia mais começar!
— reexmonkey

0

No meu caso, o UUID que o grub instalou era diferente do meu UUID ( sudo blkid) atual para a minha partição do Windows (confirmada em grub.cfg). Eu tentei vários métodos sem êxito. Por fim, montei a partição do Windows com o gerenciador de arquivos e executei update-grubnovamente e o UUID foi atualizado com sucesso no grub.cfg.


O programa é chamado update-grube não grub-update. Isso não é óbvio, já que os comandos mais grub começam grub-....
— Fa11enAngel

0

O que fiz em vez de editar o fstab e o grub:

  1. Eu fiz backup desses arquivos na nova instalação do ubuntu ( tar -cvf /somedir/boot.tar /etc/fstab /boot/grub/grub.cfg)
  2. Restaurado do backup ( tar -xvpf /mnt/remotebk/full.tar)
  3. copiar arquivo fstab restaurado ( cp /etc/fstab /somedir/fstab.restored)
  4. restaurar meus novos arquivos de instalação ( tar -xvpf /somedir/boot.tar -C /)
  5. Reiniciou e funcionou.

Estou usando máquinas virtuais vmware, fiz esse processo para mover um servidor linux de um host para outro host.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.