ฉันติดตั้งหลายระบบ อันดับแรก ตามลำดับเวลา Windows 10 จากนั้น Kubuntu 20.04 จากนั้น Fedora 34 KDE และ KaOS Fedora อยู่คนเดียวในไดรฟ์ที่สองโดยมี EFI แยกต่างหาก แต่แบ่งปันสิ่งนั้นกับ KaOS
การกำหนดค่าจึงเป็นดังนี้:
ประเภทขนาดเซกเตอร์สิ้นสุดการเริ่มต้นของอุปกรณ์
/dev/nvme0n1p1 2048 739327 737280 ระบบ EFI 360M
/dev/nvme0n1p2 739328 1001471 262144 128M Microsoft สงวนไว้
/dev/nvme0n1p3 1001472 457750527 456749056 217,8G ข้อมูลพื้นฐานของ Microsoft
/dev/nvme0n1p4 457750528 459757567 2007040 สภาพแวดล้อมการกู้คืน Windows 980M
/dev/nvme0n1p5 459757568 500107263 40349696 19,2G ข้อมูลพื้นฐานของ Microsoft
/dev/nvme0n1p6 500107264 644737022 144629759 ระบบไฟล์ Linux 69G
/dev/nvme0n1p7 644737023 976773134 332036112 ระบบไฟล์ Linux 158,3G
ประเภทขนาดเซกเตอร์สิ้นสุดการเริ่มต้นของอุปกรณ์
/dev/sda1 2048 1230847 1228800 ระบบ EFI 600M
/dev/sda2 251660288 1258293247 1006632960 ระบบไฟล์ Linux 480G
/dev/sda3 1258293248 1875384319 617091072 294,3G ข้อมูลพื้นฐานของ Microsoft
/dev/sda4 1230848 3327999 2097152 ระบบไฟล์ 1G Linux
/dev/sda5 3328000 251660287 248332288 ระบบไฟล์ Linux 118,4G
/dev/nvme0n1p1
เป็นพาร์ติชัน EFI สำหรับ Windows (ติดตั้งบน /dev/nvme0n1p2
ถึง 5
) และ Ubuntu (ติดตั้งบน nvme0n1p6
),
/dev/sda1
เป็น EFI สำหรับ Fedora (/dev/sda4
และ 5
) และ KaOS (/dev/nvme0n1p7
)
ตัวเลือกแปลก ๆ นี้เกี่ยวข้องกับข้อเท็จจริงที่ว่าการติดตั้ง Linux อื่น ๆ ในอดีตนอกเหนือจาก Kubuntu ที่ใช้ EFI เดียวกันกับ Windows ส่งผลให้การบูต Windows เสียหาย ที่ได้รับการแก้ไขโดยการติดตั้ง Kubuntu ใหม่ซึ่งเพิ่ม Windows ลงในเมนูบู๊ต ฉันต้องการหลีกเลี่ยงการรบกวน Windows ดังนั้นฉันจึงติดตั้ง Fedora บนไดรฟ์แยกต่างหากที่มี EFI ของตัวเอง จากนั้นเมื่อฉันติดตั้ง KaOS บนไดรฟ์เดียวกันกับ Windows ฉันได้เลือกใช้ EFI จากไดรฟ์อื่น แบ่งปันกับ Fedora
หลังจากติดตั้ง KaOS แล้ว เมนูบูต (รันโดย ระบบบูต
, ไม่ ด้วง
) ไม่แสดงระบบอื่นๆ.
เมนูบูตของ Fedora และ Ubuntu ถูกซ่อนอยู่ในอินเทอร์เฟซ Firmware UEFI Fedora รวมระบบทั้งหมด เมนูบูตของ kUbuntu รวมทั้งหมดยกเว้น Fedora.
ฉันใช้การซ่อมแซมการบูตพยายามทำให้เมนูบูตของ Fedora เป็นเมนูเริ่มต้นเพราะมันสมบูรณ์ที่สุด (โดยการติดตั้งด้วงบน sda1
) แต่ไม่มีตัวเลือกให้ "บูตก่อน" Fedora ดังนั้นฉันจึงเลือก Kubuntu ส่งผลให้ เมนูบูตของ Kubuntu กลายเป็นค่าเริ่มต้น ขาดเพียง Fedora
เนื่องจากตอนนี้ Kubuntu grub อยู่ในการควบคุมแล้ว ฉันต้องการใช้มันและเพิ่ม Fedora ลงไป การอัปเดตด้วงไม่ได้ช่วยอะไร
แก้ไข-1 หลังจากความคิดเห็นโดย @oldfred:
เปิดรายงานการซ่อมแซมบูท วางถัง -อีกด้วย ที่นี่ (ถามในความคิดเห็น)
แก้ไข-2 หลังจากตอบโดย @oldfred:
ฉันค้นหาไฟล์ Kubuntu grub.cfg แล้วและพบว่ารายการบูต Kubuntu ถูกกำหนดโดยไฟล์ boot/grub/grub.cfg
โดยเพิ่มรายการอาหารที่นั่น
เมื่อดูที่ไฟล์ grub.cfg ของ Fedora ที่ฉันพบ: ที่นั่น รายการ Fedora หายไป มีเพียงระบบที่เหลือเท่านั้นที่แสดงรายการ สิ่งเหล่านี้เท่านั้นที่จะเห็นใน Grub Customizer บน Fedora: รายการ Fedora ในรายการบูตของมันเองดูเหมือนจะถูกกำหนดโดยไฟล์แยกต่างหากใน /โหลดเดอร์/รายการ/
จากพาร์ติชัน root ext4 ขนาด 1 GB (sda4) การคัดลอกสิ่งเหล่านั้นบน /boot/efi/loader/entries/ ของ Kubuntu ไม่มีผลใดๆ
การไม่มีโมเดลของ Fedora สำหรับการเข้าสู่ Kubuntu boot/grub/grub.cfg
ฉันได้คัดลอกและแก้ไขบรรทัดที่ฉันพบที่นั่นสำหรับ KaOS â โดยเพิ่มข้อกำหนดเฉพาะของ Fedora นั่นก็คือ UUID ฉันไม่แน่ใจว่าการจัดรูปแบบถูกต้อง สำหรับ KaOS ในไฟล์นั้น โดยมีการปรับเฉพาะชื่อของการแจกจ่ายและ UUID เท่านั้น:
เมนูรายการ 'Fedora 34 KDE' --class Fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-4834b108-13c9-406c-8a7b-a9c53440283c' {
load_วิดีโอ
ตั้ง gfxpayload=เก็บ
insmod gzio
insmod part_gpt
ไขมันไม่อิ่มตัว
ตั้งค่า root='hd0,gpt1'
ถ้า [ x$feature_platform_search_hint = xy ]; แล้ว
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 F4F4-1172
อื่น
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root F4F4-1172
ไฟ
echo 'กำลังโหลด Linux linux ...'
linux /vmlinuz-linux root=UUID=4834b108-13c9-406c-8a7b-a9c53440283c rw เงียบ
echo 'กำลังโหลด ramdisk เริ่มต้น ...'
initrd /initramfs-linux.img
}
ด้วยวิธีนี้ชื่อ Fedora จะถูกเพิ่มเข้าไปในรายการบูต แต่ใช้งานไม่ได้:
ด้วย UUID ของ เพื่อน
พาร์ทิชัน (sda5
) ฉันได้รับข้อความ:
เมานต์: ใหม่/-รูท: ประเภทระบบไฟล์ที่ไม่รู้จัก âbtrfsâ
ฉันได้ลองใช้ UUID ของพาร์ติชัน ârootâ Fedora แล้ว (sda4
) และฉันได้รับข้อความ:
ข้อผิดพลาด: ติดตั้งอุปกรณ์รูทสำเร็จ แต่ไม่มี sbin/init
ฉันคิดว่าวิธีที่ถูกต้องคือเพิ่ม UUID ของ sda5
พาร์ทิชัน; ว่าเป็นไฟล์ที่ระบุในไฟล์ทั้งสามไฟล์ที่กล่าวถึงใน Fedora /โหลดเดอร์/รายการ/
ดูเหมือนว่า grub จะไม่รู้จัก btrfs
ฉันได้ติดตั้งไฟล์ที่เกี่ยวข้องกับ âbtrfsâ ทั้งหมดที่ฉันสามารถค้นหาได้โดยใช้ Apper ประมาณ 30 แพ็คเกจ แต่สิ่งเดียวกันก็เกิดขึ้น
แก้ไข-3
จากความคิดเห็นเพิ่มเติม ฉันเข้าใจว่าฉันต้องไม่แก้ไข boot/grub/grub.cfg
แต่แก้ไขไฟล์ ฯลฯ/grub.d/40_custom
และคัดลอกส่วนต่าง ๆ ของไฟล์อื่น แต่ฉันไม่เข้าใจว่าฉันควรใช้ไฟล์อะไรฉันไม่พบพาร์ติชันของ Fedora ที่เกี่ยวข้องกับการบูตของตัวเองและรายการของตัวเองในรายการการบูตนอกเหนือจากไฟล์ใน ต่อ4
- /โหลดเดอร์/รายการ
. มันมาจากหนึ่งในนั้นที่ฉันควรคัดลอกหรือไม่
แบบนี้ลอกมาจาก /media/root/651b659a-8fc5-46d6-b291-22b3b523ebaf/loader/entries/a037a4898b9540bfbc52f3f377b2ff4d-5.13.19-200.fc34.x86_64.conf
(ซึ่งมาจากพาร์ติชัน 1GB ex4 ของ Fedora sda4):
ชื่อ Fedora (5.13.19-200.fc34.x86_64) 34 (KDE Plasma)
รุ่น 5.13.19-200.fc34.x86_64
ลินุกซ์ /vmlinuz-5.13.19-200.fc34.x86_64
เริ่มต้น /initramfs-5.13.19-200.fc34.x86_64.img
ตัวเลือก root=UUID=4834b108-13c9-406c-8a7b-a9c53440283c ro rootflags=subvol=root rhgb เงียบ
grub_users $grub_users
grub_arg --ไม่จำกัด
เคอร์เนล grub_class
หรือเป็นรายการสำหรับ KaOS ในไฟล์ของ Kubununtu boot/grub/grub.cfg
โพสต์ภายใต้ EDIT-2 ด้านบน?