ฉันใช้การตั้งค่าดูอัลบูต (Windows 10 + Xubuntu 18.04) มันทำงานได้ดีจนกระทั่งฉันออกจาก Xubuntu โดยไม่มีการอัปเดตเป็นเวลา 2 เดือน
จากนั้น หลังจากอัปเดต เมนู grub สำหรับเลือกระบบปฏิบัติการจะไม่แสดงอีกต่อไป นอกจากนี้ กระบวนการบู๊ตยังใช้เวลานานขึ้นอีกด้วย บางครั้งก็ค้างที่โลโก้ "Lenovno" หลังจาก POST
จากนั้นฉันก็ทำ sudo update_grub
:
[sudo] รหัสผ่านสำหรับผู้ใช้:
การจัดหาไฟล์ `/etc/default/grub'
กำลังสร้างไฟล์การกำหนดค่าด้วง ...
พบอิมเมจ linux: /boot/vmlinuz-5.4.0-74-generic
พบภาพ initrd: /boot/initrd.img-5.4.0-74-generic
พบอิมเมจ linux: /boot/vmlinuz-5.4.0-72-generic
พบภาพ initrd: /boot/initrd.img-5.4.0-72-generic
พบอิมเมจ linux: /boot/vmlinuz-5.3.0-62-generic
พบภาพ initrd: /boot/initrd.img-5.3.0-62-generic
พบ Windows Boot Manager บน /dev/sda2@/EFI/Microsoft/Boot/bootmgfw.efi
การเพิ่มรายการเมนูบู๊ตสำหรับการกำหนดค่าเฟิร์มแวร์ EFI
เสร็จแล้ว
ซึ่งไม่ได้แก้ไขปัญหา นี่คือของฉัน /etc/default/grub
:
# หากคุณเปลี่ยนไฟล์นี้ ให้เรียกใช้ 'update-grub' หลังจากนั้นเพื่ออัปเดต
# /boot/grub/grub.cfg
# สำหรับเอกสารฉบับเต็มของตัวเลือกในไฟล์นี้ โปรดดูที่:
# info -f grub -n 'การกำหนดค่าอย่างง่าย'
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=ซ่อน
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || สะท้อน Debian`
GRUB_CMDLINE_LINUX_DEFAULT="เงียบ"
GRUB_CMDLINE_LINUX=""
# ยกเลิกการแสดงความคิดเห็นเพื่อเปิดใช้งานการกรอง BadRAM แก้ไขให้เหมาะกับความต้องการของคุณ
# ใช้งานได้กับ Linux (ไม่ต้องใช้โปรแกรมแก้ไข) และกับเคอร์เนลใด ๆ ที่ได้รับ
# ข้อมูลแผนที่หน่วยความจำจาก GRUB (GNU Mach, เคอร์เนลของ FreeBSD ... )
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefe"
# Uncomment เพื่อปิดการใช้งานเทอร์มินัลกราฟิก (grub-pc เท่านั้น)
#GRUB_TERMINAL=คอนโซล
# ความละเอียดที่ใช้กับเทอร์มินัลกราฟิก
# โปรดทราบว่าคุณสามารถใช้เฉพาะโหมดที่การ์ดกราฟิกของคุณรองรับผ่าน VBE
# คุณสามารถดูได้ใน GRUB จริงด้วยคำสั่ง `vbeinfo'
#GRUB_GFXMODE=800x600
# เพิ่มสองบรรทัดเพื่อลดความละเอียดของด้วง (ขนาดตัวอักษรจึงใหญ่ขึ้น)
#GRUB_GFXMODE=800x600x32
#GRUB_GFXPAYLOAD_LINUX=เก็บ
# ไม่แสดงความคิดเห็นหากคุณไม่ต้องการให้ GRUB ส่งพารามิเตอร์ "root=UUID=xxx" ไปยัง Linux
#GRUB_DISABLE_LINUX_UUID=จริง
# ไม่แสดงความคิดเห็นเพื่อปิดการสร้างรายการเมนูโหมดการกู้คืน
#GRUB_DISABLE_RECOVERY="จริง"
# ยกเลิกการแสดงความคิดเห็นเพื่อรับเสียงบี๊บเมื่อเริ่มด้วง
#GRUB_INIT_TUNE="480 440 1"
โปรดทราบว่าฉันได้อัปเดต Xubuntu แล้ว ไม่ใช่ Windows 10 ดังนั้นฉันไม่คิดว่า windows จะยุ่งกับมัน
อัปเดต
/boot/grub/grub.cfg
#
# ห้ามแก้ไขไฟล์นี้
#
# มันถูกสร้างขึ้นโดยอัตโนมัติโดย grub-mkconfig โดยใช้เทมเพลต
# จาก /etc/grub.d และการตั้งค่าจาก /etc/default/grub
#
### เริ่มต้น /etc/grub.d/00_header ###
ถ้า [ -s $prefix/grubenv ]; แล้ว
ตั้งค่า have_grubenv=true
load_env
ไฟ
ถ้า [ "${next_entry}" ] ; แล้ว
ตั้งค่าเริ่มต้น = "${next_entry}"
ตั้งค่า next_entry=
save_env next_entry
ตั้งค่า boot_once=true
อื่น
ตั้งค่าเริ่มต้น = "0"
ไฟ
ถ้า [ x"${feature_menuentry_id}" = xy ]; แล้ว
menuentry_id_option="--id"
อื่น
เมนูentry_id_option=""
ไฟ
ส่งออกเมนูentry_id_option
ถ้า [ "${prev_saved_entry}" ]; แล้ว
ตั้ง save_entry="${prev_saved_entry}"
save_env ที่บันทึกแล้ว
ตั้งค่า prev_saved_entry=
save_env prev_saved_entry
ตั้งค่า boot_once=true
ไฟ
ฟังก์ชัน savedefault {
ถ้า [ -z "${boot_once}" ]; แล้ว
save_entry="${chosen}"
save_env ที่บันทึกแล้ว
ไฟ
}
บันทึกฟังก์ชันล้มเหลว {
ตั้งบันทึกล้มเหลว = 1
ถ้า [ -n "${have_grubenv}" ]; แล้วถ้า [ -z "${boot_once}" ]; จากนั้น save_env บันทึกล้มเหลว; ไฟ; ไฟ
}
ฟังก์ชัน load_video {
ถ้า [ x$feature_all_video_module = xy ]; แล้ว
insmod all_video
อื่น
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
ไฟ
}
ถ้า [ x$feature_default_font_path = xy ] ; แล้ว
ฟอนต์=ยูนิโค้ด
อื่น
insmod part_gpt
insmod ต่อ 2
ตั้งค่า root='hd0,gpt6'
ถ้า [ x$feature_platform_search_hint = xy ]; แล้ว
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root --hint-bios=hd0,gpt6 --hint-efi=hd0,gpt6 --hint-baremetal=ahci0,gpt6 41029103-4149-4d29-8b35 -805155d25e25
อื่น
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root 41029103-4149-4d29-8b35-805155d25e25
ไฟ
font="/usr/share/grub/unicode.pf2"
ไฟ
ถ้า loadfont $font ; แล้ว
ตั้ง gfxmode=อัตโนมัติ
load_วิดีโอ
insmod gfxterm
ตั้ง locale_dir=$คำนำหน้า/ภาษา
ตั้งค่า lang=en_US
insmod รับข้อความ
ไฟ
terminal_output gfxterm
ถ้า [ "${recordfail}" = 1 ] ; แล้ว
ตั้งหมดเวลา = 30
อื่น
ถ้า [ x$feature_timeout_style = xy ] ; แล้ว
ตั้งค่า timeout_style=hidden
ตั้งหมดเวลา = 10
# รหัสทางเลือกที่ซ่อนอยู่หมดเวลาในกรณีที่คุณสมบัติ timeout_style คือ
#ไม่พร้อมใช้งาน
elif sleep --interruptible 10 ; แล้ว
ตั้งหมดเวลา = 0
ไฟ
ไฟ
### สิ้นสุด /etc/grub.d/00_header ###
### เริ่มต้น /etc/grub.d/05_debian_theme ###
ตั้งค่า menu_color_normal=ขาว/ดำ
ตั้งค่า menu_color_highlight=สีดำ/สีเทาอ่อน
### สิ้นสุด /etc/grub.d/05_debian_theme ###
### เริ่มต้น /etc/grub.d/10_linux ###
ฟังก์ชัน gfxmode {
ตั้ง gfxpayload="${1}"
ถ้า [ "${1}" = "เก็บ" ]; แล้ว
ตั้งค่า vt_handoff=vt.handoff=1
อื่น
ตั้งค่า vt_handoff=
ไฟ
}
ถ้า [ "${recordfail}" != 1 ]; แล้ว
ถ้า [ -e ${prefix}/gfxblacklist.txt ]; แล้ว
ถ้า hwmatch ${prefix}/gfxblacklist.txt 3; แล้ว
ถ้า [ ${match} = 0 ]; แล้ว
ตั้ง linux_gfx_mode=เก็บ
อื่น
ตั้งค่า linux_gfx_mode=text
ไฟ
อื่น
ตั้งค่า linux_gfx_mode=text
ไฟ
อื่น
ตั้ง linux_gfx_mode=เก็บ
ไฟ
อื่น
ตั้งค่า linux_gfx_mode=text
ไฟ
ส่งออก linux_gfx_mode
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-41029103-4149-4d29-8b35-805155d25e25' {
บันทึกล้มเหลว
load_วิดีโอ
gfxmode $linux_gfx_mode
insmod gzio
ถ้า [ x$grub_platform = xxen ]; จากนั้น insmod xzio; insmod lzopio; ไฟ
insmod part_gpt
insmod ต่อ 2
ตั้งค่า root='hd0,gpt6'
ถ้า [ x$feature_platform_search_hint = xy ]; แล้ว
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root --hint-bios=hd0,gpt6 --hint-efi=hd0,gpt6 --hint-baremetal=ahci0,gpt6 41029103-4149-4d29-8b35 -805155d25e25
อื่น
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root 41029103-4149-4d29-8b35-805155d25e25
ไฟ
linux /boot/vmlinuz-5.4.0-74-generic root=UUID=41029103-4149-4d29-8b35-805155d25e25 ro สาดเงียบ $vt_handoff
initrd /boot/initrd.img-5.4.0-74-generic
}
เมนูย่อย 'ตัวเลือกขั้นสูงสำหรับ Ubuntu' $menuentry_id_option 'gnulinux-advanced-41029103-4149-4d29-8b35-805155d25e25' {
เมนูรายการ 'Ubuntu พร้อม Linux 5.4.0-74-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-74-generic-advanced-41029103-4149 -4d29-8b35-805155d25e25' {
บันทึกล้มเหลว
load_วิดีโอ
gfxmode $linux_gfx_mode
insmod gzio
ถ้า [ x$grub_platform = xxen ]; จากนั้น insmod xzio; insmod lzopio; ไฟ
insmod part_gpt
insmod ต่อ 2
ตั้งค่า root='hd0,gpt6'
ถ้า [ x$feature_platform_search_hint = xy ]; แล้ว
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root --hint-bios=hd0,gpt6 --hint-efi=hd0,gpt6 --hint-baremetal=ahci0,gpt6 41029103-4149-4d29-8b35 -805155d25e25
อื่น
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root 41029103-4149-4d29-8b35-805155d25e25
ไฟ
echo 'กำลังโหลด Linux 5.4.0-74-generic ...'
linux /boot/vmlinuz-5.4.0-74-generic root=UUID=41029103-4149-4d29-8b35-805155d25e25 ro สาดเงียบ $vt_handoff
echo 'กำลังโหลด ramdisk เริ่มต้น ...'
initrd /boot/initrd.img-5.4.0-74-generic
}
menuentry 'Ubuntu พร้อม Linux 5.4.0-74-generic (โหมดการกู้คืน)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-74-generic-recovery -41029103-4149-4d29-8b35-805155d25e25' {
บันทึกล้มเหลว
load_วิดีโอ
insmod gzio
ถ้า [ x$grub_platform = xxen ]; จากนั้น insmod xzio; insmod lzopio; ไฟ
insmod part_gpt
insmod ต่อ 2
ตั้งค่า root='hd0,gpt6'
ถ้า [ x$feature_platform_search_hint = xy ]; แล้ว
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root --hint-bios=hd0,gpt6 --hint-efi=hd0,gpt6 --hint-baremetal=ahci0,gpt6 41029103-4149-4d29-8b35 -805155d25e25
อื่น
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root 41029103-4149-4d29-8b35-805155d25e25
ไฟ
echo 'กำลังโหลด Linux 5.4.0-74-generic ...'
linux /boot/vmlinuz-5.4.0-74-generic root=UUID=41029103-4149-4d29-8b35-805155d25e25 ro การกู้คืน nomodeset dis_ucode_ldr
echo 'กำลังโหลด ramdisk เริ่มต้น ...'
initrd /boot/initrd.img-5.4.0-74-generic
}
เมนูรายการ 'Ubuntu พร้อม Linux 5.4.0-72-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-72-generic-advanced-41029103-4149 -4d29-8b35-805155d25e25' {
บันทึกล้มเหลว
load_วิดีโอ
gfxmode $linux_gfx_mode
insmod gzio
ถ้า [ x$grub_platform = xxen ]; จากนั้น insmod xzio; insmod lzopio; ไฟ
insmod part_gpt
insmod ต่อ 2
ตั้งค่า root='hd0,gpt6'
ถ้า [ x$feature_platform_search_hint = xy ]; แล้ว
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root --hint-bios=hd0,gpt6 --hint-efi=hd0,gpt6 --hint-baremetal=ahci0,gpt6 41029103-4149-4d29-8b35 -805155d25e25
อื่น
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root 41029103-4149-4d29-8b35-805155d25e25
ไฟ
echo 'กำลังโหลด Linux 5.4.0-72-generic ...'
linux /boot/vmlinuz-5.4.0-72-generic root=UUID=41029103-4149-4d29-8b35-805155d25e25 ro สาดเงียบ $vt_handoff
echo 'กำลังโหลด ramdisk เริ่มต้น ...'
initrd /boot/initrd.img-5.4.0-72-generic
}
menuentry 'Ubuntu พร้อม Linux 5.4.0-72-generic (โหมดการกู้คืน)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-72-generic-recovery -41029103-4149-4d29-8b35-805155d25e25' {
บันทึกล้มเหลว
load_วิดีโอ
insmod gzio
ถ้า [ x$grub_platform = xxen ]; จากนั้น insmod xzio; insmod lzopio; ไฟ
insmod part_gpt
insmod ต่อ 2
ตั้งค่า root='hd0,gpt6'
ถ้า [ x$feature_platform_search_hint = xy ]; แล้ว
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root --hint-bios=hd0,gpt6 --hint-efi=hd0,gpt6 --hint-baremetal=ahci0,gpt6 41029103-4149-4d29-8b35 -805155d25e25
อื่น
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root 41029103-4149-4d29-8b35-805155d25e25
ไฟ
echo 'กำลังโหลด Linux 5.4.0-72-generic ...'
linux /boot/vmlinuz-5.4.0-72-generic root=UUID=41029103-4149-4d29-8b35-805155d25e25 ro การกู้คืน nomodeset dis_ucode_ldr
echo 'กำลังโหลด ramdisk เริ่มต้น ...'
initrd /boot/initrd.img-5.4.0-72-generic
}
เมนูรายการ 'Ubuntu พร้อม Linux 5.3.0-62-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.3.0-62-generic-advanced-41029103-4149 -4d29-8b35-805155d25e25' {
บันทึกล้มเหลว
load_วิดีโอ
gfxmode $linux_gfx_mode
insmod gzio
ถ้า [ x$grub_platform = xxen ]; จากนั้น insmod xzio; insmod lzopio; ไฟ
insmod part_gpt
insmod ต่อ 2
ตั้งค่า root='hd0,gpt6'
ถ้า [ x$feature_platform_search_hint = xy ]; แล้ว
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root --hint-bios=hd0,gpt6 --hint-efi=hd0,gpt6 --hint-baremetal=ahci0,gpt6 41029103-4149-4d29-8b35 -805155d25e25
อื่น
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root 41029103-4149-4d29-8b35-805155d25e25
ไฟ
echo 'กำลังโหลด Linux 5.3.0-62-generic ...'
linux /boot/vmlinuz-5.3.0-62-generic root=UUID=41029103-4149-4d29-8b35-805155d25e25 ro สาดเงียบ $vt_handoff
echo 'กำลังโหลด ramdisk เริ่มต้น ...'
initrd /boot/initrd.img-5.3.0-62-generic
}
menuentry 'Ubuntu พร้อม Linux 5.3.0-62-generic (โหมดการกู้คืน)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.3.0-62-generic-recovery -41029103-4149-4d29-8b35-805155d25e25' {
บันทึกล้มเหลว
load_วิดีโอ
insmod gzio
ถ้า [ x$grub_platform = xxen ]; จากนั้น insmod xzio; insmod lzopio; ไฟ
insmod part_gpt
insmod ต่อ 2
ตั้งค่า root='hd0,gpt6'
ถ้า [ x$feature_platform_search_hint = xy ]; แล้ว
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root --hint-bios=hd0,gpt6 --hint-efi=hd0,gpt6 --hint-baremetal=ahci0,gpt6 41029103-4149-4d29-8b35 -805155d25e25
อื่น
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root 41029103-4149-4d29-8b35-805155d25e25
ไฟ
echo 'กำลังโหลด Linux 5.3.0-62-generic ...'
linux /boot/vmlinuz-5.3.0-62-generic root=UUID=41029103-4149-4d29-8b35-805155d25e25 ro การกู้คืน nomodeset dis_ucode_ldr
echo 'กำลังโหลด ramdisk เริ่มต้น ...'
initrd /boot/initrd.img-5.3.0-62-generic
}
}
### สิ้นสุด /etc/grub.d/10_linux ###
### เริ่มต้น /etc/grub.d/20_linux_xen ###
### สิ้นสุด /etc/grub.d/20_linux_xen ###
### เริ่มต้น /etc/grub.d/20_memtest86+ ###
### สิ้นสุด /etc/grub.d/20_memtest86+ ###
### เริ่มต้น /etc/grub.d/30_os-prober ###
menuentry 'Windows Boot Manager (เปิด / dev / sda2)' --class windows --class os $menuentry_id_option 'osprober-efi-C21E-27D0' {
insmod part_gpt
ไขมันไม่อิ่มตัว
ตั้งค่า root='hd0,gpt2'
ถ้า [ x$feature_platform_search_hint = xy ]; แล้ว
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 C21E-27D0
อื่น
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root C21E-27D0
ไฟ
ตัวโหลดโซ่ /EFI/Microsoft/Boot/bootmgfw.efi
}
ตั้งค่า timeout_style=menu
ถ้า [ "${timeout}" = 0 ]; แล้ว
ตั้งหมดเวลา = 10
ไฟ
### สิ้นสุด /etc/grub.d/30_os-prober ###
### เริ่มต้น /etc/grub.d/30_uefi-firmware ###
menuentry 'การตั้งค่าระบบ' $menuentry_id_option 'uefi-firmware' {
ตั้งค่า fw
}
### สิ้นสุด /etc/grub.d/30_uefi-firmware ###
### เริ่มต้น /etc/grub.d/40_custom ###
# ไฟล์นี้เป็นวิธีที่ง่ายในการเพิ่มรายการเมนูที่กำหนดเอง เพียงพิมพ์คำว่า
# รายการเมนูที่คุณต้องการเพิ่มหลังจากความคิดเห็นนี้ ระวังอย่าเปลี่ยน
# บรรทัด 'exec tail' ด้านบน
### สิ้นสุด /etc/grub.d/40_custom ###
### เริ่มต้น /etc/grub.d/41_custom ###
ถ้า [ -f ${config_directory}/custom.cfg ]; แล้ว
ที่มา ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; แล้ว
ที่มา $prefix/custom.cfg;
ไฟ
### สิ้นสุด /etc/grub.d/41_custom ###
sudo แยกส่วน -l
รุ่น: ATA TOSHIBA MQ01ABD0 (scsi)
ดิสก์ /dev/sda: 500GB
ขนาดเซกเตอร์ (โลจิคัล/กายภาพ): 512B/4096B
ตารางพาร์ทิชัน: gpt
แฟล็กดิสก์:
หมายเลข เริ่มต้น ขนาดสิ้นสุด ระบบไฟล์ แฟล็กชื่อ
1 1049kB 556MB 555MB ntfs พาร์ติชันข้อมูลพื้นฐานถูกซ่อนไว้, diag
2 556MB 661MB 105MB fat32 การบูตพาร์ติชันระบบ EFI, esp
3 661MB 677MB 16.8MB Microsoft พาร์ติชันที่สงวนไว้ msftres
4 677MB 285GB 285GB ntfs พาร์ติชันข้อมูลพื้นฐาน msftdata
5 285GB 393GB 107GB ntfs พาร์ติชันข้อมูลพื้นฐาน msftdata
6 393GB 500GB 107GB ต่อ4