Điểm:1

Bản cập nhật grub Kubfox 20.04 (UEFI) không tìm thấy hệ thống của một ổ đĩa khác (Fedora 34 KDE)

lá cờ br

Tôi đã cài đặt nhiều hệ thống; đầu tiên, theo trình tự thời gian, Windows 10, sau đó là Kubfox 20.04, sau đó là Fedora 34 KDE và sau đó là KaOS. Fedora ở một mình trên ổ đĩa thứ hai, với EFI riêng, nhưng chia sẻ điều đó với KaOS.

Do đó, cấu hình là:

Thiết bị Bắt đầu Kết thúc Sector Kích thước Loại
/dev/nvme0n1p1 2048 739327 737280 Hệ thống EFI 360M
/dev/nvme0n1p2 739328 1001471 262144 128M dành riêng cho Microsoft
/dev/nvme0n1p3 1001472 457750527 456749056 217,8G Dữ liệu cơ bản của Microsoft
/dev/nvme0n1p4 457750528 459757567 2007040 980M môi trường khôi phục Windows
/dev/nvme0n1p5 459757568 500107263 40349696 19,2G Dữ liệu cơ bản của Microsoft
/dev/nvme0n1p6 500107264 644737022 144629759 Hệ thống tệp Linux 69G
/dev/nvme0n1p7 644737023 976773134 332036112 Hệ thống tập tin Linux 158,3G



Thiết bị Bắt đầu Kết thúc Sector Kích thước Loại
/dev/sda1 2048 1230847 1228800 Hệ thống EFI 600M
/dev/sda2 251660288 1258293247 1006632960 Hệ thống tệp Linux 480G
/dev/sda3 1258293248 1875384319 617091072 294,3G Dữ liệu cơ bản của Microsoft
/dev/sda4 1230848 3327999 2097152 Hệ thống tập tin 1G Linux
/dev/sda5 3328000 251660287 248332288 Hệ thống tập tin Linux 118,4G

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

/dev/nvme0n1p1 là phân vùng EFI cho Windows (được cài đặt trên /dev/nvme0n1p2 đến 5) và Ubuntu (được cài đặt trên nvme0n1p6), /dev/sda1 là EFI cho Fedora (/dev/sda45) và KaOS (/dev/nvme0n1p7)

Lựa chọn kỳ lạ này có liên quan đến thực tế là việc cài đặt Linux khác trước đây, bên cạnh Kubfox, sử dụng cùng EFI như Windows, đã dẫn đến lỗi khởi động Windows; đã được khắc phục bằng cách cài đặt lại Kubfox, đã thêm Windows vào menu khởi động của nó; Tôi muốn tránh sự can thiệp như vậy với Windows và do đó, tôi đã cài đặt Fedora trên một ổ đĩa riêng với EFI của chính nó, sau đó, khi tôi cài đặt KaOS trên cùng một ổ đĩa với Windows, tôi đã chọn sử dụng EFI từ ổ đĩa kia. chia sẻ nó với Fedora.

Sau khi cài đặt KaOS, menu khởi động của nó (được điều hành bởi khởi động hệ thống, không phải ấu trùng) không hiển thị các hệ thống khác.

Các menu khởi động của Fedora và Ubuntu đã bị ẩn trong giao diện Firmware UEFI. Fedora bao gồm tất cả các hệ thống. Menu khởi động của kUbuntu bao gồm tất cả ngoại trừ Fedora.

Tôi đã sử dụng sửa chữa khởi động để cố gắng biến menu khởi động của Fedora thành menu mặc định vì nó hoàn thiện nhất (bằng cách cài đặt grub trên sda1) nhưng không có tùy chọn để "khởi động trước" Fedora: vì vậy, tôi đã chọn Kubuntu. Điều này dẫn đến Menu khởi động của Kubfox trở thành mặc định, chỉ thiếu Fedora.

Cho rằng Kubfox grub hiện đang được kiểm soát, tôi muốn sử dụng nó và chỉ cần thêm Fedora vào nó. Cập nhật grub không giúp được gì.


CHỈNH SỬA-1, sau nhận xét của @oldfred:

báo cáo sửa chữa khởi động trên thùng rác -Mà còn ĐÂY (hỏi trong phần bình luận)

EDIT-2, sau câu trả lời của @oldfred:

Tôi đã tra cứu các tệp grub.cfg của Kubfox và thấy rằng danh sách khởi động Kubuntu được xác định bởi tệp khởi động/grub/grub.cfg bằng cách thêm một menuentry ở đó.

Tôi có thể tìm thấy tệp grub.cfg của riêng Fedora: ở đó, các mục Fedora bị thiếu, chỉ phần còn lại của hệ thống được liệt kê. Chỉ những thứ này cũng được nhìn thấy trong Grub Customizer trên Fedora: Các mục Fedora trong danh sách khởi động của riêng nó dường như được xác định bởi các tệp riêng biệt trong /loader/mục/ từ phân vùng ext4 gốc 1 GB (sda4). Sao chép chúng trên Kubfoxâs /boot/efi/loader/entries/ không có hiệu lực.

Không có mô hình riêng của Fedora cho mục nhập trong Kubfox khởi động/grub/grub.cfg, Tôi đã sao chép và sửa đổi các dòng mà tôi tìm thấy ở đó cho KaOS – bằng cách thêm các thông số kỹ thuật của Fedora, cụ thể là UUID. Tôi không chắc định dạng có đúng không, chính xác là định dạng dành cho KaOS trong tệp đó, chỉ có tên phân phối và UUID được điều chỉnh:

menuentry 'Fedora 34 KDE' --class Fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-4834b108-13c9-406c-8a7b-a9c53440283c' {
    tải_video
    đặt gfxpayload=giữ
    insmod gzio
    insmod part_gpt
    chất béo insmod
    đặt gốc='hd0,gpt1'
    nếu [ x$feature_platform_search_hint = xy ]; sau đó
      tìm kiếm --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 F4F4-1172
    khác
      tìm kiếm --no-floppy --fs-uuid --set=root F4F4-1172
    fi
    echo 'Đang tải linux linux ...'
    linux /vmlinuz-linux root=UUID=4834b108-13c9-406c-8a7b-a9c53440283c rw yên tĩnh
    echo 'Đang tải đĩa ram ban đầu ...'
    initrd /initramfs-linux.img
}

Theo cách này, tên Fedora tất nhiên được thêm vào danh sách khởi động, nhưng không hoạt động:

với UUID của bfrs vách ngăn (sda5) Tôi nhận được tin nhắn:

mount: new/-root: loại hệ thống tập tin không xác định âbtrfsâ

Tôi đã thử, đề phòng, với UUID của phân vùng ârootâ Fedora (sda4) và tôi nhận được thông báo:

Lỗi: thiết bị gốc được gắn thành công nhưng sbin/init không tồn tại

Theo tôi, cách chính xác là thêm UUID của sda5 vách ngăn; rằng đó là tệp được chỉ định trong cả ba tệp đã nói ở trên trên Fedoraâs /loader/mục/

Có vẻ như grub không nhận ra btrfs.

Tôi đã cài đặt tất cả các tệp liên quan đến âbtrfsâ mà tôi có thể tìm thấy bằng Apper, khoảng 30 gói, nhưng điều tương tự cũng xảy ra.


CHỈNH SỬA-3

Từ những bình luận xa hơn tôi hiểu tôi không được chỉnh sửa khởi động/grub/grub.cfg nhưng chỉnh sửa tập tin vv/grub.d/40_custom và sao chép các phần của các tập tin khác. Nhưng tôi không hiểu những tập tin nào tôi nên sử dụng.Tôi không thể tìm thấy trên các phân vùng riêng của Fedora thứ gì đó liên quan đến khởi động của chính nó và mục riêng của nó trong danh sách khởi động ngoài các tệp trong máy lẻ4 - /loader/mục nhập. Vì vậy, nó là từ một trong những cái mà tôi nên sao chép?

Có phải cái gì đó như thế này được sao chép từ /media/root/651b659a-8fc5-46d6-b291-22b3b523ebaf/loader/entries/a037a4898b9540bfbc52f3f377b2ff4d-5.13.19-200.fc34.x86_64.conf (đó là từ phân vùng ex4 1GB của Fedora sda4):

tiêu đề Fedora (5.13.19-200.fc34.x86_64) 34 (KDE Plasma)
phiên bản 5.13.19-200.fc34.x86_64
linux /vmlinuz-5.13.19-200.fc34.x86_64
initrd /initramfs-5.13.19-200.fc34.x86_64.img
tùy chọn root=UUID=4834b108-13c9-406c-8a7b-a9c53440283c ro rootflags=subvol=root rhgb yên tĩnh 
grub_users $grub_users
grub_arg --không giới hạn
hạt nhân grub_class

Hay nó giống như mục dành cho KaOS trong tệp của Kubununtu khởi động/grub/grub.cfg được đăng dưới EDIT-2 ở trên?

lá cờ us
`Sudo update-grub` có giúp được gì không?
lá cờ br
@ArchismanPanigrahi - Nó chỉ tìm thấy Windows và KaOS (nằm trên cùng một ổ đĩa).
oldfred avatar
lá cờ cn
Hãy xem chi tiết, sử dụng phiên bản ppa với trình cài đặt trực tiếp của bạn (tùy chọn thứ 2) hoặc bất kỳ bản cài đặt nào đang hoạt động, không phải Boot-Repair ISO: Vui lòng sao chép và dán liên kết pastebin vào báo cáo tóm tắt Thông tin khởi động (không đăng báo cáo), không chạy sửa lỗi tự động cho đến khi được xem xét. https://help.ubuntu.com/community/Boot-Repair Tôi nghĩ os-prober sẽ tìm thấy ESP trên sda.Nhưng nếu Fedora sử dụng LVM, bạn cần cài đặt trình điều khiển lvm2 trong Kubuntu & mount LVM của Fedora. Bạn có thể thay đổi thứ tự khởi động bằng efibootmgr. Hoặc trong cài đặt UEFI (không phải menu). http://askubuntu.com/questions/485261/change-boot-order-using-efibootmgr
lá cờ br
@oldfred - Tôi nên bắt đầu quy trình nào với quá trình sửa chữa khởi động ppa? tự động/mặc định hoặc một số lựa chọn cụ thể? Tôi sẽ thử điều đó càng sớm càng tốt.
oldfred avatar
lá cờ cn
Chỉ cần báo cáo để chúng tôi có thể xem cấu hình của bạn. Sau đó, ai đó xem xét báo cáo có thể đưa ra đề xuất tốt hơn về các bản sửa lỗi. Tôi có thể thêm trình điều khiển lvm2 vào Kubfox trước.
lá cờ br
@oldfred - Fedora sử dụng btrfs cho phân vùng hệ thống như trong hình.
oldfred avatar
lá cờ cn
Báo cáo sẽ hiển thị điều đó và nhiều chi tiết khác, vì vậy chúng tôi biết nên đề xuất điều gì.
lá cờ br
@oldfred - Vui lòng xem chỉnh sửa bằng liên kết.
Điểm:0
lá cờ cn

Tôi đã cài đặt Fedora một lần, nhưng trước đó nó sử dụng btrfs. Nhưng mục grub của tôi trong Ubuntu đã được tải chuỗi hoặc tệp cấu hình vào mục khởi động UEFI. Tôi đã thêm những thứ này vào 40_custom trong grub của Ubuntu. UUID là duy nhất và bạn cần thay đổi UUID của bản cài đặt của mình. Để khởi động trực tiếp vào grub

menuentry "Fedora UEFI" {
  tìm kiếm --file --no-floppy --set=root F496-1330
  trình tải chuỗi (${root})/efi/fedora/grub.cfg
}

Bạn thường chỉ có thể sao chép đoạn trích khởi động cho grub từ bản cài đặt này sang bản cài đặt khác. Đó là những gì os-prober đang làm. Bạn có thể cần trình điều khiển bổ sung (btrfs) hoặc tệp .mod của grub2 (như btrfs.mod) để nó nhận ra các định dạng hoặc cấu hình khác nhau. Nếu sử dụng rEFInd, bạn phải dịch khổ thơ grub sang refind.conf. Một tệp cấu hình là một liên kết đến một tệp khác là grub hoặc có các khổ thơ khởi động kiểu grub.

menuentry "Fedora UEFI" {
search.fs_uuid a9bd9a65-bc8c-41b1-95b1-2dceb66b2652 gốc hd1,gpt2 
đặt tiền tố=($root)'/boot/grub'
tệp cấu hình $prefix/grub.cfg
}

Sử dụng menu 40_custom & Custom

https://help.ubuntu.com/community/Grub2/CustomMenus

Tập tin cấu hình:

https://www.gnu.org/software/grub/manual/grub/grub.html#Multi_002dboot-manual-config

https://ubuntuforums.org/showthread.php?t=2076205&page=54&p=13788092#post13788092

lá cờ br
Có vẻ như grub không nhận ra btrfs. Vui lòng xem trong nội dung câu hỏi EDIT-2.
oldfred avatar
lá cờ cn
Trong khổ thơ khởi động 40_custom, hãy thêm `insmod btrfs.mod` trước khổ thơ khởi động cho Fedora. http://www.gnu.org/software/grub/manual/grub/html_node/insmod.html#insmod Grub.cfg của bạn có thể có các mục tương tự cho NTFS hoặc gpt hoặc tương tự. Grub xây dựng trong nhiều trình điều khiển, nhưng có insmod để bổ sung thêm.
lá cờ br
Đối với tôi, việc sao chép phần nhập trình đơn KaOS cho Fedora trong `boot/grub/grub.cfg` trở nên đơn giản hơn, vì tôi không hiểu chính xác những gì cần đặt trong `40_custom` - và những gì tôi đã đặt không hoạt động. Vì vậy, bây giờ tôi đã thêm `insmod btrfs` cùng với các mục tương tự trong menu Fedora trong `grub.cfg`: bây giờ tôi nhận được thông báo `/boot/grub/x86_64-efi/btrfs.mod not found`. Nhưng tập tin đó ở đó.
oldfred avatar
lá cờ cn
Bạn không thể chỉnh sửa grub.cfg vì nó được viết lại với mọi grub, kernel hoặc sudo update-grub. Bạn thêm đoạn khởi động vào 40_custom. Và nó chỉ nên là một bản sao như bạn đã làm. Đăng khổ thơ khởi động của bạn mà bạn đang sao chép. Nó không được hiển thị trong báo cáo của Boot-Repair. Bạn có đang sử dụng đoạn thơ Fedora từ Fedora hoặc KaOS không? Tôi có thể sao chép cả hai vào 40_custom
lá cờ br
Các mục Fedora trong danh sách khởi động của chính nó (mà tôi có thể truy cập trong Giao diện phần sụn) được xác định bởi các tệp riêng biệt trong `/loader/entries/` (từ sda4 phân vùng ext4 gốc 1 GB của nó) như tôi đã nói trong EDIT-2. Tôi sẽ đăng chúng trong một bản chỉnh sửa mới và vui lòng cho tôi biết liệu tôi có thể thêm nội dung đó vào `40_custom` hay không - hoặc chính xác thì tôi nên thêm nội dung gì vào đó. `40_custom` có chấp nhận các menu ở dạng grub.conf không? (giống như cái tôi đã đăng rồi? cái đó được sao chép từ grub.conf của Kubfox liên quan đến KaOS).
lá cờ br
Vui lòng xem EDIT-3 trong câu hỏi.
oldfred avatar
lá cờ cn
Bản chỉnh sửa 2 của bạn là một khổ thơ khởi động grub. Nhưng nếu Ubuntu ở trên hd0, đó là ổ đĩa khởi động và sau đó bạn cần thay đổi tất cả hd0 thành hd1 vì đó là ổ đĩa thứ hai. Nó thực sự sẽ tìm thấy ESP trên sda bởi UUID, nhưng tôi thường phải chỉnh sửa mục nhập hdX theo cách thủ công trong khi khởi động bằng chỉnh sửa của grub. Khổ thơ edit3 là điển hình của syslinux, systemD hoặc rEFInd, nhưng tôi không biết rõ về chúng. Bạn có thể dịch từ cái này sang cái khác vì cả hai đều có cùng thông tin, chỉ khác định dạng. Tôi nghĩ os-prober có thể thực hiện dịch nếu nó tìm thấy tệp .conf kiểu đó, nhưng rõ ràng là nó không hoạt động với bạn.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.