Windows 10 sera, pour la plupart, ajouté au Grub menu de démarrage par l'os-prober automatiquement.
Pour ma configuration spécifique, je voulais cacher complètement le menu Grub et démarrer automatiquement Windows à moins qu'une touche de raccourci ne soit pressée pour démarrer Ubuntu. Donc dans mon cas spécifique os-prober n'est pas une option car l'étape la plus importante pour cacher le menu Grub, que la plupart des réponses que j'ai trouvées négligent de mentionner, est de mettre le drapeau disable os-prober ou le menu sera affiché jusqu'à ce qu'os-prober se termine.
Il m'a fallu beaucoup plus de temps que prévu pour y parvenir, car il existe de nombreuses réponses partielles, mais la plupart d'entre elles dépendent de la version et peuvent vous induire en erreur. J'ai passé beaucoup de temps à essayer d'écrire ma propre entrée de menu Grub en essayant d'utiliser des commandes Grub qui n'existaient pas comme ntdlr. Une autre mise en garde est que les fonctions chainloader de mon Grub essaient de démarrer le bios et non l'efi et ne fonctionnent pas (je suis sûr que j'ai fait quelque chose de mal ?).
En fin de compte, la solution était simple car les scripts qui font votre /boot/Grub/Grub.cfg fait le plus gros du travail pour vous en trouvant les UUIDS pour vos partitions de démarrage. Vous pouvez donc sauter les étapes fdisk et blkid que la plupart des gens mentionnent.
La première étape consiste donc à s'assurer que /boot/Grub/Grub.cfg est en cours en utilisant update-Grub pour créer un fichier .cfg. Dans le terminal
sudo update-grub
L'étape 2 consiste à ajouter des entrées de menu personnalisées dans /etc/Grub.d/40_custom . Ne perdez pas de temps à essayer d'écrire votre propre texte simplement ouvert. /boot/Grub/Grub.cfg rechercher " entrée de menu "et copier les entrées générées automatiquement.
Le premier de la liste sera ubuntu, le mien ressemble à
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-9e66eed6-e672-49ff-a07c-afdc00809148' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root 9e66eed6-e672-49ff-a07c-afdc00809148
else
search --no-floppy --fs-uuid --set=root 9e66eed6-e672-49ff-a07c-afdc00809148
fi
linux /boot/vmlinuz-5.4.0-39-generic root=UUID=9e66eed6-e672-49ff-a07c-afdc00809148 ro quiet splash $vt_handoff
initrd /boot/initrd.img-5.4.0-39-generic
}
Les fenêtres seront similaires. Copiez les deux dans /etc/Grub.d/40_custom . La seule modification que j'ai apportée pour Ubuntu est l'ajout de l'option --hotkey=clé qui fera démarrer Grub le système d'exploitation associé à ce raccourci clavier.
menuentry 'Ubuntu2' --class ubuntu --class gnu-linux --class gnu --class os --hotkey=u $menuentry_id_option 'gnulinux-simple-9e66eed6-e672-49ff-a07c-afdc00809148' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root 9e66eed6-e672-49ff-a07c-afdc00809148
else
search --no-floppy --fs-uuid --set=root 9e66eed6-e672-49ff-a07c-afdc00809148
fi
linux /boot/vmlinuz-5.4.0-39-generic root=UUID=9e66eed6-e672-49ff-a07c-afdc00809148 ro quiet splash $vt_handoff
initrd /boot/initrd.img-5.4.0-39-generic
}
J'utilise --hotkey=u ici pour régler le raccourci clavier de démarrage d'Ubuntu sur u.
J'ai ensuite modifié l'entrée Windows, en remplaçant $menuentry_id_option avec le Grub. drapeau --id .
menuentry "Windows 10" --class windows --class os --id windows-custom {
insmod part_gpt
insmod fat
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root 0EAE-C882
else
search --no-floppy --fs-uuid --set=root 0EAE-C882
fi
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
J'ai utilisé --id Windows-custom . Sauvegarder les changements dans /etc/Grub.d/40_custom .
Enfin ouvert / etc/default/Grub et ajouter
GRUB_DISABLE_OS_PROBER=true
changer GRUB_DEFAULT=0
a GRUB_DEFAULT=windows-custom
et le changement GRUB_TIMEOUT=10
J'utilise 0,5 pour me donner un peu plus de temps pour atteindre la cible. u pour démarrer Ubuntu après le POST.
J'espère que cela évitera à quelqu'un de se prendre la tête, merci !