web-dev-qa-db-fra.com

Dual Boot Win 8 / Ubuntu ne charge que Win

Mon ordinateur est un ordinateur portable Sony Vaio. J'ai utilisé Ubuntu et Win 8 avec dualboot mais Windows est parvenu à supprimer le menu pour choisir le système d'exploitation au démarrage. Je pense que le BIOS est UEFI. Le démarrage sécurisé était déjà désactivé et la réparation du démarrage échoue.

Comment puis-je réparer cela?

11
user296880

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

Plusieurs méthodes de travail suggèrent de déplacer le fichier grs grubx64.efi ou shimx64.efi par-dessus le code Windows /EFI/windows/bootmgfw.efi. Toutefois, cela n'est pas recommandé car Windows Update restaurera bootmgfw.efi et vous reviendrez uniquement à la fenêtre Démarrage.

Au lieu de cela, je suggère de renommer l’entrée/EFI/Boot/bootx64.efi de secours et d’amorcer l’entrée du disque dur ou d’utiliser rEFInd.

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

Vous avez plusieurs options disponibles:

I. Déplacez et renommez les fichiers grub grubx64.efi ou shim64.efi (pour un 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.

    Depuis l’installateur live, montez la partition efi sur le disque dur: Montez la partition efi. Vérifiez quelle partition est FAT32 avec l'indicateur de démarrage. Souvent sda1 ou sda2 mais varie.

    Sudo mount /dev/sda1 /mnt
    

    seulement si pas déjà existant,

    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 en sorte que grub soit l’entrée de démarrage du disque dur dans UEFI. Si ce n'est pas le cas, vous devrez peut-être mettre à jour UEFI avec efibootmgr.

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

Au besoin, ajoutez une nouvelle entrée de démarrage du disque dur UEFI: voir aussi

man efibootmgr

Si ESP est sda ou les 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 un lecteur, Y est une partition efi, ainsi que des 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 
  1. (C’est la même chose que ce que Boot-Repair faisait auparavant dans II. Ce n’est pas recommandé. Renommez /efi/Microsoft/Boot/bootmgfw.efi et copiez grub ou shim dans/efi/Microsoft/Boot et nommez-le bootmgfw.efi Puis démarrez 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é. Entrée .efi qui est maintenant juste grub, donc ça ne marchera pas.

    Les utilisateurs qui ont manuellement déplacé des fichiers efi sont exposés dans le post 6.

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

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

Tout changement de nom, que ce soit manuellement ou avec Boot-Repair, devra être refait après une mise à jour Windows, car cela restaurera les fichiers Windows.

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

Grub non affiché 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 Description doit être Windows, changez la description de l'UEFI. Cela ne fonctionne vraiment que pour ceux qui n'ont que Ubuntu et aucune installation de Windows.

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

Restaurer ou une nouvelle entrée Windows UEFI - suppose par défaut sda1 add -p 2 si sda2 (voir man efibootmgr -d options de lecteur 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 des icônes de démarrage Nice.

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

16
oldfred

Cela a fonctionné pour moi. J'ai utilisé un ordinateur portable Toshiba avec UEFI.

  1. Installez Ubuntu en mode UEFI. Assurez-vous de désigner un/boot,/et un espace d'échange sur le disque dur.

  2. Allez dans Windows 10. Ouvrez une invite de commande d'admin et suivez l'étape 3.

  3. Redémarrez. Le menu de démarrage devrait apparaître maintenant.

0
Sean Gibbons

Le 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 microprogramme de HP écrase toujours le BootOrderà chaque démarrage et initialise Windows, mais il respecte toujours BootNextname__. J'ai donc écrit un script de démarrage pour définir BootNextà chaque démarrage.

  1. Courir

    efibootmgr
    

    pour trouver le code numérique BootCurrentname__. Dans le cas de mon ami, c'était 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 autre chose, vous devrez sélectionner manuellement Linux au prochain démarrage.

0

J'ai un Acer qui a le même problème. Ma solution est de "redémarrer" Windows, plutôt que d'arrêter (ce qui est vraiment juste un hybernate.)

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

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

0
Buck