Double démarrage Win 8 / Ubuntu ne charge que Win

13

Mon ordinateur est un ordinateur portable Sony Vaio. J'ai utilisé Ubuntu et Win 8 avec dualboot mais Windows a réussi à supprimer le menu pour choisir l'OS au démarrage. Je pense que le BIOS est UEFI. Le démarrage sécurisé était déjà désactivé et la réparation de démarrage échoue en quelque sorte.

Comment puis-je réparer cela?

user296880
la source
sda manque GRUB ... "Placer GRUB dans sda" en utilisant: help.ubuntu.com/community/Boot-Repair
jmunsch
3
Avec UEFI vous n'avez pas grub dans le MBR de sda, juste dans la partition efi qui est.
oldfred

Réponses:

19

Sony, HP et de nombreux fournisseurs d'ordinateurs portables sont codés en dur pour démarrer uniquement Windows.

Il existe plusieurs méthodes de travail qui vous suggèrent de déplacer le grub grubx64.efiou le shimx64.efifichier au-dessus de Windows /EFI/windows/bootmgfw.efi. Cependant, cela n'est pas recommandé car Windows Update sera restauré bootmgfw.efiet vous ne reviendrez qu'aux fenêtres de démarrage.

Au lieu de cela, je suggère de renommer la solution de remplacement /EFI/Boot/bootx64.efi et de démarrer le disque dur ou d'utiliser rEFInd.

Assurez-vous de sauvegarder l'intégralité de la partition EFI avant d'apporter des modifications.

Vous disposez de plusieurs options:

I. Déplacer et renommer les fichiers sans tête grubx64.efiou shim64.efi(pour le démarrage sécurisé) dans ce dossier / fichier/EFI/BOOT/BOOTX64.EFI

  1. Renommez /efi/boot/bootx64.efi, copiez shim ou grub dans / efi / boot et nommez-le bootx64.efi Ensuite, démarrez l'entrée du disque dur. Les nouvelles versions de Boot-Repair le font automatiquement avec «Utiliser le fichier EFI standard» dans les options avancées. Il sauvegarde également le fichier bootx64.efi actuel, qui n'est probablement qu'une copie du fichier de démarrage Windows .efi.

    À partir du programme d'installation en direct, montez la partition efi sur le disque dur: montez la partition efi. vérifiez quelle partition est FAT32 avec le drapeau de démarrage. Souvent sda1 ou sda2 mais varie.

    sudo mount /dev/sda1 /mnt
    

    seulement s'il n'existe pas déjà,

    sudo mkdir /mnt/EFI/Boot
    sudo cp /mnt/EFI/ubuntu/* /mnt/EFI/Boot
    

    Si un nouveau dossier est créé, le fichier bootx64.efi n'existera pas, ignorez cette commande

    sudo mv /mnt/EFI/Boot/bootx64.efi /mnt/EFI/Boot/bootx64.efi.backup
    

    Faites de grub be une entrée de démarrage du disque dur dans UEFI. S'il n'existe pas, il se peut que vous deviez également mettre à jour UEFI avec efibootmgr.

    sudo mv /mnt/EFI/Boot/grubx64.efi /mnt/EFI/Boot/bootx64.efi 
    

    Si nécessaire, ajoutez une nouvelle entrée de démarrage du disque dur UEFI: Voir aussi

    man efibootmgr
    

    Si ESP est sda ou entrées de lecteur et de partition par défaut:

    sudo efibootmgr -c -L "UEFI Hard drive" -l "\EFI\Boot\bootx64.efi"
    

    Si ESP n'est pas sda1, sdX est le lecteur, Y est la partition efi, également les lecteurs NVMe:

    sudo efibootmgr -c -g  -w -L "UEFI hard drive" -l '\EFI\Boot\bootx64.efi' -d /dev/sdX -p Y
    sudo efibootmgr -c -L "UEFI hard drive" -l "\EFI\Boot\bootx64.efi" -d /dev/nvme0n1 -p 2 
    
  2. (C'est la même chose que ce que Boot-Repair faisait dans II. Non recommandé: Renommez /efi/Microsoft/Boot/bootmgfw.efi et copiez grub ou shim dans / efi / Microsoft / Boot et nommez-le bootmgfw.efi Ensuite démarrer l'entrée Windows pour démarrer dans le menu grub. Vous devez ajouter manuellement une entrée du menu grub pour démarrer le fichier efi Windows renommé. L'entrée os-prober de Grub2 démarre l'entrée bootmgfw.efi qui est maintenant juste grub, donc cela ne fonctionnera pas.

    Les utilisateurs qui ont déplacé manuellement les fichiers efi autour voient le post # 6.

    http://ubuntuforums.org/showthread.php?t=2101840
    http://ubuntuforums.org/showthread.php?t=2219452
    http://ubuntuforums.org/showthread.php?t=2221498&p=13012109#post13012109

II. Si vous avez exécuté le correctif de Boot-Repair pour "buggy UEFI" avec une ancienne copie, il est préférable de l'annuler. Et puis effectuez la modification ci-dessus pour utiliser bootx64.efi Pour annuler et renommer les fichiers à leurs noms d'origine, il vous suffit de cocher l'option "Restaurer les sauvegardes EFI" de Boot-Repair.

Tout renommage manuel ou avec Boot-Repair devra être refait après une mise à jour Windows car il restaurera les fichiers Windows.

III. Modifier Windows BCD, une alternative au changement de nom de Boot-Repair pour que le shim ait un nom Windows. Certains systèmes fonctionnent mieux pour enregistrer grub / shim depuis Windows - pour ceux qui continuent de réinitialiser Windows par défaut.

Grub ne s'affiche pas au démarrage pour Windows 8.1 Ubuntu 13.10 Dual boot

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

https://coderwall.com/p/vfyqkg

IV. Si la description doit être Windows, modifiez la description UEFI. Cela ne fonctionne vraiment que pour ceux avec juste Ubuntu, et aucune installation de Windows du tout.

sudo efibootmgr -c -L "Windows Boot Manager" -l "\EFI\ubuntu\shimx64.efi"

Restauration ou nouvelle entrée Windows UEFI - suppose que sda1 par défaut ajoute -p 2 si sda2 (voir les options de lecteur man-efibootmgr -d et de partition -p):

sudo efibootmgr -c -L "Windows Boot Manager" -l "\EFI\Microsoft\Boot\bootmgfw.efi"
sudo efibootmgr -c -L "Windows Boot Manager" -l "\EFI\Microsoft\Boot\bootmgfw.efi" -d /dev/nvme0n1 -p 1 

V. Certains installent rEFInd qui semble être une autre solution de contournement et possède de belles icônes de démarrage.

http://www.rodsbooks.com/refind/index.html

http://www.rodsbooks.com/refind/secureboot.html

PPA disponible pour faciliter l'installation dans Ubuntu

http://www.rodsbooks.com/refind/getting.html

Oldfred
la source
Oui! Le changement de nom a fonctionné pour moi! J'ai monté la partition efi et copié les fichiers ../EFI/ubuntu/grubx64.efi vers ../EFI/Boot/ et vers / EFI / Microsoft / Boot et changé le nom du fichier comme suit. Dans le répertoire ../EFI/Boot j'ai écrasé le bootx64.efi avec le fichier et dans le ../EFI/Microsoft/Boot j'ai écrasé le bootmgfw.efi avec le fichier. C'est tout ce que je pense. Merci beaucoup!
user296880
Pour ceux qui sont bloqués sur Windows: j'ai réussi à faire l'approche de changement de nom décrite dans l'option a1 sans quitter Windows. J'ai ouvert une fenêtre de commande en tant qu'administrateur, puis j'ai couru mountvol S: /Spour monter la partition EFI en tant que S :. J'ai eu des problèmes étranges avec monter et descendre des dossiers, mais déplacer une copie de grubx64.efi un dossier à la fois dans / EFI / Boot, puis le renommer en bootx64.efi a fonctionné.
Peter Becker
Je suis surpris que le major anglais qui a renuméroté mon poste ne l'ait pas fait. J'avais des commentaires plus anciens faisant référence à A: & B: comme sections principales. :)
oldfred
2

La réponse ci - dessus n'a pas fonctionné pour le HP Pavilion de mon ami, mais j'ai trouvé une solution de contournement décente. Il semble que le firmware de HP écrase toujours le BootOrderà chaque démarrage et définit Windows en premier, mais il respecte toujours BootNext. J'ai donc écrit un script de démarrage à définir BootNextà chaque démarrage.

  1. Courir

    efibootmgr
    

    pour trouver le code numérique de BootCurrent. Dans le cas de mon ami, c'était le cas 0003.

  2. /etc/systemd/system/boot-linux-next.service:

    [Unit]
    Description=Boot Linux next
    
    [Service]
    Type=oneshot
    # Replace '3' in the next line with the appropriate code.
    ExecStart=efibootmgr --bootnext 3
    
    [Install]
    WantedBy=multi-user.target
    
  3. Courir

    systemctl enable --now boot-linux-next.service
    

Cela signifie que si vous démarrez quelque chose d'autre, vous devrez sélectionner manuellement Linux au démarrage la prochaine fois.

Leif Arne Storset
la source
0

J'ai un Acer qui a le même problème. Ma solution est de "redémarrer" les fenêtres, plutôt que de les fermer (ce qui n'est en fait qu'un hybernate.)

En redémarrant (ce qui peut déclencher des mises à jour), le système s'arrête et vous pouvez sélectionner le démarrage dans le bios. Vous devez l'attraper avant qu'il ne redémarre.

J'utilise rarement Windows, donc le démarrage de cette façon ne me dérange pas du tout. Sauf, bien sûr, les mises à jour de Windows.

mâle
la source