La mise à niveau de Windows 10 tue grub et la réparation du démarrage n'aide pas

83

Je viens de mettre à niveau vers Windows 10 à partir de Windows 8.1 sur mon ordinateur portable partitionné sur lequel Ubuntu 14.04 est installé. Grub n'apparaissant plus au démarrage, j'ai donc lancé la réparation du démarrage à partir d'un liveUSB Ubuntu. Cela n'a semblé avoir aucun effet. J'ai vérifié et le démarrage sécurisé est toujours désactivé.
Journal de réparation de démarrage: http://paste.ubuntu.com/11972534/
Alors, quelle est la prochaine étape?

Mise à jour: j'ai essayé d'utiliser chroot pour mettre à jour grub depuis ma partition Ubuntu. update-grub s'exécute avec succès en recherchant les gestionnaires de démarrage Linux et Windows, mais le processus n'a toujours aucun effet. grub-install se plaint de ne pas pouvoir trouver le répertoire EFI (mais j'ai tout monté correctement).

Update2: Je viens de découvrir que l'exécution de efibootmgr après un chroot dans Ubuntu indique que Ubuntu n'est pas du tout dans l'ordre de démarrage. J'ai manuellement modifié la commande et redémarré pour découvrir que le bootorder avait été réinitialisé. Je cours sous Windows: bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efiMais cela n’a aucun effet non plus même après avoir signalé «Operation Successful».

Nicholas Verstegen
la source
Suivant serait de déposer un rapport de bogue.
Rinzwind
@Rinzwind Je viens d'envoyer le journal à [email protected] pour expliquer ma situation.
Nicholas Verstegen le
Si vous avez mis à jour les fichiers grub dans ESP, êtes-vous entré dans les ACER UEFI et avez activé la confiance pour ces fichiers. Vous avez besoin d'un mot de passe système pour le faire. askubuntu.com/questions/597213/…
oldfred
Conservez deux ESP séparés pour les deux, sinon Windows effacera GRUB à chaque mise à jour de BOOTMGR.
Erkin Alp Güney
Cette brève note ( linuxbsdos.com/2015/07/29/… ) indique que si votre ESP est dans la partition UEFI, la mise à niveau ne devrait rien casser.
Carles Araguz

Réponses:

114

Il me suffisait d'exécuter ceci sous Windows en tant qu'administrateur:

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

Ou, si vous utilisez PowerShell:

bcdedit /set "{bootmgr}" path \EFI\ubuntu\grubx64.efi

GRUB semble très bien au démarrage et je peux démarrer Ubuntu et Windows 10 correctement.

Nicholas Verstegen
la source
2
@ bheeshmar: cela mérite une réponse tout seul! ;-)
Fabby
3
Cela a fonctionné pour moi, merci beaucoup. Puis-je savoir ce que cette commande a réellement fait s'il vous plaît?
Jehoshuah
3
Pour votre information: ne fonctionne pas dans Windows PowerShell, vous devez exécuter cmd en tant qu'administrateur pour que cela fonctionne
William Saunders
2
@Jehoshuah Cela définit Grub comme gestionnaire de démarrage système, au lieu du gestionnaire de démarrage Windows, ce qui signifie que lorsque le système démarre, il exécute Grub. BCD signifie "Données de configuration de démarrage".
Wjandrea
7
Remarque: vous pouvez utiliser le chemin du dernier argument de cette commande bcdedit /enum firmware. Cela aide si vous utilisez une autre distribution Linux et que votre moteur de recherche vous a atterri ici :-)
David Faure
19

La seule solution qui a fonctionné pour moi est décrite sur ce lien que je l'ai apportée ici simplement parce qu'il est plus facile de trouver ce fil sur Google.

Les étapes sont essentiellement les suivantes:

  1. Utiliser Ubuntu Live pour démarrer en mode 'Essayez Ubuntu'.
  2. Utilisez GParted pour vérifier la partition linux correcte (par exemple /dev/sda2).
  3. Montez la partition linux:

    sudo mount /dev/sda2 /mnt  #Replace sda2 with your partition number
    
  4. Montez tous les autres dossiers système linux:

    for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
    

    Si vous utilisez un système UEFI, vous devrez également monter votre répertoire EFI à l'aide de la commande suivante:

    sudo mount /dev/sda1 /mnt/boot/efi
    
  5. chroot dans votre installation

    sudo chroot /mnt
    
  6. Maintenant que vous êtes connecté à votre installation (pas Ubuntu Live), il suffit de faire

    update-grub
    grub-install /dev/sda
    update-grub
    exit
    sudo reboot
    

Et c'est tout ! Les crédits vont Scott Severance sur le lien que j'ai mentionné ci-dessus.

Nir
la source
1
En partie travaillé pour moi .. maintenant il démarre directement dans Linux sans afficher le menu de démarrage
PowerAktar
@PowerAktar avez-vous essayé d'appuyer sur "ECHAP" pour afficher le menu de grub?
InitializeSahib
La réponse m'a aidé. Fondamentalement, j'ai démarré mon ordinateur avec le mode 'Try Ubuntu' et installé la réparation de démarrage pour corriger le problème. La partition Linux a été récupérée. Mais j'ai perdu la partition Windows après le correctif. J'ai donc essayé de passer de l'étape 4 à l'étape 6. Ces étapes m'ont aidé à récupérer la partition Windows 10. Merci Nir
r0ng
2
Cette réponse est presque la même que celle de la question liée, à l’ exception du formatage et de la grammaire les plus dégradés. Si votre réponse est essentiellement une copie d' une autre question, il serait préférable de signaler cette question comme un double de l'autre une fois que vous gagné 15 réputation . N'oubliez pas de voter pour la ou les réponses que vous avez trouvées utiles!
David Foerster
C'est la seule chose qui a fonctionné pour moi. J'ai remarqué que (L) Ubuntu ne créerait rien dans sda1 / EFI / boot / ..., mais le fait manuellement, corrige le problème. Merci!
user2084865 le
4

même problème ici, passer de Windows7 à 10 dans un PC à double démarrage ... J'ai résolu de cette façon:

  1. Mettre à niveau Windows
  2. Pendant le processus d'installation, après le premier redémarrage, je reçois l'invite de secours grub, corrigée avec BootRepair sur une clé USB
  3. Terminé l'installation de Windows, GRUB est parti et avec un cd live de gparted, j'ai remarqué que toutes les partitions étaient toujours là mais qu'elles étaient toutes en NTFS.
  4. TestDisk utilisé de Windows récupéré ma partition Linux
  5. BootRepair encore une fois et tout semble aller bien (j'ai la voix Windows dupliquée dans le menu GRUB .. je ne sais pas pourquoi, mais tout me semble aller maintenant!)

J'espère que cela peut être utile à quelqu'un!

Francesco
la source
Une étape par étape serait utile
Veridian
Cette solution a fonctionné pour moi aussi .. et a sauvé ma journée :) PS. Cette étape par étape peut aider: cgsecurity.org/wiki/TestDisk_Step_By_Step
Le bon géant
1
Comment TestDisk a-t-il récupéré vos partitions Linux? Vous venez de l'utiliser pour changer le type de partition?
Greg Bell
Voulez-vous dire que l'installation de Windows convertit les partitions ext4 en NFTS? Que sont devenues des choses telles que les autorisations de fichiers et les liens symboliques, qui ne peuvent pas être exprimées à 100% de la même façon sur NTFS? Je m'attendrais à une perte partielle d'informations de fichier.
bluenote10
4

La machine de ma femme est plus âgée (non-UEFI) et Ubuntu est installée sur une partition étendue logique. La mise à niveau vers Windows 10 ayant été supprimée pour la première fois, les redémarrages ont abouti à l'invite "grub rescue", que j'ai restaurée avec BootRepair à partir de LiveUSB, mais ma partition Linux était manquante! J'ai restauré cela avec sauvetage séparé de LiveUSB, qui a trouvé et récupéré la partition. À partir de là, j'ai monté la partition à partir de LiveUSB, procédé à une installation grub et réussi à redémarrer sous Ubuntu et Win10 récupérés. J'espère que cela aide les autres.

  • Par LiveUSB, j'entends le lecteur USB que j'ai utilisé pour installer Ubuntu (voir http://www.ubuntu.com/download/desktop/create-a-usb-stick-on-ubuntu ). Vous pouvez également utiliser un CD amorçable. Une fois que vous démarrez à partir de ce périphérique, vous devriez pouvoir y trouver les applications BootRepair et gparted.
bheeshmar
la source
3
REMARQUE: ce problème est probable pour tous les utilisateurs Windows 7 en démarrage BIOS sur des lecteurs partitionnés MBR (msdos) et Ubuntu dans une partition logique. Il est préférable de sauvegarder séparément la table de partition en premier. Ensuite, si vous n'avez pas changé de table de partition, vous pouvez la restaurer directement. askubuntu.com/questions/654386/… Windows a toujours "oublié" d'inclure la partition Linux lorsqu'il réécrit la table de partitions.
oldfred
J'aurais aimé lire ceci avant d'appuyer sur le bouton Update to Windows 10 de la machine de ma femme! :)
bheeshmar
2
Pouvez-vous s'il vous plaît fournir un lien vers "BootRepair" et "sauvetage partagé" et / ou "LiveUSB"? Il y a beaucoup de ces choses-là et les gens pourraient être intéressés par ceux que vous avez utilisés (je ne pouvais pas les trouver définitivement sur Google).
Greg Bell
@oldfred Windows réécrit la table lors de la mise à niveau? C'est effrayant.
Android Dev
2

Avez-vous vérifié l'ordre de votre séquence de démarrage? Si le chargeur de démarrage Microsoft est au numéro 2, déplacez-le vers le bas et redémarrez.

Vous pouvez le vérifier depuis Ubuntu en exécutant sudo efibootmgr -vdans un terminal.

Adam Elvin
la source
2

Nous avons ici un certain nombre de réponses indiquant comment elles ont résolu le problème (menu Perte de Grub en raison de la dernière mise à jour de Win10). Diverses réponses prouvent que la solution n'est pas unique car la configuration de la machine n'est pas unique.

Pour mon système ( Acer E5-575G-57D4 ), voici le correctif:

Réponse courte :

1) Sous Windows, comme indiqué par Nicholas dans sa réponse, entrez la commande suivante en tant qu’administrateur dans l’invite de commande Windows.

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

2) Exécutez l’ utilitaire de réparation avec le CD / USB Live Ubuntu.

Longue réponse:

1) Connectez-vous à Windows.

2) Créez une clé USB amorçable (avec votre version Ubuntu) et branchez-la.

3) Entrez cette commande en tant qu'administrateur dans l'invite de commande:

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

Redémarrer .

4) Pendant le démarrage, appuyez sur F12 pour afficher le menu de démarrage. Sélectionnez "Linux". Remarque: Pour cela, le "menu de démarrage F12" doit être activé dans les paramètres du BIOS (appuyez sur F2 pendant le démarrage).

5) Dans le menu, sélectionnez "Essayer ubuntu sans installer" pour la session Live Ubuntu .

6) Connectez-vous à votre réseau WiFi. Téléchargez et exécutez boot-repair à l'aide des commandes suivantes:

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

Il suffit de suivre les instructions, jusqu'à ce que vous obteniez le message que le ver est réparé. Cela a fonctionné pour moi.

Merci :)

umash07
la source
1

Je ne suis pas sûr que cela soit lié, mais j'ai également rencontré un problème qui tentait de passer à Windows 10 à partir d'un démarrage double Windows 8.1 / Debian.

En gros, à un moment de la mise à niveau, je me suis retrouvé avec grub en mode de secours parce que ma partition Debian avait été effacée au cours du processus et donc les fichiers de démarrage avec elle (j'ai généralement une partition de démarrage séparée mais pas cette fois ... ). D'après ce lien: la mise à niveau de Windows 10 a conduit au sauvetage de grub

Je pense que le problème est que Windows n'a pas écrit correctement la table de partition lors du processus de mise à niveau.

Quoi qu'il en soit, j'ai résolu le problème en démarrant sur un disque dur externe Win8.1 et en suivant les instructions: https://neosmart.net/wiki/fix-mbr/ (faites défiler jusqu'à win8 / 8.1). Ce grub essuyé et réinstallé le chargeur de démarrage de mSoft. J'ai ensuite réussi à terminer la mise à jour et à réinstaller Debian tous ensemble car à l'époque je n'avais pas réalisé qu'il s'agissait simplement d'un problème lié à l'écriture incorrecte de la table de partition. Pourtant, une meilleure solution serait d’essayer de récupérer votre table de partition (en utilisant testdisk?) Puis de réinstaller / mettre à jour grub.

J'espère que ça t'as aidé.

PS: Merci Microsoft pour ne pas se soucier des gens qui ont une configuration à double démarrage ...

Jérémy Riviere
la source
Moi aussi j'ai subi une partition effacée avec la mise à niveau.
Lewis Goddard
Ce que je ne comprends pas, c’est la raison pour laquelle seule ma partition root linux a été effacée alors que j’avais 2 autres partitions logiques pour / opt et linux-swap qui n’ont pas été touchées. Certes, si les fenêtres avaient vraiment du mal à écrire des partitions logiques dans la table, elles auraient également dû en souffrir ...
Jérémy Riviere
1
Nous n'avons pas vu de problèmes avec les systèmes UEFI / gpt qui n'écrivent pas correctement la table de partition. Mais tout Windows 7 ou 8 avec BIOS / MBR et Linux dans les partitions logiques semble avoir le problème. askubuntu.com/questions/654386/… Toutes les autres personnes ayant un problème de partition manquante n'avaient qu'une seule partition LInux en tant que logique. Mais maintenant, il semble très étrange que Windows "oublie" seulement d'écrire la partition / (racine). Et je le vois depuis des années, même avec les réinstallations de Windows 7.
oldfred
1
@oldfred Cela se produit si les partitions logiques ne sont pas numérotées dans l'ordre, c'est-à-dire que sda6 se trouve avant sda5 dans la partition étendue, et pas seulement s'il s'agit de partitions Linux (swap Linux supprimé et NTFS dans mon cas). La mise à niveau de Windows 10 crée parfois une nouvelle partition pour un environnement de récupération s’il ne rentre pas dans sa partition de démarrage.
Martin Thornton
1

J'ai utilisé le rescuetux / supergrubdisk. Démarré à partir de DriveDroid sur ma tablette Android. Puis utilisé auto detect rescuetux. Entré dans le bouton WINDOWS, appuyez sur le bouton de réparation betaWindowsMBR. Et sélectionné / dev / sda2 ok ok ok. Ensuite, cela a réussi. Maintenant, je viens de démarrer dans le menu Windows uefi.

Beezy Weezy
la source
1

Ma solution était proche de @Francesco mais un peu différente.

  1. Mettez à niveau Windows de 7 à 10.
  2. Pendant le processus d'installation, après le premier redémarrage, je reçois l'invite de secours grub, corrigée avec BootRepair sur une clé USB.
  3. Grub apparaît maintenant, mais ne montre que la partition Ubuntu, pas Windows.
  4. Connectez-vous à Ubuntu, accédez au terminal et tapez update-grub
  5. Maintenant, Windows affiche la sauvegarde dans le menu contextuel, continuez avec la mise à niveau de Windows 10.
Métropole
la source
Dans mon cas, mon système démarre dans Windows après BootRepair.
tbear
1
En outre, toutes les partitions Linux ont disparu comme Francesco. Tu as eu de la chance.
tbear
@tbear alors comment avez-vous récupéré?
Greg Bell
1

Si vous avez un support d’installation Win10, vous pouvez l’utiliser pour installer un nouveau MBR. Il suffit de démarrer depuis que vous voyez "Installer maintenant" (ou similaire) mais ne cliquez pas dessus. Il y a un petit lien disant "outils de réparation" (ou quelque chose). De là, vous pouvez entrer une invite de commande.

cd c:\windows\system32
bootrec /fixmbr

peut-être même

bootrec /fixboot

Cela devrait résoudre le problème. Mais, votre Linux a longtemps disparu à cause de l’ignorance de Microsofts face aux choix de chacun. Ils viennent de décider qu'il est acceptable pour eux de supprimer tout ce qui est disponible sur votre disque dur et ce qu'ils n'aiment pas. Par conséquent, nous pouvons légalement décider que MS est un groupe de dorks ...

L’outil de création de supports d’installation Win10 est disponible gratuitement à l’ adresse https://www.microsoft.com/en-us/software-download/windows10

19Vidar75
la source
0

Le 8/8/15, j'ai mis à niveau Windows 7 vers Windows 10 et, après l'installation de Windows 10, j'ai fait de Firefox mon navigateur par défaut et j'ai éteint mon ordinateur. J'ai attendu 15 secondes pour le mettre sous tension et je ne m'attendais même pas à ce que Option de toujours choisir Ubuntu dans les 5 secondes. J'ai cliqué sur Ubuntu et il semblait suspendu dans les limbes avec un écran gris pendant une éternité, mais je n'ai rien fait sauf appuyer sur la touche Entrée du clavier pour tenter de réussir quelque chose. et attendu, puis finalement l'écran noir familier pour choisir Ubuntu ou des options avancées sont apparus. Il a démarré dans Ubuntu bien. Après avoir éteint et mis sous tension dans Windows 10, l'heure et la date dans Windows indiquaient 5 heures rapides, tout comme Windows 7 après avoir utilisé Ubuntu, LOL. La prochaine fois que j'ai choisi Ubuntu pour démarrer, l'attente de démarrage était beaucoup plus courte.

James
la source
0

Pour moi, le processus était assez compliqué. J'utilise la clé USB de réparation de démarrage, et après avoir retiré la clé USB et redémarré l'ordinateur, seule l'option de connexion Ubuntu est arrivée. Je me connecte à Ubuntu, qui était installée sur le disque dur de mon ordinateur, puis réutilise la réparation de démarrage. Après cela, lorsque je redémarre mon ordinateur, j'ai maintenant la possibilité de me connecter à la fois à Unbunt et à Windows 10 et tout fonctionne correctement.

mr_azad
la source
-2

Après la mise à niveau vers Windows 10 sur Acer Aspire-AXC-605, je ne pouvais pas démarrer en ubuntu et la touche F2 ne faisait pas apparaître l'écran du bios, donc je ne pouvais pas démarrer à partir d'USBuntu Live.

Je devais utiliser la touche Echap lors du démarrage, un écran "Diagnostic PC" était affiché et je pouvais démarrer USB à partir de là.

Géo
la source
Cela ne répond pas vraiment à la question.
TheWanderer
@ Zacharee1 la solution proposée par l'utilisateur est la suivante: "Appuyez sur Echap pour accéder à l'écran Diagnostiquer l'ordinateur, qui offre une option de démarrage USB". Ce n'est pas une bonne réponse mais c'est une tentative de réponse.
Thomas Ward
@ThomasW. D'ACCORD. Je ne le vois pas vraiment bien.
TheWanderer
@ Zacharee1 voit mes modifications - cela divise un peu, mais le fait est que même si c'est une réponse, ce n'est pas une très bonne réponse, et cela ne fournit pas vraiment une bonne réponse
Thomas Ward