Comment faire démarrer mon ordinateur portable HP dans grub à partir de mon nouveau fichier efi?


28

J'ai un ordinateur portable HP Pavilion Sleekbook 14 sur lequel j'ai installé Ubuntu 12.10 dual boot avec les fenêtres d'origine 8. J'ai utilisé la réparation de démarrage pour me configurer pour démarrer dans grub.

Mon problème est que je n'ai pas pu le faire démarrer directement à partir du nouveau fichier efi qui a été créé. J'ai regardé les options de démarrage dans l'écran du bios, mais cela ne me donne pas le choix pour Ubuntu. La seule façon de démarrer dans Ubuntu est d'appuyer sur F9 lorsque j'allume le système, puis de naviguer manuellement vers le fichier ebuntu efi. Cela fonctionne, mais si je n'y prête pas attention, il démarrera sous Windows.

Après avoir terminé l'exécution de la réparation de démarrage, il m'a dit de démarrer à partir de sda2 / EFI / ubuntu / shimx64.efi. J'ai vu quelques suggestions que je devrais déplacer ce fichier à la place des fenêtres bootmgfw.efi, mais je crains de le faire casser des choses et ne pas pouvoir démarrer l'installation de Windows 8. Bien que je n'aime pas encore plus win8 que win7, j'en ai besoin de temps en temps pour quelques tâches ...

Les détails de ma réparation de démarrage sont ici: http://paste.ubuntu.com/1418009/


shimx64.efi a fonctionné pour moi, mais dans mon cas, Ubuntu Gnome n'a pas démarré après l'installation et a dû sélectionner le fichier en créant une nouvelle option de démarrage dans le BIOS.
timkofu

Il y a une tonne de réponses à propos de Windows ici, essayez-vous de démarrer sous Linux ou Windows?
Evan Carroll

beaucoup de mauvaises réponses inutilement complexes à cause des préoccupations de Windows, il suffit de renommer l'efi de grub à sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efipartir de la réponse de @Vitor Abella
Evan Carroll

Réponses:


29

J'ai eu ce même problème avec mon HP Pavilion g6 lors de la tentative de double démarrage d'Ubuntu 12.04.3 LTS et de Windows 8. C'est-à-dire, même après avoir exécuté «avec succès» Boot-Repair, j'avais toujours le portable démarrant directement dans Windows 8. Si je pressé F9 avant que le symbole HP n'apparaisse, j'ai pu accéder à un menu de démarrage (menu HP? Je ne sais pas ...) et à partir de là, sélectionner l'entrée "Ubuntu", ce qui m'a amené à GRUB 2 et enfin à mon installation Ubuntu.

Pourtant, je voulais pouvoir faire démarrer l'ordinateur directement sur Linux, sans aucune intervention de l'utilisateur.

En fin de compte, la réponse de Rod Smith ci - dessus , combinée avec les informations que j'ai trouvées dans un autre forum, a fait l'affaire pour moi. J'ai le démarrage sécurisé désactivé et le démarrage hérité également désactivé.

C'est ce que j'ai fait:

  • J'ai démarré dans mon installation Ubuntu en utilisant l'astuce de la touche F9 au démarrage pour pouvoir choisir le chargeur de démarrage.
  • Une fois dans Ubuntu, j'ai ouvert un terminal.
  • En utilisant la commande ci-dessous, j'ai vérifié où se trouvait le chargeur de démarrage Windows:

    $ sudo efibootmgr -v
    
  • Dans mon cas, le chargeur d'amorçage d' origine était ici: /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi. Veuillez noter que sur votre ordinateur, il peut se trouver à un autre endroit. Si oui, vous devrez ajuster les commandes ci-dessous.

  • Selon la recommandation de Rod dans sa réponse (celle sur la façon de réparer manuellement le chargeur de démarrage), j'ai fait une sauvegarde de ce fichier en le déplaçant d'un niveau vers le haut:

    $ sudo cp /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft/bootmgfw.efi
    
  • Enfin, j'ai copié le chargeur de démarrage de GRUB2 à cet endroit, "incitant" le système à charger le chargeur de démarrage que je voulais au lieu du chargeur de démarrage d'origine de Windows.

    $ sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
    

J'ai finalement eu mon double démarrage avec GRUB2. Dans le cas où Windows écrase à nouveau le chargeur de démarrage après une mise à jour (comme il l'a fait pour moi), je connais déjà les étapes pour remettre grub à sa place.

J'espère que cela aide quelqu'un. Veuillez me faire savoir s'il y a des problèmes avec ma solution.


9
Merci, cela a aidé, mais je n'ai pas pu démarrer sous Windows. Au démarrage, il démarre GRUB et dans GRUB, l'option 'Windows Boot Manager' va à nouveau dans le menu GRUB (ce qui est probable car cela renvoie au même fichier .efi). Cela ressemblait à ce problème même si je n'ai pas eu de chance avec la réparation de démarrage. Je l'ai résolu en allant sur Ubuntu, dans /etc/grub.d/ en remplissant le fichier 40_custom en copiant l'entrée de démarrage Windows que j'avais dans ma pâte ubuntu et en éditant l'url du fichier .efi pour pointer vers la sauvegarde de bootmgfw.efi. Donc, l'entrée de menu contientchainloader /EFI/Microsoft/bootmgfw.efi
Vince

1
cette entrée de menu ne fonctionne pas pour moi
Pierre

@Pierre May: Peut-être que l'utilisation de l'entrée de menu suivante fonctionnera pour vous: menuentry 'Real Windows' {set root = (hd0, gpt2) chainloader /EFI/Microsoft/bootmgfw.efi} (ceci suppose que votre partition efi est sur la première disque dur, sur sda2. Pour vous en assurer, vous pouvez taper "c" lorsque vous êtes dans le grub et taper "ls" pour voir les partitions disponibles.
tobiasBora

12

J'ai rencontré le même problème sur le HP ProBook 4340s avec Windows 8 d'origine déjà écrasé par le nouveau Kubuntu 15.04 (je préfère pas de double démarrage). Entre autres essais, j'ai également essayé Boot-Repair (à la fois depuis HD après son installation et via boot-repair-disk ), mais cet exercice n'était probablement pas nécessaire.

Ce qui a provoqué l'astuce, ce sont les changements suivants dans la configuration du BIOS (après le démarrage de l'ordinateur, appuyez sur F10 - allez dans Configuration système - ouvrez les options de démarrage ):

  1. Vérifier le démarrage personnalisé

  2. Cochez SecureBoot

  3. Mode de démarrage : choisissez UEFI Hybrid ou UEFI Native (j'ai choisi UEFI Native)

  4. Ordre de démarrage UEFI : placez le démarrage personnalisé au sommet

  5. Définissez l'option de démarrage personnalisé : choisissez Ajouter + mettez le paramètre:\EFI\ubuntu\grubx64.efi

Nous avons trouvé la chaîne de chemin d'accès correcte lors de l'ouverture du GRUB via l' option Boot from EFI File dans les options de démarrage rapide (F9). Au début, la liste des options contenait:

  • Gestionnaire de démarrage du système d'exploitation
  • Démarrage à partir d'un fichier EFI

Après avoir ajouté l'option de démarrage personnalisé, elle a été ajoutée à la liste:

  • Démarrage personnalisé
  • Gestionnaire de démarrage du système d'exploitation
  • Démarrage à partir d'un fichier EFI

J'ai fait exactement cela ici sur un hp zbook 15, pas de chance
cmbarbu

Si vous utilisez un système uefi et installez UBUNTU 16.10 après Windows 10, cette réponse est la bonne
leoredi

merci, je devais le faireDefine Customized Boot Option: choose Add + put the setting: \EFI\ubuntu\grubx64.efi
m3asmi

6

L'UEFI de Hewlett-Packard me donne du chagrin depuis un moment. Votre correctif m'a aidé à redémarrer à nouveau mon ordinateur portable HP dans GRUB - sans appuyer d'abord sur F9.

J'ai eu un problème: après votre correction, j'ai pu sélectionner Windows 8 dans GRUB, mais Windows 8 a ensuite refusé de démarrer et le menu GRUB m'a de nouveau été affiché.

Ma solution:

  1. Copie du fichier efi Microsoft d'origine vers /boot/efi/EFI/Microsoft/Boot/bootmgf2.efi
  2. Modification /boot/grub/grub.cfgpour reconnaître le fichier efi Microsoft renommé

L'ordinateur portable démarre maintenant sur GRUB, Ubuntu et Windows 8 démarre maintenant OK à partir de GRUB.


5

En règle générale, l'exécution de la réparation de démarrage sauvegarde le fichier d'origine du chargeur de démarrage ( bootmgfw.efi) de Microsoft bootmgfw.efi.bkpet remplace le bootmgfw.efifichier d' origine par une copie de GRUB (ou shim), et la sortie de la réparation de démarrage que vous avez publiée l'afficherait; cependant, je ne vois pas un tel fichier de sauvegarde. Ainsi, je vous recommande de faire l'une des trois choses suivantes:

  • Exécutez à nouveau Boot Repair, mais recherchez les options liées à la sauvegarde et au remplacement du chargeur de démarrage Microsoft. Activez ces options pour continuer le processus. GRUB pourrait ou ne pourrait pas lancer Windows; qui semble aléatoire - et plus "raté" si vous laissez Secure Boot actif.
  • Faites le travail manuellement: à partir de Linux, sauvegardez /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi(je recommande de le déplacer d'un niveau vers /boot/efi/EFI/Microsoft/bootmgfw.efi, plutôt que de le renommer bootmgfw.efi.bkp, car ce dernier n'est pas standard et rend les outils autres que Boot Repair et GRUB d'Ubuntu incapables de le localiser). Copiez /boot/efi/EFI/ubuntu/grubx64.efià sa place; ou si vous envisagez de maintenir le démarrage sécurisé, copiez /boot/efi/EFI/ubuntu/shimx64.efià sa place et copiez grubx64.efivers/boot/efi/EFI/Microsoft/Booten utilisant son nom d'origine. Vous devrez ensuite modifier votre configuration GRUB pour lui permettre de lancer le chargeur de démarrage Windows dans son nouvel emplacement ou sous son nouveau nom. (J'ai entendu dire que GRUB ne peut pas encore lancer le chargeur de démarrage Windows en mode Secure Boot, cependant, si vous voulez lancer Windows à partir de GRUB, vous devrez peut-être désactiver Secure Boot. OTOH, je n'ai jamais essayé cela moi-même , donc je peux me tromper sur les capacités de GRUB à cet égard.)
  • Désactivez le démarrage sécurisé, puis démarrez sous Linux et installez mon gestionnaire de démarrage rEFInd en utilisant le paquet Debian. Une fois cela fait, tapez sudo mvrefind.sh /boot/efi/EFI/refind /boot/efi/EFI/Microsoft/Boot. Cette dernière commande déplace et renomme les fichiers d'une manière similaire à la procédure manuelle que je viens de décrire ou à ce que fait Boot Repair, mais elle configure rEFInd comme chargeur de démarrage par défaut plutôt que GRUB. Si vous souhaitez utiliser Secure Boot, vous pourrez le faire en jonglant avec des fichiers et en installant une nouvelle version de shim (le shim d'Ubuntu est suffisamment tôt pour ne pas fonctionner correctement avec rEFInd). L'installation de rEFInd de cette manière vous permet de démarrer sans utiliser GRUB, et la combinaison du script d'installation (exécuté par le système de paquets lorsque vous installez le paquet Debian) et du mvrefind.shscript contourne les problèmes que vous rencontrez.

Pour mémoire, les problèmes que vous rencontrez sont liés à des bogues connus dans l'implémentation EFI de HP. Fondamentalement, le firmware est codé en dur pour démarrer à partir du chargeur de démarrage de Microsoft et pour rendre difficile ou impossible de démarrer à partir d'autre chose. Je vous recommande fortement de vous plaindre à HP à ce sujet; ils ne régleront pas de tels problèmes à moins que les gens ne se plaignent.

Des trois solutions, l'utilisation de la réparation de démarrage est probablement la plus simple à mettre en œuvre; mais comme je l'ai noté, la dénomination non standard utilisée par la réparation de démarrage peut finir par causer des problèmes pour d'autres utilitaires à l'avenir. Les ajustements manuels nécessiteront plus d'efforts pour fonctionner, mais seront plus propres à long terme. Certaines personnes ont signalé des problèmes pour que GRUB charge en chaîne le chargeur de démarrage de Windows, donc l'une ou l'autre option pourrait vous donner des maux de tête à ce sujet. rEFInd est beaucoup plus susceptible de démarrer Linux ou Windows sans problème, mais comme vous pouvez le voir dans la procédure, le faire fonctionner nécessitera probablement un peu plus d'efforts que de relancer la réparation de démarrage, bien que probablement moins que de faire du jonglage manuel de fichiers. L'utilisation de rEFInd en conjonction avec Secure Boot nécessite actuellement plus de sauts de cercle. (Voir la documentation de rEFInd pour plus de détails.

Il y a des risques impliqués dans les trois solutions; Les implémentations EFI varient beaucoup trop entre elles, ce qui signifie qu'une procédure automatisée ou manuelle qui fonctionne bien sur un ordinateur peut échouer lamentablement sur un autre. Pour vous protéger, je vous recommande de sauvegarder votre ESP (normalement /boot/efisous Linux); il suffit de regrouper les fichiers dans une archive tar ou de les copier dans un répertoire de sauvegarde. Si quelque chose ne va pas, vous pouvez démarrer avec un disque d'urgence et restaurer les fichiers. Cela redémarrera probablement l'ordinateur.


Merci beaucoup! Je n'ai encore essayé aucune de vos options, mais le ferai ce week-end.
maddentim

Votre gestionnaire de démarrage rEFInd semble intéressant. Donc, vous dites que je peux désactiver le démarrage sécurisé et continuer à utiliser Win8? Une question que j'ai est que lorsque j'ai essayé de tar / boot / efi, tar m'a donné des erreurs sur certains des fichiers du dossier ubuntu. Ils ont des noms étranges comme 'ame = "App.lic'. Voir les lignes 809 à 817 dans paste.ubuntu.com/1418009 Cette dernière installation était en fait ma troisième tentative. Je pense que ce sont des ordures et peuvent être supprimées. Je reviendrai après avoir terminé une de vos étapes
maddentim

J'ai vu plusieurs rapports de personnes désactivant le démarrage sécurisé et n'ayant aucun problème à démarrer Windows, ce n'est donc pas un problème. Si vous souhaitez le garder activé pour des avantages de sécurité, cela est compréhensible, mais vous ne devriez pas vous inquiéter du fait que Windows ne puisse pas démarrer. Quant à votre tarerreur, cela ressemble à un script qui a eu un bug et a créé des fichiers avec des noms étranges. Je n'avais pas remarqué ces fichiers dans votre sortie auparavant, mais il est concevable que le bug qui les a créés soit également responsable de vos problèmes de démarrage. Si c'est le cas, l'utilisation de rEFInd est susceptible de contourner le problème, mais les autres solutions peuvent échouer.
Rod Smith

rEFInd n'a pas été installé avec succès. Je pense que LovinBuntu a identifié le problème. / boot / EFI est en lecture seule. Voici une partie de la sortie: mkdir: impossible de créer le répertoire /boot/efi//EFI/refind': Read-only file system cp: cannot create regular file /boot/efi//EFI/refind/refind_x64.efi ': aucun fichier ou répertoire de ce type Installation du pilote pour ext4 (ext4_x64.efi) mkdir: impossible de créer le répertoire `/ boot / efi // EFI / refind ': Système de fichiers en lecture seule Fichiers binaires rEFInd copiés
maddentim

3

J'ai passé une journée pour le même problème et je l'ai finalement résolu. Voici la solution exacte. L'article complet pour résoudre le problème est ici, qui est écrit par Rod Smith .

Informations utiles

Afin de démarrer dans la table de partition GPT avec les chargeurs de démarrage efi. efiles fichiers sont créés par les systèmes d'exploitation au moment de l'installation qui doivent être fournis au bios UEFI de l'ordinateur afin de lui donner la possibilité de démarrer dans leurs systèmes d'exploitation correspondants.

Pour conserver les fichiers efi, nous devons avoir une partition EFI. Il s'agit généralement d'une partition de moins de 200 Mo au fat32format avec le label de EFI system. Il comprend les .efifichiers et leurs dépendances (sous la forme de .dllou .efi) nécessaires au démarrage dans l'une des partitions de démarrage (généralement les systèmes d'exploitation). Sur mon ordinateur, cette partition a la structure indiquée par le schéma suivant:

\EFI
   |_Boot
     |_fw
   |_Microsoft
     |_Boot
     |_Recovery
   |_Ubuntu
     |_fw

Normalement, les .efifichiers peuvent avoir n'importe quel nom, mais il semble que certains ordinateurs recherchent des noms spécifiques. Je mentionne donc aussi les noms standard.

  1. BootDossier: est reconnu comme l'option de démarrage par défaut et si la NVRAM est effacée pour une raison. Ce sera utilisé par défaut. Le nom du chargeur de démarrage efi est "bootx64.efi". Lorsque vous souhaitez choisir un chargeur de démarrage efi par défaut, copiez votre fichier efi et tous les fichiers qui l'entourent dans le dossier de démarrage et renommez le fichier efi de votre source en "bootx64.efi".

  2. MicrosoftDossier: il contient les fichiers de démarrage efi de Windows. Il existe plusieurs fichiers efi mais le principal est "efibootmgfw.efi". Je suis sûr que cela est utilisé par Windows pour démarrer.

  3. UbuntuDossier: Il contient le fichier efi d'Ubuntu ou de Mint. Il existe plusieurs .efifichiers, mais le principal estgrubx64.efi

Que faire?

Certaines options de démarrage sont déjà installées au moment de l'installation du système d'exploitation. Cependant, ils peuvent être supprimés des options de démarrage du BIOS pour différentes raisons telles que la suppression et la réinstallation d'un disque dur ou l'installation d'un nouveau système d'exploitation ou même d'une nouvelle batterie de carte mère. Il existe deux solutions pour récupérer les options de démarrage.

  1. (Non recommandé) Comme cela est décrit dans certaines réponses, nous pouvons remplacer une option de démarrage qui fonctionne par celle qui ne fonctionne pas. Mais le problème reste dans l'autre sens.

  2. Enregistrez manuellement le fichier du chargeur de démarrage efi manquant.

Comment faire?

  1. Démarrez à partir du flash de démarrage Linux (j'utilise le flash de démarrage de Linux Mint). Ce doit être une clé USB EFI. (USB GPT qui peut être créé par des programmes comme rufus)

  2. Montez la partition EFI, votre distribution peut le faire automatiquement. Ignorez cette étape si elle /bootest disponible et affiche une structure similaire à celle ci-dessus. Les Ubuntu modernes devraient le faire pour vous.

    1. Trouvez l'adresse de votre partition EFI. Cela peut être fait en utilisant une partedcommande ou un Disksprogramme. Il s'agit généralement de la première ou de la deuxième partition du disque amorçable. ( /dev/sda1Ou /dev/sda2) Cette partition est généralement comprise entre 100 Mo et 200 Mo avec FAT32 et le type de partition du système EFI.

    2. Montez la partition EFI. Vous pouvez utiliser la dfcommande pour vérifier si la partition est montée auparavant.

      df  /boot/efi
      

      Si la partition n'est pas montée auparavant (n'apparaît pas dans la commande précédente) Montez la partition en utilisant la mountcommande:

      mount  /dev/sda1  /boot/efi
      
  3. Maintenant, si vous parcourez, /boot/efivous verrez la structure du fichier similaire à celle de la mienne expliquée ci-dessus. Contrôlez si vous pouvez y trouver le dossier de votre système d'exploitation perdu. Dans mon cas, le bios de l'ordinateur ne pouvait voir que l'option de démarrage de Windows, mais j'avais également l'option de démarrage Grub de Linux Mint.

    • (Non recommandé) Mon option de démarrage Windows fonctionnait donc d'abord à des fins de test, j'ai fait une sauvegarde du dossier Microsoft qui contient un tas de fichiers avec le fichier efi de démarrage de Windows. ( bootmgfw.efi) Je renomme le dossier ubuntu dans Microsoft, à côté , je le renomme grubx64.efià bootmgfw.efi. Après le redémarrage, au lieu de démarrer dans Windows, le menu grub est chargé, cependant, cette fois, le démarrage vers Windows n'était possible qu'avec grub. Et le démarrage direct vers Windows n'était pas possible.

      sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
      
    • ( Manière recommandée ) Écrivez simplement l'adresse du fichier efi que vous voulez que son système d'exploitation associé soit vu dans les options de démarrage du bios. Dans mon cas, Linux Mint manquait dans la liste de démarrage du BIOS de l'ordinateur. L'adresse de son fichier efi était /efi/ubuntu/grubx64.efirelative à la racine de la partition EFI. Ensuite, je l'ai enregistré dans NVRAM en utilisant la commande efibootmgr .

      efibootmgr -c -d /dev/sda -p 1 -l \\efi\\ubuntu\\grubx64.efi -L nameForBootOption
      

      dans une p 1partie de la commande, le 1 définit le numéro de partition de la partition efi dans le disque donné. nameForBootOptionest un nom personnalisé donné à l'option de démarrage

* Prenez soin d'écrire la bonne adresse. Lorsque vous montez la partition sous linux. Il monte la partition dans un dossier sous la racine, qui étend la vraie adresse en quelque chose comme/media/mint/CC1F-9708/EFI/ubuntu mais nous devons seulement donner une /EFI/ubuntupartie.

* Le Disksprogramme est un merveilleux outil graphique qui se trouve sur le flash de démarrage de Linux Mint par défaut. Il peut être utilisé pour vérifier et trouver une partition EFI et peut également être utilisé pour monter la partition EFI sans utiliser de commande mount ou parted. Il vous suffit de le rechercher dans le menu, Préférences, Disques.


Je suis allé de la manière non recommandée. Fonctionne parfaitement.
Evan Carroll

1

Vous êtes concerné par ce bogue: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1091477

Solution:

  1. via Gparted, créez une autre partition EFI (FAT32, 200 Mo, située à l'intérieur des 100 premiers Go du disque)
  2. déplacer le drapeau 'boot' dessus
  3. obliger Ubuntu à utiliser ce nouvel ESP (par exemple via Boot-Repair -> Réparation recommandée).

Eh bien, créer un autre ESP à l'intérieur du premier 100 Go signifie déplacer la partition win8 sur 200 Mo ... Il faut y faire attention je pense. Pourrait interrompre le démarrage de Windows. Je devrais peut-être juste le faire sauter. Je n'aime même pas ça de toute façon. Je n'en ai vraiment besoin que pour regarder Netflix!
maddentim

Veuillez mettre à jour Boot-Repair (packages «boot-sav» et «boot-repair»), puis exécutez la réparation recommandée et indiquez la nouvelle URL qui apparaîtra.
LovinBuntu


1

J'ai rencontré le même problème après avoir installé Cent-OS 7 sur Windows 10. voici le processus ci-dessous que j'ai suivi.

  • le système d'exploitation initial était Windows 10
  • installé cent-os 7 en utilisant uefi usb créé par rufus

problème: Windows 10 était en cours de chargement et le menu de démarrage de cent OS ne s'affichait même pas.

  1. Comment j'ai résolu:
  2. est allé à Bios
  3. démarrage hérité activé (juste une étape supplémentaire pour les précautions futures)
  4. aller aux options de démarrage
  5. cliquez sur le gestionnaire de démarrage du système d'exploitation
  6. Déplacez CentOS UEFI au-dessus des fenêtres: appuyez sur f10 pour enregistrer
  7. cliquez à nouveau sur OD bootmanager et vérifiez-le.
  8. appuyez sur f10 pour enregistrer et quitter

Votre système va maintenant démarrer dans centos UEFI

puisque nous avons activé le démarrage hérité, nous pouvons choisir la touche échap pour accéder au bios ou à d'autres options de démarrage


1

J'ai trouvé un moyen d'obtenir mon HP Pavilion g7-2269wm (UEFI) pour démarrer rEFInd (GRUB peut également être possible) sans remplacer bootmgfw.efi par rEFInd ou GRUB

J'ai installé rEFInd et ajouté rEFInd à la liste des gestionnaires de démarrage en utilisant sudo efibootmgr -c -d /dev/sda -p 2 -L "rEFInd" -l "\EFI\refind\shimx64.efi"

Redémarrage à l'aide de F9 pour sélectionner rEFInd, puis Ubuntu.

Puis renommé bootmgfw.efien bootmgfwms.efiutilisant

sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft/Boot/bootmgfwms.efi

Ensuite, j'ai redémarré et il a redémarré dans rEFInd sans avoir à utiliser F9.L'entrée Windows 10 était maintenant manquante, j'ai donc sélectionné Ubuntu.

Ensuite, pour récupérer l'entrée Windows 10 que j'ai exécutée

sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfwms.efi /boot/EFI/EFI/Microsoft/Boot/bootmgfw.efi

Ensuite, j'ai redémarré et rEFInd vient sans appuyer sur F9 et Windows 10 apparaît comme une entrée.


1

C'est une autre réponse à celle de mairabc pour ceux qui, comme Vince ou moi, ne peuvent pas démarrer sur Windows. Vous aurez besoin du fs_uuid:

# grub-probe --target=fs_uuid /boot/efi/EFI/Microsoft/bootmgfw.efi

et la chaîne hints_string:

# grub-probe --target=hints_string /boot/efi/EFI/Microsoft/bootmgfw.efi

Ensuite, vous devez éditer le fichier /etc/grub.d/40_custom comme ça:

menuentry "Microsoft Windows x86_64 UEFI-GPT" {
    insmod part_gpt
    insmod fat
    insmod search_fs_uuid
    insmod chain
    search --fs-uuid --no-floppy --set=root your_hints_string your_fs_uuid
    chainloader /EFI/Microsoft/bootmgfw.efi
}

Enregistrez-le et faites un

# update-grub

redémarrer dans windows ...


1

Sur mon ordinateur portable HP, j'ai fait ce qui suit, étape par étape:

1 - Démarrez dans Ubuntu avec F9

2 - Vérifiez où se trouve le chargeur de démarrage Windows

sudo efibootmgr -v

Dans mon cas /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

3 - Sauvegarde du fichier .efi:

sudo cp /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft/bootmgfw.efi

4 - Remplacez le fichier .efi d'origine par celui d'ubuntu ( l'astuce ):

sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

5 - Ajoutez le menu Windows 10 sur grub. Ouvrez /etc/grub.d/40_customet ajoutez cette entrée de menu à la fin du fichier:

menuentry "Windows 10 click here!" {
    search --set=root --file /EFI/Microsoft/bootmgfw.efi
    chainloader /EFI/Microsoft/bootmgfw.efi
}

6 - Enregistrer 40_customet:

sudo update-grub

7 - Sur bios Désactiver le démarrage sécurisé (je ne sais pas si c'est nécessaire)

8 - Si tout s'est bien passé, il démarrera sur ubuntu par défaut et Windows 10 sera une autre option sur grub.

C'était plus facile que je ne le pensais.


sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efia parfaitement fonctionné.
Evan Carroll

@EvanCarroll, pensez-vous que je devrais améliorer ma réponse? Ce sont vraiment les étapes que je fais.
Vitor Abella

Eh bien, je ne suis pas sûr que cette réponse soit nécessaire pour être honnête. C'est beaucoup de mots mais votre méthode là-bas, c'est la même chose que Tekin a dans la section non recommandée. Mais, pour ceux des utilisateurs Linux uniquement, cette méthode est idéale pour sa simplicité.
Evan Carroll

1

J'ai un ordinateur portable HP 2018, 14 pouces avec Windows 10 et double démarrage Ubuntu. J'avais l'habitude d'appuyer sur F9 pour choisir quel OS je voulais et je l'ai fait depuis quelques semaines maintenant.

Solution:

  • Arrêtez-vous et appuyez sur F10 pour accéder au BIOS

  • Accédez à la partie du BIOS qui répertorie l'ordre de démarrage

  • Appuyez sur Entrée dans le gestionnaire de démarrage du système d'exploitation.

  • utilisez F5 ou F6 pour basculer Ubuntu avec Windows.

  • Sauvegarder et quitter.


0

Ce n'est PAS un problème Windows! Le micrologiciel HP est totalement bogué car il n'utilise pas (ou ne prend même pas en charge correctement) la variable UEFI firmare "BootOrder". Je pense que le seul correctif à cela est de remplacer le fichier du chargeur de démarrage Windows (comme certains l'ont déjà mentionné) par votre grub.efi.


0

Mon scénario est similaire à celui de Michal Žarnay le 19 août 15 à 15:20: j'ai obtenu des mini-tours HP Pavillion Slimline 400-314, je n'avais pas besoin de Windows 8 préinstallé, donc immédiatement repartitionné le disque dur et installé Ubuntu 14.04 et Grub2.

Malheureusement, le menu BIOS du Pavillon est extrêmement limité dans la configuration de démarrage. Il n'a pas la plupart des choix fantaisistes que la plupart des autres décrivent ici. Même essayer de changer l'ordre de démarrage ne tient pas.

La SEULE solution que j'ai mise au point consiste à utiliser la solution de contournement de «dénomination alternative» décrite dans la section «Solutions de dénomination alternatives» de ce blog .


1
Bienvenue sur Ask Ubuntu! Bien que cela puisse théoriquement répondre à la question, il serait préférable d'inclure ici les parties essentielles de la réponse et de fournir le lien de référence.
Mark Kirby

0

Je confirme que les étapes de @Vitor Abella ont résolu le problème de double démarrage pour mon ordinateur portable HP 2000, sauf que je devrai effectuer l'une des opérations suivantes (comme l'a mentionné @mairabc):

  • activer le démarrage hérité (par défaut, le démarrage de sécurité est désactivé)

ou

  • désactiver le démarrage hérité et activer le démarrage de sécurité.

0

Si vous ne souhaitez pas vous déplacer dans les fichiers de démarrage , vous pouvez essayer de modifier la séquence de démarrage manuellement:

Entrez dans ubuntu manuellement et vérifiez la séquence de démarrage actuelle et leurs identifiants en utilisant:

sudo efibootmgr -v

puis modifiez les séquences de démarrage à l'aide de -o et des ID (dans l'ordre de démarrage de gauche à droite):

sudo efibootmgr -o 0000,3000,0001,2001,2002,2003



Exemple :
1. Afficher les paramètres de démarrage actuels

$ sudo efibootmgr -v
BootCurrent: 0001
Timeout: 2 seconds
BootOrder: 0001,3000,0000,2001,2002,2003
Boot0000* ubuntu    HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\ubuntu\shimx64.efi)
Boot0001* Windows Boot Manager  HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot2001* USB Drive (UEFI)  RC
Boot2002* Internal CD/DVD ROM Drive (UEFI)  RC
Boot3000* Internal Hard Disk or Solid State Disk    RC
Boot3001* Internal Hard Disk or Solid State Disk    RC
Boot3002* Internal Hard Disk or Solid State Disk    RC
Boot3003* Internal Hard Disk or Solid State Disk    RC

2.Changez l'ordre de démarrage (nous voulons d'abord démarrer Ubuntu, qui affichera le menu de démarrage au démarrage):
Notez que le premier essai a donné une erreur car il n'a pas pu trouver Boot2003 (lecteur de disquette?), Comme vous pouvez le voir recréé après le redémarrage cependant.

$ sudo efibootmgr -o 0000,3000,0001,2001,2002,2003
Invalid boot order entry value: 0000,3000,0001,2001,2002,2003
                                                         ^
Boot entry 2003 does not exist

$ sudo efibootmgr -o 0000,3000,0001,2001,2002
BootCurrent: 0000
Timeout: 2 seconds
BootOrder: 0000,3000,0001,2001,2002
Boot0000* ubuntu
Boot0001* Windows Boot Manager
Boot2001* USB Drive (UEFI)
Boot2002* Internal CD/DVD ROM Drive (UEFI)
Boot3000* Internal Hard Disk or Solid State Disk
Boot3001* Internal Hard Disk or Solid State Disk
Boot3002* Internal Hard Disk or Solid State Disk
Boot3003* Internal Hard Disk or Solid State Disk

3.Redémarrez. Le menu de démarrage devrait maintenant apparaître. (2003 est rajouté automatiquement):

$ sudo efibootmgr -v
BootCurrent: 0000
Timeout: 2 seconds
BootOrder: 0000,3000,0001,2001,2002,2003
Boot0000* ubuntu    HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\ubuntu\shimx64.efi)
Boot0001* Windows Boot Manager  HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot2001* USB Drive (UEFI)  RC
Boot2002* Internal CD/DVD ROM Drive (UEFI)  RC
Boot3000* Internal Hard Disk or Solid State Disk    RC
Boot3001* Internal Hard Disk or Solid State Disk    RC
Boot3002* Internal Hard Disk or Solid State Disk    RC
Boot3003* Internal Hard Disk or Solid State Disk    RC

0

Ma solution a été réalisée après avoir su que grub4dos était en train de charger

faire cette entrée dans men.lst

title Linux
find --set-root /-name.efi
boot /-name.efi

0

Après l'installation d'Ubuntu 14.04 64 bits sur un ordinateur portable HP-15-r248nf avec Windows 8 mis à niveau vers 10 installé, ce qui s'est passé sans problème en plus d'un problème avec une connexion Wifi interrompue avec un pilote Wifi Realtek (résolu en utilisant echo "options rtl8723be fwlps=N ips=N" | sudo tee /etc/modprobe.d/rtl8723be.conf ), le PC a toujours démarré sous Windows.

Ubuntu via grub n'est devenu disponible que lors de l'utilisation de la touche ESC pendant la phase de démarrage. boot-repair n'a pas aidé, il a en fait installé un certain nombre d'options dans grub, mais grub n'était toujours pas directement accessible.

En fait, il était simplement nécessaire de modifier l'ordre de démarrage par défaut.

  • À l'étape de démarrage après avoir allumé le PC, tapez Esc, puis F10 pour accéder à la configuration du BIOS.
  • Allez dans l'onglet «Configuration système», jusqu'à «Options de démarrage». Appuyez sur Entrée. Désactivez «Démarrage sécurisé»
  • Descendez à l'ordre de démarrage UEFI. J'ai mis en utilisant F5 / F6 le gestionnaire de démarrage du système d'exploitation en haut (probablement pas nécessaire).
  • Sélectionnez «OS boot manager» avec Enter. En utilisant F5 / F6, déplacez ubuntu vers le haut au-dessus du Gestionnaire de démarrage Windows.
  • Quittez la configuration du BIOS avec F10 Save / exit et confirmez les modifications que vous avez apportées.

Maintenant, vous serez dirigé vers grub où vous avez choisi l'option Ubuntu marquée d'une étoile sur le dessus qui démarrera automatiquement après un court délai.


2
Veuillez formater un peu. Je ne peux même pas dire si c'est une réponse.
TheWanderer

0

Résolu mon problème de démarrage EFI comme ceci:

le efibootmgr -o option est remplacée une fois que vous redémarrez, donc cela ne fonctionnera pas.

Cependant, j'ai découvert que l' -noption le fait. Donc, dans la course usb-ubuntu en direct efibootmgret découvrez le numéro à quatre chiffres pour ubuntu et chargez ce numéro avec l' -noption. Ensuite, pour pouvoir redémarrer à partir de votre système, créez un script comme celui-ci:

#!/bin/sh
/usr/bin/efibootmgr -n 0000

Remplacement 0000par l'entrée ubuntu. La course crontab -evous permettra de modifier votre cron. Ajoutez-y une ligne comme celle-ci:

@reboot /home/"user"/"path"/efibootsj

cela exécutera le script efibootsj(ou quel que soit le nom) une fois que votre ordinateur aura démarré .

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.