J'ai Ubuntu 14.04 fonctionnant en mode UEFI comme seul système d'exploitation, pas de double démarrage ici. La version du noyau est générique 3.13.0-24. Il existe une partition EFI. Dans ce cas, la partition EFI n'est pas à la valeur par défaut /dev/sda1
mais à /dev/sda3
parce que j'ai effectivement converti le mode BIOS en mode EFI . J'ai utilisé le grub-efi-amd64
package, bien que cela charge en fait le menu de démarrage GRUB à partir du menu de démarrage du firmware UEFI (charges de démarrage UEFI \EFI\ubuntu\grubx64.efi
).
Je veux ignorer cette étape de chargement du menu de démarrage double et démarrer plus rapidement, directement depuis UEFI dans le noyau. Les noyaux Ubuntu depuis la version 12.10 ont la fonctionnalité "Kernel EFI stub loader" .
Je sais que je dois copier le noyau Ubuntu sur la partition EFI (éventuellement renommer) et créer une entrée dans le menu de démarrage UEFI (par exemple en utilisant efibootmgr
). Quelles commandes de terminal exactes sont nécessaires pour ce faire?
-l
et-u
entre guillemets (ou échappez la barre oblique inverse manuellement). Vous pouvez tester si c'est le problème en exécutantefibootmgr -v
après avoir ajouté une nouvelle entrée au menu de démarrage EFI. De plus, dans le cas où votre machine possède plus d'un disque (disons un SSD et un disque dur), vous devrez en spécifier un par-d
défaut/dev/sda
(voirman efibootmgr
)Selon le wiki Debian , cela peut se faire en quelques étapes simples qui survivront à une mise à jour du noyau .
Remarque: cela suppose que vous disposez d'une partition EFI montée sur
/boot/efi
.Créez
/etc/kernel/postinst.d/zz-update-efistub
avec le contenu suivant:Il s'agit d'un hook qui sera exécuté lors de la mise à jour du noyau pour copier la dernière image du noyau et initrd à l'emplacement approprié. Rendez-le ensuite exécutable et exécutez-le:
Ajoutez l'entrée de démarrage:
N'oubliez pas de modifier les arguments
-d
et en-p
fonction de l'emplacement de votre partition système EFI. Dans mon cas, c'est / dev / sdb1, mais cela est probablement différent pour vous. Vous devrez probablement également changer laroot=
valeur de la ligne de commande du noyau en votre partition racine.(Vous pouvez changer l'étiquette comme vous voulez en changeant le
-L
paramètre.)L'entrée de démarrage que vous venez d'ajouter deviendra l'entrée par défaut. Et il ne se cassera pas après une mise à jour du noyau, car le hook s'assurera
vmlinuz
etinitrd.img
sera toujours mis à jour.la source