web-dev-qa-db-fra.com

Comment puis-je réparer la bouffe? (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. 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?

336
Salahuddin

Lorsque vous installez Windows, Windows suppose qu'il s'agit du seul système d'exploitation sur la machine ou, du moins, qu'il ne prend pas en compte Linux. Donc, il remplace 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 lu diverses instructions pour remplacer GRUB en utilisant les commandes GRUB, etc., mais le moyen le plus simple consiste simplement à chrootdans votre installation et à exécuter update-grub. chrootest génial car il vous permet de travailler sur votre installation réelle, au lieu d'essayer de rediriger les choses ici et là. C'est vraiment propre.

Voici comment:

  1. Démarrez à partir du CD ou de la clé 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) peuvent vous aider ici. Je vais supposer dans cette réponse qu'il s'agit de /dev/sda2, mais , assurez-vous d'utiliser le numéro de partition correct pour votre système!

    Si votre partition principale est dans un LVM , le périphérique se trouvera plutôt dans /dev/mapper/, le plus probablement, /dev/mapper/{volume}--{os}-root, où {volume} est le nom du volume LVM et {os} est le système d'exploitation. Exécutez 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 des partitions /boot, /var ou /usr distinctes , répétez les étapes 2 et 3 pour monter ces partitions au /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
    

    remplacer sdXWname__, sdXYet sdXZpar les numéros de partition respectifs.

  4. Bind mount d'autres choses 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 en cas de doute ), utilisez Sudo fdisk -l | grep -i efi ou GParted pour rechercher votre partition EFI. Il aura une étiquette de EFIname__. Montez cette partition en remplaçant sdXYpar le numéro de partition réel de votre système:

    Sudo mount /dev/sdXY /mnt/boot/efi
    
  6. chrootdans 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 la nourriture:

    update-grub
    

    Si vous obtenez des erreurs ou si le fait de monter à 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/sda
    update-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 été modifié, vous devrez peut-être le mettre à jour dans /etc/fstab. Comparez le:

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

    Si l'UUID actuel de la partition EFI (à partir de blkidname__) diffère de celui de /etc/fstab, mettez à jour /etc/fstab avec l'UUID actuel.

  10. Si tout a fonctionné sans erreur, alors vous êtes tous ensemble:

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

Si vous ne parvenez pas à démarrer normalement et que vous n'avez pas exécuté l'étape 8 car aucun message d'erreur ne s'est affiché, réessayez à l'étape 8.

  • Parfois, fournir à GRUB2 la configuration correcte de vos partitions ne suffit pas et vous devez l'installer (ou le réinstaller) dans le Master Boot Record, comme le 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 si aucun message d’erreur n’est affiché.
341
Scott Severance

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

Vous devez réparer le MBR. Faire ce qui suit

Démarrez en utilisant un usb/cd d’ubuntu. Utilisez boot-repair pour résoudre le problème.

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

Sudo add-apt-repository ppa:yannubuntu/boot-repair && Sudo apt-get update
Sudo apt-get install -y boot-repair && boot-repair

Utilisez Recomended Repair.

enter image description here

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

107
Web-E

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

Ouvrez le terminal et lancez les commandes suivantes

Sudo add-apt-repository ppa:yannubuntu/boot-repair
Sudo apt-get update
Sudo apt-get install boot-repair

Une fois l’installation terminée, vous pouvez le lancer à partir du menu Système-> Administration-> Boot-Repair si vous utilisez Gnome, ou recherchez "réparation de boot" dans le tiret 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

  • Modifiez l'onglet en Grub Location Tab et cochez les options affichées dans 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:

23
Stormvirux

Il suffit d'installer easyBCD sous Windows 7 et de le faire

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

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

11
hamed

Il existe maintenant une solution plus simple:

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

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

5
scruss

Sur les systèmes basés sur EFI (tels que la plupart des systèmes fournis avec Windows 8 ou une 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. Cela est particulièrement courant 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 EFI. Tout le nécessaire pour démarrer Ubuntu est toujours en place; c'est juste être contourné. Dans ces cas, une réinstallation complète de GRUB est excessive et constitue en fait une (petite) chance de créer de nouveaux problèmes.

Ainsi, au lieu de réinstaller GRUB dans ces cas, je vous recommande de réinitialiser GRUB (ou le chargeur de démarrage ou le gestionnaire de démarrage que vous préférez) pour qu'il soit défini 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 sous Windows, consiste à utiliser EasyUEFI, = qui est un outil graphique tiers gratuit (pour la version de base) permettant de gérer la séquence de démarrage EFI. C'est assez explicite: localisez l'entrée ubuntu dans la liste des options de démarrage et déplacez-la en haut de la liste. Au prochain redémarrage, GRUB devrait apparaître. (Si vous utilisez autre chose que GRUB, vous devrez localiser son entrée.)
  • bcdedit - L'outil Windows bcdedit peut être utilisé pour définir GRUB sur l'ordre de démarrage par défaut. La commande bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi, saisie dans une fenêtre d'invite de commande de l'administrateur , le fera; Toutefois, si votre ordinateur démarre avec le démarrage sécurisé activé, bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi sera requis à la place. En fait, cette dernière commande fonctionnera généralement même si Secure Boot n'est pas utilisé. Je l'utiliserais donc en premier. Notez qu'il existe un outil Windows Shell plus avancé qui requiert 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 ponctuel sous Ubuntu - La plupart des EFI fournissent un gestionnaire de démarrage intégré, accessible en appuyant sur une touche de fonction, Echap ou Entrée plus tôt dans la fenêtre. processus de démarrage du système. Il est probable que l'entrée ubuntu pour démarrer Ubuntu s'affiche dans ce menu du gestionnaire de démarrage, ce qui vous permet de démarrer sous Ubuntu. Vous pouvez également démarrer sur un support d’urgence Ubuntu, comme l’installateur démarré en mode "essayez avant d’installer". Dans tous les cas, vous pouvez ensuite utiliser efibootmgr pour ajuster la séquence d'amorçage:
    1. Tapez Sudo efibootmgr pour voir les entrées de démarrage.
    2. Notez la ligne BootOrder actuelle.
    3. Recherchez l'entrée pour ubuntu et notez son numéro Boot####.
    4. Tapez Sudo efibootmgr -o xxxx[,yyyy,zzzz,....] pour changer l'ordre de démarrage, en faisant de xxxx le numéro pour Ubuntu. Ce qui vient après n’est probablement pas très important, même si j’ai noté que Windows semble être susceptible de se rajouter au début de la séquence d’amorçage si elle ne figure pas dans la liste. Par conséquent, vous devez probablement vous assurer que Windows figure dans la liste et il peut être plus sûr de réorganiser la liste de manière à ce que toutes les entrées d'origine y soient, simplement avec l'entrée ubuntu déplacée en haut de la liste.
  • Utilitaire de configuration du micrologiciel - Les utilitaires de configuration de certains EFI vous permettent d'ajuster l'ordre de démarrage. Les détails varient considérablement d'un EFI à un autre, je ne vais donc pas entrer 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 de bcfg dans un shell EFI, l'utilisation de bless dans macOS, l'utilisation de mon rEFInd pour effectuer un démarrage ponctuel, etc. Je commencerais par EasyUEFI. ; c'est probablement la solution la plus simple. Parfois, Windows insiste toutefois pour faire de lui-même la valeur par défaut à chaque démarrage, et les rapports indiquent que bcdedit peut permettre de mieux gérer ce problème.

Notez que rien de ce qui précède ne s’applique aux installations en mode BIOS; Toutefois, comme la plupart des ordinateurs fournis avec Windows 8 ou une 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 traiter le problème de la manière EFI plutôt que de réinstaller aveuglément GRUB.

3
Rod Smith

Boot-Repair a fonctionné pour moi. C'est très très facile d'utiliser une application graphique, 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 Ubunt et il y a un page séparée expliquant comment démarrer Boot-Repair (en créant un disque amorçable ou en l'installant dans un Ubuntu live disk) et comment l’utiliser.

Démarrez simplement un live CD Ubuntu, installez Boot-Repair et exécutez-le.

2
lorenzo-s

Lorsque GRUB est interrompu, 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).

Une rupture GRUB peut avoir plusieurs causes possibles: écriture de Windows sur le MBR, DRM empêchant GRUB de s'installer correctement, bogue du programme d'installation, modification matérielle ... Mise à jour GRUB comme proposé initialement par Scott n’est généralement pas suffisant; réinstaller GRUB tel que proposé par Marco est plus efficace, mais il existe néanmoins diverses situations nécessitant d’autres ajustements (ajout d’options au noyau, affichage de GRUB menu, modification de GRUB options, choix de la bonne architecture d’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 avec un petit outil graphique: Boot-Repair . Il doit être intégré au CD Ubuntu 12.04 pour une utilisation plus facile, mais il est déjà intégré dans certaines distributions: Ubuntu-Secured-Remix (CD Ubuntu intégrant Boot-Repair), Boot-Repair-Disk (CD sous Boot) -Réparation au démarrage), ...

J'espère que cela t'aides.

1
LovinBuntu

Windows ne voit pas les partitions formatées Linux. Vous devez utiliser gparted à partir d’un liveCD et créer une partition principale formatée NTFS avec l’indicateur d’amorçage.

Certains ont eu des problèmes si la nouvelle partition principale est postérieure à la partition étendue, car Windows ne réinitialise pas toujours correctement la table des partitions. Il est préférable d’avoir de bonnes sauvegardes et une sauvegarde séparée de la table de partition.

Sauvegardez la table de partition dans un fichier texte et enregistrez-la sur un périphérique externe.

Sudo sfdisk -d /dev/sda > PTsda.txt

Ceci est uniquement pour les systèmes MBR (msdos). Si votre installation Ubuntu est dans le lecteur de partition GPT, vous ne pouvez installer Windows qu'en mode UEFI ou convertir le lecteur en MBR (msdos).

0
oldfred

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

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

Allez à Settings et choisissez Update & Security:

enter image description here

Allez à Recovery:

enter image description here

De Advanced Startup choisissez 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é d’exécuter simplement grub-update mais cela n’a apporté aucun changement.

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

Cela a restauré mon enregistrement de démarrage principal à plusieurs reprises car il semble exister une nouvelle stratégie de Windows 10 écrasant le MBR lors de mises à jour mineures .

0
timbo

Les réponses données par Scott et Web-E sont assez bonnes et ont beaucoup aidé. 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 d'une autre application dans laquelle grub ne peut pas trouver le répertoire efiname__.
Ce qui a résolu mon problème plus de 10 fois, c’est de nettoyer manuellement les anciennes installations et d’en installer une nouvelle.

Donc, commencez par effectuer les 6 premières étapes à partir de la réponse de Scott , où vous pouvez ignorer la 5ème étape si elle génère une erreur:

  1. Démarrez à partir du CD ou de la clé 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) peuvent vous aider ici. Je vais supposer dans cette réponse qu'il s'agit de /dev/sda2, mais , assurez-vous d'utiliser le numéro de partition correct pour votre système!

    Si votre partition principale est dans un LVM , le périphérique se trouvera plutôt dans /dev/mapper/, le plus probablement, /dev/mapper/{volume}--{os}-root, où {volume} est le nom du volume LVM et {os} est le système d'exploitation. Exécutez 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 des partitions /boot, /var ou /usr distinctes , répétez les étapes 2 et 3 pour monter ces partitions au /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
    

    remplacer sdXWname__, sdXYet sdXZpar les numéros de partition respectifs.

  4. Bind mount d'autres choses 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 en cas de doute] [efi]), utilisez Sudo fdisk -l | grep -i efi ou GParted pour rechercher votre partition EFI. Il aura une étiquette de EFIname__. Montez cette partition en remplaçant sdXYpar le numéro de partition réel de votre système:

    Sudo mount /dev/sdXY /mnt/boot/efi
    
  6. chrootdans votre installation Ubuntu:

    Sudo chroot /mnt
    

Ensuite, procédez comme suit:

  1. Configurez tous les packages en attente.
    Sudo dpkg --configure -a
  2. Réparez les paquets cassés.
    Sudo apt install -fy
  3. Enlevez la bouffe actuelle.
    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 pourrait ne pas être en mesure de 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 sera demandé de pointer le sdXYactuel pour installer le chargeur de démarrage. Recherchez l'emplacement de votre système d'exploitation actuel à l'aide de la commande Sudo fdisk -l. Il sera étiqueté comme Linuxname__. Naviguer dans cette fenêtre en utilisant Tab touche et sélectionnez une option en utilisant Space clé.
  5. Si tout se passe bien, grub sera installé correctement. Vous pouvez également faire Sudo grub-update pour une double vérification.

Si le problème persiste toujours, vous pouvez lire le wiki d'Arch pour comprendre le fonctionnement de grub et vous attaquer à de nombreuses autres variétés de problèmes. (Oui, aide aussi pour Ubuntu!).

0
subtleseeker

Seule la commande fsck a corrigé l'écran grub-rescue.

Utilisez Boot-Repair pour démarrer à partir de Live-CD, puis ouvrez Terminal

Obtenez le bon appareil:

Sudo fdisk -l

Besoin de trouver le périphérique de démarrage, le périphérique de démarrage a * dans la catégorie de démarrage comme ici:

Device     Boot   Start       End   Sectors  Size Id Type
/dev/sda1          2048   2000895   1998848  976M 82 Linux swap / Solaris
/dev/sda2  *    2000896 943716351 941715456  449G 83 Linux

Maintenant, réparez le disque en utilisant:

Sudo fsck /dev/sda2 -y

Remarque: /dev/sda2 est le périphérique d'amorçage dans cet exemple. .

Redémarrez une fois terminé. Terminé.

0
Benny