como faço para corrigir um UUID errado no grub.cfg?

4

Eu rodei o Debian Wheezy sozinho no meu PC e recentemente copiei a partição raiz para outra com rsync porque achei que funcionou bem (eu também sei sobre dd e ddrescue mas eles deixam espaço inutilizável no nova partição). Gerei um novo UUID aleatório para a nova partição com sudo tune2fs -U aleatório / dev / hda9 e também atualizei as entradas fstab / e / home.

Então, como eu sei tão pouco sobre o GRUB eu usei um gui (GRUB Customizer) para testar o novo sistema operacional e adicionar uma entrada ao GRUB e ao MBR - ele faz uma entrada /etc/grub.d e atualiza o GRUB.

Na inicialização, a lista do GRUB contém o novo sistema operacional (em sda9), mas inicializa o primeiro sistema operacional (que eu copiei de -sda5).

/boot/grub/grub.cfg contém o novo sistema operacional debian mas parece com isso

set root='(hd0,msdos9)'  
search --no-floppy --fs-uuid --set=root 64662470-0e58-4dfd-90ac-43227d773556  
linux /boot/vmlinuz-3.2.0-2-amd64 root=UUID=cc3bca0d-aee4-4b9c-95c2-57212cc36d4d ro quiet  
initrd /boot/initrd.img-3.2.0-2-amd64

o primeiro uuid é de sda9, mas o segundo uuid é de sda5. Eu posso mudar o segundo uuid na inicialização (com E) e ele inicializa o sda9.
Então, como posso obter o grub.cfg corrigido para que a entrada da lista sda9 do GRUB inicialize de sda9 permanentemente?

    
por mozerella 10.10.2012 / 08:57

3 respostas

3

Basta editar /boot/grub/grub.cfg/ e substituir o UUID do sda5 pelo sda9:

search --no-floppy --fs-uuid --set=root 64662470-0e58-4dfd-90ac-43227d773556  
linux /boot/vmlinuz-3.2.0-2-amd64 root=UUID=64662470-0e58-4dfd-90ac-43227d773556 

Para evitar esse tipo de erro no futuro, execute update-grub do sistema que você deseja usar . Se você executá-lo a partir do sistema operacional antigo, ele pegará a partição raiz current e configurará o grub.cfg para inicializar a partir dele.

    
por 10.10.2012 / 11:18
0

Quando você executar update-grub de sda5 , ele lerá o /boot/grub/grub.cfg de sda9 que foi copiado de sda5 . Primeiro inicie em sda5 , que é o seu SO principal. Em seguida, use esses comandos para corrigir:

SourceUUID=cc3bca0d-aee4-4b9c-95c2-57212cc36d4d
TargetUUID=64662470-0e58-4dfd-90ac-43227d773556
sudo mkdir /mnt/clone
sudo mount -t auto -v /dev/sda9 /mnt/clone
sudo sed -i "s/$SourceUUID/$TargetUUID/g" /mnt/clone/boot/grub/grub.cfg
sudo update-grub
sudo umount /mnt/clone -l

Eu baseei essa resposta em uma Ubuntu 16.04 LTS clona para novo script de partição .

    
por 29.04.2018 / 18:05
0

Eu tive que remover o /boot/grub/menu.lst (você deve primeiro fazer um backup do cp) e depois atualizar o grub dizendo sim para gerar um novo. Em seguida, ele detectou a partição correta do UUID.

    
por 11.06.2018 / 21:56

Tags