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?
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?
Réponses:
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 avec 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 des commandes GRUB ou autres, mais pour moi, le moyen le plus simple est simplement de chroot
lancer votre installation et de l'exécuter update-grub
. chroot
c’est bien parce que cela 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:
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 que c'est le cas /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 , le périphérique sera plutôt situé dans /dev/mapper/
, très probablement, /dev/mapper/{volume}--{os}-root
où se {volume}
trouve le nom du volume LVM et {os}
le système d'exploitation. Exécuter ls /dev/mapper
pour le nom exact.
Montez votre partition:
sudo mount /dev/sda2 /mnt #Replace sda2 with the partition from step 2
Si vous avez une partition ou des partitions distinctes /boot
,/var
/usr
répétez les étapes 2 et 3 pour monter ces partitions sur /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
avec les numéros de partition respectifs.
Bind mount d'autres choses nécessaires:
for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
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 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
chroot
dans votre installation Ubuntu:
sudo chroot /mnt
À 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 rencontrez 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.)
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.
Si Ubuntu est installé en mode EFI et que l’UUID de la partition EFI a changé, vous devrez peut-être le mettre à jour au format /etc/fstab
. Comparez le:
blkid | grep -i efi
grep -i efi /etc/fstab
Si l'UUID de la partition EFI actuelle (de blkid
) diffère de celui de la partition /etc/fstab
, mettez /etc/fstab
à jour avec l'UUID actuel.
Si tout a fonctionné sans erreur, alors vous êtes tous ensemble:
exit
sudo reboot
À 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.
grub-efi-amd64
ne veut pas dire que lorsque vous utilisez EFI, vous devrez peut-être installer et, si vous utilisez un démarrage sécurisé, vous souhaitez utiliser grub-install --uefi-secure-boot
. Ceci est également détaillé dans superuser.com/a/376471/197980
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 en direct 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
.
Plus d'infos - https://help.ubuntu.com/community/Boot-Repair
Démarrez à partir d’une clé USB ou d’un CD Ubuntu en direct et
installez Boot-Repair sur Ubuntu en procédant comme suit:
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 démarrage» dans le tiret si vous utilisez Unity. Suivez ensuite les captures d'écran suivantes:
Méthode 1
Appuyez sur Appliquer et redémarrez le système.
Méthode 2
Il suffit d'installer easyBCD
dans Windows 7 et de faire
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 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 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. Ceci 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 des 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-là, une réinstallation complète de GRUB est une perte de temps et représente 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:
ubuntu
entrée 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' bcdedit
outil Windows 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
, tapée dans une fenêtre d'invite de commande d' administrateur , fera ceci; Cependant, si votre ordinateur démarre avec Secure Boot actif, bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi
il sera requis. En fait, cette dernière commande fonctionnera généralement même si Secure Boot n’est pas utilisé. Je commencerai donc par utiliser cette commande. Notez qu’il existe un outil de shell Windows 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.ubuntu
entrée pour démarrer Ubuntu apparaisse dans ce menu du gestionnaire de démarrage, ce qui vous permet de démarrer avec Ubuntu. Vous pouvez également démarrer sur un support d’urgence Ubuntu, comme le programme d’installation démarré en mode «essayez avant d’installer». De toute façon, vous pouvez ensuite utiliser efibootmgr
pour ajuster la séquence d'amorçage:
sudo efibootmgr
pour voir les entrées de démarrage.BootOrder
ligne en cours.ubuntu
et notez son Boot####
numéro.sudo efibootmgr -o xxxx[,yyyy,zzzz,....]
pour changer l'ordre de démarrage, faisant 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 sorte que toutes les entrées d'origine y soient présentes, avec l' ubuntu
entrée déplacée en haut de la liste.Il existe d’autres variantes de ces procédures, telles que l’utilisation bcfg
dans un shell EFI, l’utilisation bless
de macOS, l’utilisation de mon reFIN 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 fois qu’il démarre, et les rapports indiquent bcdedit
que le problème peut être mieux résolu.
Notez que rien de ce qui précède ne s’applique aux installations en mode BIOS; Toutefois, étant donné que 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.
efibootmgr
de réorganiser la commande de démarrage (comme décrit par Rod -> merci!), ce qui a été gâché par un win10. mise à jour. Ensuite, GRUB-bootmanager apparaît comme avant la mise à jour, ce qui me permet de confirmer que la solution fournie a fonctionné pour moi. Je ne trouvais pas la version de base de EasyUEFI, mais seulement une version d’essai de la version non gratuite proposée.
Il existe maintenant une solution plus simple:
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.
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 la documentation Ubuntu. Une page distincte explique comment démarrer Boot-Repair (en créant un disque amorçable ou en l'installant sur un disque live Ubuntu existant) et comment l'utiliser.
Démarrez simplement un live CD Ubuntu, installez Boot-Repair et exécutez-le.
chroot
réparation que de rechercher un autre outil dans Google.
Lorsque GRUB est en panne, l'utilisateur n'a généralement pas accès aux systèmes. Par conséquent, la réparation doit être effectuée à partir d'une session en direct (live-CD ou live-USB).
Une rupture GRUB peut avoir différentes causes: écriture sur Windows sur le MBR, DRM empêchant GRUB de s’installer correctement, bogue de l’installateur, modification du matériel ... La mise à jour de GRUB proposée initialement par Scott n’est généralement pas suffisante, la réinstallation de GRUB proposée par Marco 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 de GRUB, choix de la bonne architecture hôte ...). L'utilisation du chroot et le choix des bonnes partitions / disques constituent d'autres difficultés pour réparer GRUB.
Tout cela a été simplifié dans 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.
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 capable de réparer grub en raison de problèmes liés à la plate-forme i386 et amd64 ou à une plate-forme où grub ne peut pas trouver le efi
répertoire.
Ce qui a résolu mon problème plus de 10 fois, c’est de purger manuellement les anciennes installations et d’en installer une nouvelle.
Alors commencez par les 6 premières étapes de la réponse de Scott où vous pouvez sauter la 5ème étape si cela donne une erreur:
- Démarrez à partir du CD ou de la clé USB en mode "Essayez Ubuntu".
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 que c'est le cas/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 , le périphérique sera plutôt situé dans
/dev/mapper/
, très probablement,/dev/mapper/{volume}--{os}-root
où se{volume}
trouve le nom du volume LVM et{os}
le système d'exploitation. Exécuterls /dev/mapper
pour le nom exact.Montez votre partition:
sudo mount /dev/sda2 /mnt #Replace sda2 with the partition from step 2
Si vous avez une partition ou des partitions distinctes
/boot
,/var
/usr
répétez les étapes 2 et 3 pour monter ces partitions sur/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
etsdXZ
avec les numéros de partition respectifs.Bind mount d'autres choses nécessaires:
for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
Si Ubuntu est installé en mode EFI ([voir cette réponse si vous n'êtes pas sûr] [efi]), l' utilisation
sudo fdisk -l | grep -i efi
ou GParted pour trouver votre partition EFI. Il aura une étiquette deEFI
. Montez cette partition en remplaçantsdXY
par le numéro de partition réel de votre système:sudo mount /dev/sdXY /mnt/boot/efi
chroot
dans votre installation Ubuntu:sudo chroot /mnt
Ensuite, procédez comme suit:
sudo dpkg --configure -a
sudo apt install -fy
sudo apt purge -y grub*-common grub-common:i386 shim-signed
sudo apt install -y grub-pc
sdXY
pour installer le chargeur de démarrage. Recherchez où votre système d'exploitation actuel est installé à l'aide de la sudo fdisk -l
commande. Il sera étiqueté comme Linux
. Naviguez dans cette fenêtre à l'aide de la Tabtouche et sélectionnez une option à l'aide de la Spacetouche.sudo grub-update
une double vérification.Si le problème persiste, vous pouvez lire le wiki d' Arch pour comprendre réellement le problème de la bouffe afin de résoudre de nombreux autres types de problèmes. (Oui, aide aussi pour Ubuntu!).
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 reconvertir le lecteur en MBR (msdos).
Seule la fsck
commande a fixé l' grub-rescue
écran pour moi.
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 *
sous 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é.
La réponse de Scott Severance est valide et détaillée, mais il existe une résolution qui ne nécessite aucun périphérique de démarrage externe et qui évite donc d’identifier et de monter manuellement toutes vos partitions Ubuntu jusqu’à la fin chroot
.
Sous Windows 10, vous pouvez utiliser Advanced Recovery
un périphérique (une partition?) À partir duquel démarrer.
Allez à Settings
et choisissez Update & Security
:
Aller à Recovery
:
De Advanced Startup
choisirRestart Now
Ensuite, choisissez Use a Device
et toutes les options de démarrage doivent 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 le faire, grub-update
mais cela n’a pas changé.
J'ai ensuite trouvé ma /boot/efi
partition qui était /dev/nvme0n1p1
et a couru sudo grub-install /dev/nvme0n1p1
et puis sudo update-grub
.
Cela a rendu mon enregistrement d'amorçage maître plusieurs fois maintenant il semble y avoir une nouvelle politique de Windows 10 écraser le MBR sur les mises à jour mineures .
J'ai eu un problème différent, probablement dû à l' boot-repair
effacement de mes /etc/grub.d/
modèles, décrit dans ma question: Ubuntu 18.04 ne démarre pas après l'installation de Windows 10
Comme l'a souligné le commentaire @karels, la configuration de grub est générée à l'aide des fichiers de /etc/grub.d
. Mon répertoire ne contenait /etc/grub.d/25_custom
que des éléments de menu étranges pointant vers des images .efi non existantes. Il semblait que mes /etc/grub.d
modèles avaient peut-être été arrosés boot-repair
.
J'ai corrigé cela par:
sudo mount /dev/sdxx /mnt
sudo cp /etc/grub.d/* /mnt/etc/grub.d/
sudo update-grub