ทุกครั้งที่ฉันเรียกใช้boot-repair
จะเพิ่มตัวเลือกการบูต Windows 5พิเศษให้กับgrub
เมนูหลักของฉันที่ใช้งานไม่ได้ ในกรณีของคุณมันได้เพิ่ม11รายการพิเศษ!
grub.cfg
แสดงให้เห็นถึงปัญหา
ความลับสามารถพบได้ใน/etc/grub/grub.cfg
ไฟล์:
### 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 ###
ส่วน30_os-prober
นี้มีgrub
รายการเมนูWindows "ดี" ที่คุณต้องการเก็บไว้ มาตราประกอบด้วยรายการปลอมที่สร้างขึ้นโดย25_custom
boot-repair
คุณไม่สามารถแก้ไขไฟล์การกำหนดค่าด้วงเพราะมันจะถูกเขียนทับในครั้งต่อไปที่update-grub
ถูกเรียกใช้
ส่วน25_custom
ถูกสร้างโดย Boot Repair
ในระบบของฉัน:
$ 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
ดูตัวเลือก Windows เพิ่มเติมที่ตั้งค่าไว้ (และไม่ทำงาน):
$ 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
เหล่านี้เป็นรายการที่ผิดพลาดที่boot-repair
สร้างขึ้นใน/etc/grub.d/25_custom
ที่รวบรวมใน\boot\grub\grub.cfg
ภายหลัง
ย้อนกลับการเปลี่ยนแปลง Boot Repair เป็น 25_custom
ใช้sudo -H gedit /etc/grub.d/25_custom
และลบทุกอย่างยกเว้นสามบรรทัดแรก:
#!/bin/sh
exec tail -n +3 $0
- ตอนนี้ไฟล์มีสองบรรทัดพร้อมข้อความและหนึ่งบรรทัดว่าง
- บันทึกไฟล์
sudo update-grub
วิ่ง
- Reboot
ตอนนี้เมนูของคุณจะไม่เต็มไปด้วยห้ารายการเมนู Windows ปลอมที่ไม่ทำงาน
ตรวจสอบอีกครั้งว่ามีสามบรรทัด 25_custom
รันคำสั่งนี้และตรวจสอบว่า25_custom
มีสามบรรทัด:
$ wc /etc/grub.d/25_custom
3 6 30
# ^ ^ ^
# | | +--- Number of characters
# | +----------- Number of words
# +------------------- Number of lines
ฉันเพิ่ม#
ความคิดเห็นในการถอดรหัสwc
(จำนวนคำ) เอาท์พุท