Comment puis-je réparer grub? (Comment récupérer Ubuntu après l'installation de Windows?)

J'ai installé Windows 7, qui a mangé le fichier de démarrage d'Ubuntu. Lors du démarrage de l'ordinateur, il passe maintenant directement à Windows, sans me donner la possibilité de démarrer Ubuntu.

Comment puis-je récupérer Ubuntu?

Lorsque vous installez Windows, Windows suppose qu'il s'agit du seul système d'exploitation (OS) sur la machine, ou du moins qu'il ne prend pas en compte Linux. Il remplace donc GRUB par son propre chargeur de démarrage. Ce que vous devez faire est de remplacer le chargeur de démarrage Windows par GRUB. J'ai vu diverses instructions pour remplacer GRUB par des commandes GRUB ou autres, mais pour moi, le moyen le plus simple est simplement de chroot dans votre installation et exécutez update-grub. chroot c'est génial car cela vous permet de travailler sur votre installation réelle, au lieu d'essayer de rediriger les choses ici et là. Il est vraiment propre.

Voici comment:

  1. Démarrez à partir du live CD ou du live USB, en mode "Essayez 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, sur la session en direct) peut 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 est dans un LVM, l'appareil sera plutôt situé dans /dev/mapper/, probablement, /dev/mapper/{volume}--{os}-root{volume} est le nom du volume LVM et {os} est le système d'exploitation. Exécuter ls /dev/mapper pour le nom exact.

  3. Montez votre partition:

    sudo mount /dev/sda2 /mnt  #Replace sda2 with the partition from step 2

    Si vous avez un /boot, /var ou /usr partition, répétez les étapes 2 et 3 pour monter ces partitions sur /mnt/boot, /mnt/var et /mnt/usr respectivement. Exemple,

    sudo mount /dev/sdXW /mnt/bootsudo mount /dev/sdXY /mnt/varsudo mount /dev/sdXZ /mnt/usr

    remplacer sdXW, sdXY, et sdXZ avec les numéros de partition respectifs.

  4. Lier 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), utiliser sudo fdisk -l | grep -i efi ou GParted pour trouver votre partition EFI. Il aura une étiquette de EFI. Montez cette partition en remplaçant sdXY avec le numéro de partition réel de votre système:

    sudo mount /dev/sdXY /mnt/boot/efi
  6. chroot dans votre installation Ubuntu:

    sudo chroot /mnt
  7. À ce stade, vous êtes dans votre installation, pas dans la session en direct, et vous exécutez en tant que root. Mettre à jour grub:

    update-grub

    Si vous obtenez des erreurs ou si le passage à l'étape 7 n'a pas résolu votre problème, passez à l'étape 8. (Sinon, c'est facultatif.)

  8. Selon votre situation, vous devrez peut-être réinstaller grub:

    grub-install /dev/sdaupdate-grub # In order to find and add windows to grub menu.
  9. Si Ubuntu est installé en mode EFI et que l'UUID de la partition EFI a changé, vous devrez peut-être le mettre à jour dans /etc/fstab. Comparez-le:

    blkid | grep -i efigrep -i efi /etc/fstab

    Si l'UUID de la partition EFI actuelle (à partir de blkid) diffère de celui en /etc/fstab, mettre /etc/fstab avec l'UUID actuel.

  10. Si tout a fonctionné sans erreur, alors vous êtes prêt:

    exitsudo reboot
  11. À ce stade, vous devriez pouvoir démarrer normalement.

Si vous ne pouvez pas démarrer normalement et que vous n'avez pas effectué l'étape 8 car il n'y avait aucun message d'erreur, réessayez avec l'étape 8.

  • Parfois, donner à GRUB2 le bon configuration pour vos partitions ne suffit pas, et vous devez réellement l'installer (ou le réinstaller) sur l'enregistrement de démarrage principal, ce que fait l'étape 8. L'expérience d'aider les utilisateurs dans le chat a montré que l'étape 8 est parfois nécessaire même lorsqu'aucun message d'erreur n'est affiché.

Le programme d'installation de Windows ne se soucie pas des autres systèmes d'exploitation du système. Il écrit donc son propre code sur l'enregistrement de démarrage principal. Heureusement, la solution est facile aussi.

Vous devez réparer le MBR. Procédez comme suit

Démarrez à l'aide d'une clé USB/CD en direct d'ubuntu. Utiliser boot-repair pour résoudre le problème.

Après le démarrage avec live usb/ cd, exécutez la commande suivante dans le terminal:

sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get updatesudo apt-get install -y boot-repair && boot-repair

Utiliser Recomended Repair.

enter image description here

Plus d'infos - https://help.ubuntu.com/community/Boot-Repair

Démarrez à partir d'une clé USB ou d'un CD Ubuntu en direct.
Installez Boot-Repair sur Ubuntu en suivant les étapes suivantes

Ouvrez le terminal et exécutez les commandes suivantes

sudo add-apt-repository ppa:yannubuntu/boot-repairsudo apt-get updatesudo apt-get install boot-repair

>>Une fois l'installation terminée, vous pouvez la lancer à partir du menu System-Administration-Boot-Repair si vous utilisez Gnome, ou rechercher "boot-repair" dans le tableau de bord si vous utilisez Unity. Suivez ensuite les captures d'écran suivantes:

Méthode 1

  • Cliquez sur les options avancées

Initial screen

  • Cochez les options ci-dessous

advanced option

  • Changez l'onglet en Onglet Emplacement Grub et cochez les options indiquées sur la figure

enter image description here

Appuyez sur Appliquer et redémarrez le système

Méthode 2

  • Sélectionnez les options de réparation de démarrage recommandées comme indiqué dans la première capture d'écran

Documentation :

Il suffit d'installer easyBCD dans Windows 7 et do

>>>Ajouter une nouvelle entrée Linux / BSD (sélectionner) Grub2 (pousser) Ajouter une entrée

Ensuite, vous pouvez choisir Ubuntu sur le chargeur de démarrage de Windows 7 pour accéder à Grub2 (chargeur de démarrage précédent).

Sur les systèmes basés sur EFI (tels que la plupart des systèmes livrés avec Windows 8 ou version ultérieure), Windows met parfois à jour son chargeur de démarrage ou le réinitialise pour qu'il soit le chargeur de démarrage par défaut. Ceci est particulièrement fréquent lors de la réinstallation du système d'exploitation ou de l'exécution d'une mise à jour majeure du système (mise à niveau vers la dernière version de Windows, par exemple). Notez qu'il est peu probable que Windows efface réellement les fichiers GRUB sur un ordinateur basé sur EFI. Tout le nécessaire pour démarrer Ubuntu est toujours en place; il est juste contourné. Dans ces cas, une réinstallation complète de GRUB est exagérée, et en fait cela comporte une (petite) chance que cela crée de nouveaux problèmes.

Ainsi, au lieu de réinstaller GRUB dans ces cas, je recommande de réinitialiser GRUB (ou le chargeur de démarrage ou le gestionnaire de démarrage que vous préférez) par défaut. Il existe plusieurs façons de procéder, notamment:

  • EasyUEFI -- Le moyen le plus simple d'ajuster l'ordre de démarrage, si le système démarre directement sur Windows, est d'utiliser EasyUEFI, qui est un outil d'interface graphique tiers gratuit (pour la version de base) pour gérer l'ordre de démarrage EFI. C'est assez explicite locate localiser le ubuntu entrée dans la liste des options de démarrage et déplacez-la en haut de la liste. La prochaine fois que vous redémarrez, GRUB devrait apparaître. (Si vous utilisez autre chose que GRUB, vous devrez localiser son entrée.)
  • bcdedit -- fenêtre bcdedit l'outil peut être utilisé pour définir l'ordre de démarrage par défaut de GRUB. Commande bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi, tapé dans un Administrateur Fenêtre d'invite de commande, fera cela; cependant, si votre ordinateur démarre avec un démarrage sécurisé actif, bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi sera nécessaire à la place. En fait, cette dernière commande sera généralement fonctionne même si le démarrage sécurisé n'est pas utilisé, donc j'utiliserais d'abord cette commande. Notez qu'il existe un outil shell Windows plus avancé qui nécessite une syntaxe légèrement différente de celle que j'ai présentée, mais je ne me souviens pas des détails.
  • Démarrage unique sur Ubuntu -- La plupart des EFI fournissent un gestionnaire de démarrage intégré, accessible en appuyant sur une touche de fonction, Esc ou Enter au début du processus de démarrage du système. Les chances sont les ubuntu l'entrée pour démarrer Ubuntu apparaîtra dans ce menu du gestionnaire de démarrage, vous permettant de démarrer sur Ubuntu. Alternativement, vous pouvez démarrer sur un support d'urgence Ubuntu, comme le programme d'installation démarré en mode "essayer avant d'installer". De toute façon, vous pouvez ensuite utiliser efibootmgr pour ajuster l'ordre de démarrage:
    1. Type sudo efibootmgr pour voir les entrées de démarrage.
    2. Notez le courant BootOrder ligne.
    3. Localisez l'entrée pour ubuntu et notez son Boot#### nombre.
    4. Type sudo efibootmgr -o xxxx[,yyyy,zzzz,....] pour modifier l'ordre de démarrage, effectuez xxxx le numéro pour Ubuntu. Ce qui vient après n'est probablement pas très important, bien que j'ai noté que Windows semble être susceptible de se rajouter au début de l'ordre de démarrage s'il ne figure pas dans la liste. Ainsi, vous devriez probablement vous assurer que Windows est dans la liste, et il peut être plus sûr de réorganiser la liste afin que toutes les entrées d'origine soient là, juste avec le ubuntu entrée déplacée en haut de la liste.
  • Utilitaire de configuration du micrologiciel -- Certains utilitaires de configuration d'EFIs vous permettent d'ajuster l'ordre de démarrage. Les détails varient considérablement d'un EFI à l'autre, donc je n'entrerai pas dans les détails, mais vous pouvez rechercher une telle option dans votre utilitaire de configuration.

Il existe d'autres variantes de ces procédures, telles que l'utilisation bcfg dans un shell EFI, en utilisant bless sous macOS, en utilisant mon Rembobiner pour faire un démarrage unique, etc. Je commencerais par EasyUEFI, cependant; ce sera probablement la solution la plus simple. Parfois, Windows insiste pour se faire la valeur par défaut à chaque démarrage, cependant, et les rapports indiquent que bcdedit peut faire un meilleur travail de traiter ce problème.

Notez qu'aucun de ce qui précède ne s'applique aux installations en mode BIOS; cependant, comme la plupart des ordinateurs livrés avec Windows 8 ou version ultérieure démarrent en mode EFI, les installations en mode BIOS deviennent de plus en plus rares, il est donc préférable de résoudre le problème de la manière EFI plutôt qu'en réinstallant aveuglément GRUB.

Il existe maintenant une solution plus simple:

  1. Redémarrez et entrez les options du BIOS de votre ordinateur (F2 ou parfois F11).
  2. Aller à la Démarrage menu, et sélectionnez Priorité du Périphérique de Démarrage
  3. Vérifiez si Gestionnaire de Démarrage Windows est au-dessus du lecteur de démarrage principal (généralement Disque DUR SATA … ou Disque DUR IDE …). Si c'est le cas, déplacez la priorité du disque de démarrage au-dessus de celle du Gestionnaire de démarrage Windows.
  4. Enregistrez les options de votre BIOS et quittez (généralement F10).

Cela a été testé sur un ordinateur portable Samsung Series 7 Chronos à double démarrage de Windows 8 et Ubuntu 13.10, démarrage sécurisé désactivé, UEFI et démarrage hérité activé.

La réparation de démarrage 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 le Documentation Ubuntu et il y a un page séparée expliquer comment démarrer la réparation de démarrage (en créant un disque de démarrage ou en l'installant sur un disque Ubuntu live existant) et comment l'utiliser.

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

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

Il existe de nombreuses causes possibles à une interruption de GRUB: écriture de Windows sur le MBR, DRM empêchant l'installation correcte de GRUB, bogue de l'installateur, 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 néanmoins diverses situations nécessitant d'autres ajustements (ajout d'options au noyau, affichage du menu GRUB, modification des options GRUB, choix de la bonne architecture hôte...).D'autres difficultés pour réparer GRUB sont l'utilisation de chroot et le choix des bonnes partitions / disques.

Tout cela a été rendu facile dans un petit outil graphique: Boot-Réparation. Il peut être intégré dans le CD Ubuntu 12.04 pour une utilisation plus facile, mais pour les personnes qui en ont besoin maintenant, il existe déjà des distributions l'intégrant: Ubuntu-Secure-Remix (CD Ubuntu intégrant la réparation de démarrage), Boot-Repair-Disk (CD exécutant la réparation de démarrage au démarrage),...

J'espère que ça aide.

Les réponses données par Scott et Web-E sont assez bonnes et ont beaucoup aidé à plusieurs reprises. Mais souvent, l'outil de réparation de démarrage n'est pas en mesure de réparer grub en raison de problèmes liés à la plate-forme i386 et amd64 ou à un problème que grub ne peut pas trouver efi répertoire.
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 commencez par effectuer les 6 premières étapes de Scott réponse où vous pouvez sauter la 5ème étape si elle donne une erreur:

  1. Démarrez à partir du live CD ou du live USB, en mode "Essayez 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, sur la session en direct) peut 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 est dans un LVM, l'appareil sera plutôt situé dans /dev/mapper/, probablement, /dev/mapper/{volume}--{os}-root{volume} est le nom du volume LVM et {os} est le système d'exploitation. Exécuter ls /dev/mapper pour le nom exact.

  3. Montez votre partition:

    sudo mount /dev/sda2 /mnt  #Replace sda2 with the partition from step 2

    Si vous avez un /boot, /var ou /usr partition, répétez les étapes 2 et 3 pour monter ces partitions sur /mnt/boot, /mnt/var et /mnt/usr respectivement. Exemple,

    sudo mount /dev/sdXW /mnt/bootsudo mount /dev/sdXY /mnt/varsudo mount /dev/sdXZ /mnt/usr

    remplacer sdXW, sdXY, et sdXZ avec les numéros de partition respectifs.

  4. Lier 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. Il aura une étiquette de EFI. Montez cette partition en remplaçant sdXY avec le numéro de partition réel de votre système:

    sudo mount /dev/sdXY /mnt/boot/efi
  6. chroot dans votre installation Ubuntu:

    sudo chroot /mnt

Ensuite, procédez comme suit:

  1. Configurez tous les paquets en attente.
    sudo dpkg --configure -a
  2. Réparez les paquets cassés.
    sudo apt install -fy
  3. Retirez le grub actuel.
    sudo apt purge -y grub*-common grub-common:i386 shim-signed
    Cela peut vous avertir que votre appareil n'aura pas de chargeur de démarrage et risque de ne pas pouvoir démarrer la prochaine fois. Allez-y et acceptez-le.
  4. sudo apt install -y grub-pc
    Après avoir exécuté cette commande, il vous demandera de pointer le courant sdXY pour installer le chargeur de démarrage. Trouvez où votre système d'exploitation actuel est installé en utilisant sudo fdisk -l commande. Il sera étiqueté comme Linux. Naviguez dans cette fenêtre en utilisant Tab appuyez sur et sélectionnez une option en utilisant Space clé.
  5. Si tout se passe bien, grub sera installé correctement. Vous pouvez aussi faire sudo grub-update pour une double vérification.

Si le problème persiste, vous pouvez lire Le wiki d'Arch pour comprendre réellement grub, il faut s'attaquer à de nombreux autres types de problèmes. (Oui, cela aide aussi pour Ubuntu!).

La réponse de Scott Severance est valide et détaillée, mais il y a une résolution qui 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.

Dans Windows 10, vous pouvez utiliser Advanced Recovery pour sélectionner un périphérique (partition?) pour démarrer à partir de.

Aller à Settings et choisissez Update & Security:

enter image description here

Aller à Recovery:

enter image description here

De Advanced Startup choisir Restart Now

enter image description here

Ensuite, choisissez Use a Device et toutes les options de démarrage devraient vous être présentées. Choisissez la partition "ubuntu" et votre PC devrait alors démarrer à partir de cette partition.

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

J'ai alors trouvé mon /boot/efi partition qui était /dev/nvme0n1p1 et a couru sudo grub-install /dev/nvme0n1p1 et puis sudo update-grub.

Cela a restauré mon enregistrement de démarrage principal plusieurs fois maintenant car il semble y avoir une nouvelle stratégie Windows 10 de écraser les informations de démarrage sur les mises à jour mineures.

En relation (lorsque GRUB a été installé sur le * mauvais MBR du lecteur*): Problème de sauvetage de Grub après l’installation d’ubuntu

REMARQUE: la réponse acceptée est une instruction générale sur la façon de réparer grub. Il est également applicable à la grande variété de circonstances où GRUB est mal écrit par l’installateur (ubiquité).

Je sais que c’est un vieux thread mais j’ai résolu le problème en changeant le mode de démarrage dans le bios de UEFI à Legacy.

Je pense que c’est une tâche courante, j’ai aussi deux disques durs, et Ubuntu+Windows. J’espère que vous pourrez le réparer de la bonne manière. Essayez de suivre [ceci] (RecoveringUbuntuAfterInstallingWindows - Community Help Wiki) tutoriel. Des questions, posez-moi!

Oui, vous pouvez, il vous suffit de faire un démarrage normal et de l’installer avec Windows, puis il devrait apparaître dans le menu de démarrage de Grub au démarrage de l’ordinateur.