Chaque fois que je l'exécute, boot-repair
il ajoute 5 options de démarrage Windows supplémentaires à mon grub
menu principal qui ne fonctionnent pas. Dans votre cas, il a ajouté 11 entrées supplémentaires!
grub.cfg
montre le problème
Le secret se trouve dans le /etc/grub/grub.cfg
fichier:
### BEGIN /etc/grub.d/25_custom ###
menuentry "Windows UEFI bootmgfw.efi" {
search --fs-uuid --no-floppy --set=root D656-F2A8
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}
menuentry "Windows Boot UEFI loader" {
search --fs-uuid --no-floppy --set=root D656-F2A8
chainloader (${root})/EFI/Boot/bkpbootx64.efi
}
menuentry "EFI/ubuntu/fwupx64.efi" {
search --fs-uuid --no-floppy --set=root D656-F2A8
chainloader (${root})/EFI/ubuntu/fwupx64.efi
}
menuentry "Windows UEFI bootmgfw.efi sda1" {
search --fs-uuid --no-floppy --set=root 9478-B6E2
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}
menuentry "Windows Boot UEFI loader sda1" {
search --fs-uuid --no-floppy --set=root 9478-B6E2
chainloader (${root})/EFI/Boot/bkpbootx64.efi
### END /etc/grub.d/25_custom ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows Boot Manager (on /dev/nvme0n1p2)' --class windows --class os $menuentry_id_option 'osprober-efi-D656-F2A8' {
savedefault
insmod part_gpt
insmod fat
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root D656-F2A8
else
search --no-floppy --fs-uuid --set=root D656-F2A8
fi
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
menuentry 'Windows Boot Manager (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-efi-9478-B6E2' {
savedefault
insmod part_gpt
insmod fat
set root='hd0,gpt1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 9478-B6E2
else
search --no-floppy --fs-uuid --set=root 9478-B6E2
fi
chainloader /efi/Microsoft/Boot/bootmgfw.efi
}
### END /etc/grub.d/30_os-prober ###
La section 30_os-prober
contient les «bonnes» grub
entrées du menu Windows que vous souhaitez conserver. La section 25_custom
contient les fausses entrées créées par boot-repair
. Vous ne pouvez pas modifier le fichier de configuration grub car il sera simplement écrasé lors de la prochaine update-grub
exécution.
La section a 25_custom
été créée par Boot Repair
Sur mon système:
$ locate 25_custom
/boot/efi/boot-repair/log/20171111_224241/nvme0n1p5/25_custom
/boot/efi/boot-repair/log/20171208_030854/nvme0n1p5/25_custom
/etc/grub.d/25_custom
Jetez un œil aux options Windows supplémentaires qui ont été configurées (et ne fonctionnent pas):
$ cat /boot/efi/boot-repair/log/20171208_030854/nvme0n1p5/25_custom
#!/bin/sh
exec tail -n +3 $0
menuentry "Windows UEFI bootmgfw.efi" {
search --fs-uuid --no-floppy --set=root D656-F2A8
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}
menuentry "Windows Boot UEFI loader" {
search --fs-uuid --no-floppy --set=root D656-F2A8
chainloader (${root})/EFI/Boot/bkpbootx64.efi
}
menuentry "EFI/ubuntu/fwupx64.efi" {
search --fs-uuid --no-floppy --set=root D656-F2A8
chainloader (${root})/EFI/ubuntu/fwupx64.efi
}
menuentry "Windows UEFI bootmgfw.efi sda1" {
search --fs-uuid --no-floppy --set=root 9478-B6E2
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}
menuentry "Windows Boot UEFI loader sda1" {
search --fs-uuid --no-floppy --set=root 9478-B6E2
chainloader (${root})/EFI/Boot/bkpbootx64.efi
Ce sont les entrées erronées boot-repair
créées dans /etc/grub.d/25_custom
qui ont ensuite été compilées \boot\grub\grub.cfg
.
Modification de Reverse Boot Repair en 25_custom
Utilisez sudo -H gedit /etc/grub.d/25_custom
et supprimez tout sauf les trois premières lignes:
#!/bin/sh
exec tail -n +3 $0
- Le fichier contient maintenant deux lignes avec du texte et une ligne vierge.
- Enregistrez le fichier.
- Courez
sudo update-grub
.
- Redémarrez.
Maintenant, votre menu n'est plus gonflé avec cinq fausses entrées de menu Windows qui ne fonctionnent pas.
Vérifiez à nouveau qu'il y a trois lignes 25_custom
Exécutez cette commande et vérifiez qu'elle 25_custom
comporte trois lignes:
$ wc /etc/grub.d/25_custom
3 6 30
# ^ ^ ^
# | | +--- Number of characters
# | +----------- Number of words
# +------------------- Number of lines
J'ai ajouté les #
commentaires pour déchiffrer la wc
sortie (nombre de mots).