J'ai installé Windows 7, qui a mangé le fichier de démarrage d'Ubuntu. Lorsque je démarre 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, celui-ci part du principe qu'il est le seul système d'exploitation (SE) sur la machine, ou du moins qu'il ne tient pas compte de Linux. Il remplace donc GRUB par son propre chargeur de démarrage. Ce que vous devez faire, c'est remplacer le chargeur de démarrage de Windows par GRUB. J'ai vu diverses instructions pour remplacer GRUB en jouant avec les commandes GRUB ou autre, mais pour moi le moyen le plus simple est de simplement chrooter
dans votre installation et de lancer update-grub
. chroot
est génial car il vous permet de travailler sur votre installation actuelle, au lieu d'essayer de rediriger les choses ici et là. C'est vraiment propre.
Voici comment faire :
Démarrez depuis le CD live ou la clé USB live, en mode "Try 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 live) 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 sera plutôt situé dans /dev/mapper/
, 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 obtenir le nom exact.
Montez votre partition :
sudo mount /dev/sda2 /mnt #Remplacer sda2 avec la partition de l'étape 2
**Si vous avez des partitions séparées /boot
, /var
ou /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
par les numéros de partition respectifs.
Liez le montage de quelques autres trucs 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), utilisez sudo fdisk -l | grep -i efi
ou GParted pour trouver votre partition EFI. Elle aura le label 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
chrootez
dans votre installation Ubuntu :
sudo chroot /mnt
À ce stade, vous êtes dans votre installation, pas dans la session live, et vous travaillez en tant que root. Mettez à jour grub :
update-grub
Si vous obtenez des erreurs ou si l'étape 7 n'a pas résolu votre problème, passez à l'étape 8. (Sinon, elle est facultative).
En fonction de votre situation, vous devrez peut-être réinstaller grub :
grub-install /dev/sda
update-grub # Afin de trouver et d'ajouter les fenêtres au menu de grub.
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 efi
grep -i efi /etc/fstab
Si l'UUID de la partition EFI actuelle (de blkid
) diffère de celui de /etc/fstab
, mettez à jour /etc/fstab
avec l'UUID actuel.
Si tout a fonctionné sans erreur, alors vous êtes prêt :
exit
sudo reboot
À ce stade, vous devriez être en mesure de démarrer normalement.
Si vous ne pouvez pas démarrer normalement et que vous n’avez pas effectué l’étape 8 parce qu’il n’y avait pas de messages d’erreur, essayez à nouveau l’étape 8.
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][1] et il existe une [page séparée][2] expliquant comment lancer Boot-Repair (en créant un disque de démarrage ou en l'installant sur un disque live Ubuntu existant) et comment l'utiliser.
Il suffit de démarrer un CD live Ubuntu, d'installer Boot-Repair et de l'exécuter.
[1] : https://help.ubuntu.com/community/RecoveringUbuntuAfterInstallingWindows [2] : https://help.ubuntu.com/community/Boot-Repair
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 panne de GRUB : Windows écrivant sur le MBR, DRM empêchant GRUB de s'installer correctement, bug de l'installateur, changement de matériel... La mise à jour de GRUB telle que proposée initialement par Scott n'est généralement pas suffisante, la réinstallation de GRUB telle que proposée par Marco est plus efficace, mais il existe encore diverses situations nécessitant d'autres ajustements (ajout d'options au noyau, démasquage 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 par un petit outil graphique : [Boot-Repair][1]. Il sera intégré au CD d'Ubuntu 12.04 pour une utilisation plus facile, mais pour les personnes qui en ont besoin maintenant, certaines distros l'ont déjà intégré : 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.