399 votes

Comment puis-je réparer grub? (Comment récupérer Ubuntu après avoir installé Windows?)

J'ai installé Windows 7, qui a mangé le fichier de démarrage d'Ubuntu. Lorsque je démarre l'ordinateur, il va directement sur Windows, sans me donner la possibilité de démarrer Ubuntu.

Comment puis-je récupérer Ubuntu?

10voto

scruss Points 1144

Il y a maintenant une solution plus simple:

  1. Redémarrez, et entrez dans les options BIOS de votre ordinateur (F2, ou parfois F11).
  2. Allez dans le menu Démarrage, et sélectionnez Priorité de Démarrage
  3. Vérifiez si Windows Boot Manager est au-dessus du disque de démarrage principal (généralement SATA HDD… ou IDE HDD …). Si c'est le cas, déplacez la priorité du disque de démarrage au-dessus de celle de Windows Boot Manager.
  4. Enregistrez vos options BIOS et quittez (généralement F10).

Ceci a été testé sur un ordinateur portable Samsung Series 7 Chronos avec double démarrage Windows 8 et Ubuntu 13.10, secure boot désactivé, UEFI et démarrage legacy activés.

6voto

lorenzo-s Points 485

Boot-Repair a fonctionné pour moi. C'est une application graphique très très facile à utiliser, vous n'avez pas besoin d'utiliser la ligne de commande, il vous suffit de cliquer sur un bouton :)

Toutes les options de réparation disponibles sont décrites dans la documentation Ubuntu et il y a une page séparée expliquant comment démarrer Boot-Repair (en créant un disque bootable ou en l'installant dans un disque live Ubuntu existant) et comment l'utiliser.

Il suffit de démarrer un live CD Ubuntu, d'installer Boot-Repair et de l'exécuter.

5voto

LovinBuntu Points 3475

Lorsque GRUB est cassé, l'utilisateur n'a généralement pas accès aux systèmes, donc la réparation doit être effectuée à partir d'une session en direct (live-CD ou live-USB).

Il existe de nombreuses causes possibles à une rupture de GRUB : Windows écrit sur le MBR, DRM empêchant GRUB de s'installer correctement, bug de l'installeur, changement de matériel... Mettre à jour GRUB comme proposé initialement par Scott n'est généralement pas suffisant, réinstaller GRUB comme proposé par Marco est plus efficace, mais il existe toujours diverses situations nécessitant d'autres ajustements (ajouter des options au noyau, démasquer le menu GRUB, changer les options GRUB, choisir la bonne architecture hôte...). D'autres difficultés pour la réparation de GRUB sont l'utilisation de chroot, et le choix des bonnes partitions/disques.

Tout ceci a été simplifié dans un petit outil graphique : Boot-Repair. Il sera intégré dans le CD Ubuntu 12.04 pour une utilisation plus facile, mais pour les personnes ayant besoin maintenant, il existe déjà quelques distributions l'intégrant : Ubuntu-Secured-Remix (CD Ubuntu intégrant Boot-Repair), Boot-Repair-Disk (CD exécutant Boot-Repair au démarrage), ...

J'espère que cela vous aidera.

5voto

subtleseeker Points 501

Les réponses données par Scott et Web-E sont assez bonnes et ont beaucoup aidé de nombreuses fois. Mais souvent, l'outil de réparation de démarrage n'est pas capable de réparer grub en raison de problèmes liés à la plate-forme i386 et amd64, ou lorsque grub ne peut pas trouver le répertoire efi.
Ce qui a résolu mon problème plus de 10 fois, c'est de purger manuellement les anciennes installations de grub et d'en installer une nouvelle.

Alors, effectuez d'abord les 6 premières étapes de la réponse de Scott où vous pouvez sauter la 5ème étape si elle renvoie une erreur :

  1. Démarrez à partir du CD en direct ou de la clé USB en mode "Essayer Ubuntu".

  2. Déterminez le numéro de partition de votre partition principale. sudo fdisk -l, sudo blkid ou GParted (qui devrait déjà être installé par défaut dans la session en direct) peuvent vous aider ici. Je vais supposer, dans cette réponse, que c'est /dev/sda2, mais assurez-vous d'utiliser le bon numéro de partition pour votre système !

    Si votre partition principale se trouve dans un LVM, le périphérique sera situé dans /dev/mapper/, très probablement, /dev/mapper/{volume}--{os}-root{volume} est le nom du volume LVM et {os} est le système d'exploitation. Exécutez ls /dev/mapper pour en trouver le nom exact.

  3. Montez votre partition :

    sudo mount /dev/sda2 /mnt  #Remplacez sda2 par la partition de l'étape 2

    Si vous avez des partitions /boot, /var ou /usr séparées, répétez les étapes 2 et 3 pour monter ces partitions à /mnt/boot, /mnt/var et /mnt/usr respectivement. Par exemple,

    sudo mount /dev/sdXW /mnt/boot
    sudo mount /dev/sdXY /mnt/var
    sudo mount /dev/sdXZ /mnt/usr

    en remplaçant sdXW, sdXY et sdXZ par les numéros de partition respectifs.

  4. Liez le montage à d'autres éléments nécessaires :

    for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
  5. Si Ubuntu est installé en mode EFI ([voir cette réponse si vous n'êtes pas sûr][efi]), utilisez sudo fdisk -l | grep -i efi ou GParted pour trouver votre partition EFI. Elle aura pour libellé EFI. Montez cette partition, en remplaçant sdXY par le numéro de partition réel de votre système:

    sudo mount /dev/sdXY /mnt/boot/efi
  6. Accédez à votre installation Ubuntu via chroot :

    sudo chroot /mnt

Ensuite, effectuez ces étapes:

  1. Configurer tous les paquets en attente.
    sudo dpkg --configure -a
  2. Réparer les paquets cassés.
    sudo apt install -fy
  3. Supprimer le grub actuel.
    sudo apt purge -y grub*-common grub-common:i386 shim-signed
    Cela peut vous donner un avertissement selon lequel votre appareil n'aura pas de chargeur de démarrage et pourrait être incapable de démarrer la prochaine fois. Allez-y et acceptez.
  4. sudo apt install -y grub-pc
    Après avoir exécuté cette commande, il vous demandera d'indiquer le sdXY actuel pour installer le chargeur de démarrage. Trouvez où votre OS actuel est installé en utilisant la commande sudo fdisk -l. Il sera étiqueté comme Linux. Naviguez dans cette fenêtre en utilisant la touche Tab et sélectionnez une option en utilisant la touche Espace.
  5. Si tout se passe bien, grub sera installé correctement. Vous pouvez également faire sudo grub-update pour vérifier.

Si le problème persiste, vous pouvez consulter la wiki d'Arch pour réellement comprendre grub et résoudre de nombreuses autres variétés de problèmes. (Oui, cela aide aussi pour Ubuntu!).

3voto

timbo Points 291

La réponse de Scott Severance est valide et détaillée, mais il existe une solution qui ne nécessite aucun périphérique de démarrage externe et donc pas besoin d'identifier et de monter manuellement toutes vos partitions Ubuntu menant au chroot.

Sous Windows 10, vous pouvez utiliser Récupération avancée pour sélectionner un périphérique (partition?) à démarrer.

Allez dans Paramètres et choisissez Mise à jour et sécurité:

entrer la description de l'image ici

Allez dans Récupération:

entrer la description de l'image ici

À partir de Démarrage avancé, choisissez Redémarrer maintenant

entrer la description de l'image ici

Ensuite, choisissez Utiliser un périphérique et toutes les options de démarrage devraient vous être présentées. Choisissez la partition 'ubuntu' et votre PC devrait ensuite démarrer à partir de cette partition.

Une fois démarré dans mon environnement Ubuntu habituel, j'ai essayé simplement d'exécuter grub-update mais cela n'a apporté aucun changement.

J'ai ensuite trouvé ma partition /boot/efi qui était /dev/nvme0n1p1 et j'ai exécuté sudo grub-install /dev/nvme0n1p1 puis sudo update-grub.

Cela a restauré mon enregistrement de démarrage principal à plusieurs reprises maintenant car il semble y avoir une nouvelle politique de Windows 10 qui écrase les informations de démarrage lors de mises à jour mineures.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X