web-dev-qa-db-fra.com

Comment réparer l'UUID dans Grub après la restauration à partir d'une autre machine?

Je souhaite restaurer une sauvegarde tar complète d'Ubuntu 12.04 avec toutes mes personnalisations, documents, logiciels installés, etc. sur un autre ordinateur.

J'ai fait la sauvegarde avec les commandes suivantes:

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

Sur le nouvel ordinateur, j'ai effectué une nouvelle installation d'Ubuntu 12.04, y ai déplacé le fichier de sauvegarde, puis restauré avec le fichier de sauvegarde avec les éléments suivants:

tar xvpfz backup.tgz -C /

Comme prévu (voir la réponse de Mike Whatever à cette question: copie de la distribution Ubuntu avec tous les paramètres d'un ordinateur à un autre) ) ceci s'est cassé. Lorsque j'allume l'ordinateur, j'obtiens une erreur:

error: no such device: ...

press any key to continue ...

Je crois que la raison pour laquelle Grub est en panne, c’est que l’UUID qu’il recherche pour des correspondances sur l’ancien disque dur et non sur celui de l’ordinateur.

Comment puis-je réparer mon grub pour qu'il reconnaisse le nouveau disque dur? Je cherchais en ligne de l'aide "Réparer GRUB UUID" mais les étapes semblaient soit obsolètes, soit complexes. La réponse de Mike à laquelle j'ai fait référence ci-dessus me laisse espérer qu'il existe un moyen assez simple de réparer cela.

20
snowguy

Pour résoudre votre problème actuel, vous devrez changer le ou les UUID dans "/ etc/fstab" et "/boot/grub/grub.cfg" (très compliqué).

Vous pouvez utiliser le CD d’installation d’Ubuntu pour obtenir le ou les UUID avec gparted (il suffit de cliquer avec le bouton droit de la souris sur la partition pour laquelle vous voulez obtenir l’UUID, de cliquer sur "Information", de sélectionner UUID et de le copier avec CTRL + C) ou en ligne de commande (Sudo blkid).

Ensuite, vous devez éditer "/ etc/fstab" sur le bon volume avec gedit, nano ou autre.

Dans un terminal, tapez:

gksudo gedit /etc/fstab

et remplacez les anciens UUID par les nouveaux.

IMPORTANT: Bien sûr, si vous utilisez un CD de démarrage, vous devrez ajouter "/ media/xxxxx" avant "/ etc/fstab": "/ media/xxxxx/etc/fstab". Vous pouvez également utiliser gksudo gedit et ouvrir le fichier pour le modifier vous-même.

AVERTISSEMENT: la modification de "/boot/grub/grub.cfg" est très délicate. Il devrait normalement être généré avec la commande Sudo update-grub.

Remplacez les anciens UUID par les nouveaux dans "/ boot/grub/grub.cfg" en entrant les informations suivantes dans un terminal:

gksudo gedit /boot/grub/grub.cfg

IMPORTANT: Bien sûr, si vous utilisez un CD de démarrage, vous devrez ajouter "/ media/xxxxx" avant "/boot/grub/grub.cfg": "/ media/xxxxx/boot/grub/grub. cfg ". Vous pouvez également utiliser gksudo gedit et ouvrir le fichier pour le modifier vous-même.

Si vous utilisez cette solution complexe, je vous recommande de lancer Sudo update-grub une fois le système démarré.

Un moyen plus simple mais plus propre de reconfigurer correctement grub consiste peut-être à utiliser une disquette de réparation telle que "Boot-Repair-Disk": http://sourceforge.net/p/boot-repair-cd/ accueil/Accueil/

J'espère que cela vous aidera à résoudre votre problème.

Cependant, vous pourriez envisager d'utiliser Clonezilla pour répliquer l'ancien ordinateur sur le nouvel ordinateur, comme indiqué dans mon commentaire.

18
Golboth

Vraisemblablement, cela signifie que grub démarre et affiche une option permettant d’amorcer Ubuntu, mais lorsque vous sélectionnez qu’il ne démarre pas?

Il y a deux options, je pense:

  1. Utilisez l'éditeur de ligne GRUB pour modifier l'option de démarrage de linux afin de charger correctement linux (puis exécutez grub-install en tant que root pour définir en permanence la configuration correcte).
  2. Démarrez à partir d'une clé USB Ubuntu, montez la partition de disque Ubuntu, chrootez dessus, puis lancez grub-install.

Le premier cas devrait être plus facile si vous n’avez qu’Ubuntu et qu’un seul disque dur. Dans ce cas, sélectionnez l’option "Récupération Ubuntu" et appuyez sur "e" pour modifier:

L'entrée devrait ressembler à quelque chose comme:

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

Supprimez la ligne "search" et remplacez "root = UUID = XXXXX" dans la ligne "linux" par "root =/dev/sda1". Essayez d’amorcer cela et espérons que, après quelques instants, vous obtiendrez le menu de récupération Ubuntu, qui devrait avoir une option grub, qui devrait correctement réinstaller grub.

Sinon, ou si vous préférez ne pas manipuler grub directement (qui devrait comporter un avertissement relatif à la santé, utilisez un CD/clé USB comme indiqué dans la section https://help.ubuntu.com/community/Grub2/Installing # Réinstallation_GRUB_2

2
chronitis

Dans mon cas, l'UUID installé par grub était différent de mon UUID actuel (Sudo blkid) pour ma partition Windows (confirmé dans grub.cfg). J'ai essayé diverses méthodes sans succès. Enfin, j'ai monté la partition Windows avec le gestionnaire de fichiers et exécuté à nouveau update-grub. L'UUID a été mis à jour avec succès dans grub.cfg.

0
Tavo

Ce que j'ai fait au lieu de modifier fstab et grub:

  1. J'ai sauvegardé ces fichiers sur la nouvelle installation d'ubuntu (tar -cvf /somedir/boot.tar /etc/fstab /boot/grub/grub.cfg)
  2. Restauré à partir d'une sauvegarde (tar -xvpf /mnt/remotebk/full.tar)
  3. copier le fichier fstab restauré (cp /etc/fstab /somedir/fstab.restored)
  4. restaurer mes nouveaux fichiers de démarrage d'installation (tar -xvpf /somedir/boot.tar -C /)
  5. Redémarré et cela a fonctionné.

J'utilise des machines virtuelles vmware. J'ai suivi ce processus pour déplacer un serveur Linux d'un hôte à un autre.

0
Roberto Dimas