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?
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
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
(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
Cela a fonctionné pour moi. J'ai utilisé un ordinateur portable Toshiba avec UEFI.
Installez Ubuntu en mode UEFI. Assurez-vous de désigner un/boot,/et un espace d'échange sur le disque dur.
Allez dans Windows 10. Ouvrez une invite de commande d'admin et suivez l'étape 3.
Redémarrez. Le menu de démarrage devrait apparaître maintenant.
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 BootNext
name__. J'ai donc écrit un script de démarrage pour définir BootNext
à chaque démarrage.
Courir
efibootmgr
pour trouver le code numérique BootCurrent
name__. Dans le cas de mon ami, c'était 0003
.
/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
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.
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.