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 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 à chroot
dans votre installation et à exécuter update-grub
. chroot
est 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:
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.
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 sdXW
name__, sdXY
et sdXZ
par 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
name__. 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 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.)
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 é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 blkid
name__) diffère de celui de /etc/fstab
, mettez à jour /etc/fstab
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.
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
.
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 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
Appuyez sur Appliquer et redémarrez le système .
Méthode 2
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).
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.
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:
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.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: Sudo efibootmgr
pour voir les entrées de démarrage.BootOrder
actuelle.ubuntu
et notez son numéro Boot####
.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.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.
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.
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.
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).
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
:
Allez à Recovery
:
De Advanced Startup
choisissez Restart Now
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 .
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 efi
name__.
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:
- 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 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écutezls /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 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
sdXW
name__,sdXY
etsdXZ
par 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] [efi]), utilisez
Sudo fdisk -l | grep -i efi
ou GParted pour rechercher votre partition EFI. Il aura une étiquette deEFI
name__. 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
actuel 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 Linux
name__. Naviguer dans cette fenêtre en utilisant Tab touche et sélectionnez une option en utilisant Space clé.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!).
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é.