Điểm:0

Why does grub's os-prober add entries with `linux` instead of `linuxefi`

lá cờ cn

On my system, I have two copies of CentOS 7 installed, and one copy of Windows 10 Pro. Every system is bootable and works correctly, and is fully up to date (kernels, packages, the works).

When I run grub2-mkconfig in either copy of CentOS (one host called pingu, the other pinga, for reasons), a new grub configuration is created. Part of it is generated through the os-prober template.

The entries generated by grub2-mkconfig for the copy of CentOS I booted into and started grub2-mkconfig from are correct. That is, they have menu entries with lines like these:

linuxefi /vmlinuz-5.4.147-1.el7.elrepo.x86_64 root=/dev/mapper/pinga-root ro crashkernel=auto spectre_v2=retpoline
initrdefi /initramfs-5.4.147-1.el7.elrepo.x86_64.img

However, entries generated for the other copy of CentOS 7, will look like this:

linux /vmlinuz-5.4.147-1.el7.elrepo.x86_64 root=/dev/mapper/pingu-root ro crashkernel=auto spectre_v2=retpoline
initrd /initramfs-5.4.147-1.el7.elrepo.x86_64.img

(note the linux and initrd instead of linuxefi and initrdefi)

I think this is due to four lines in the /etc/grub.d/30_os-prober like linux ${LKERNEL} ${LPARAMS} (etc.) - but why would this be the case? Why does os-prober assume the other copies of Linux should always be started with linux instead of linuxefi?

Am I missing some setting or override that would fix this?

For now, I have simply changed these lines in 30_os-prober to have linuxefi and initrdefi, but that feels like more than a bit of a hack.

Michael Hampton avatar
lá cờ cz
Câu hỏi này có vẻ lạc đề: Chúng tôi không chấp nhận các câu hỏi chung về máy tính. Bạn có thể nhận trợ giúp trên các trang web chị em của chúng tôi [su] hoặc [unix.se].
telcoM avatar
lá cờ pk
Đoán hoang dã: Có lẽ os-prober có thể bắt đầu các bản phân phối Linux có khả năng khởi động UEFI khác bằng cách tải chuỗi vào GRUB của bản phân phối đó, ví dụ: `bộ tải chuỗi /EFI//grubx64.efi`, nhưng vì bạn có *hai bản sao của cùng một bản phát hành chính của cùng một bản phân phối* nên không thể tìm/xác định "GRUB khác" là "đây là một phiên bản hệ điều hành riêng biệt" và chỉ nhìn thấy nhân và các tệp initramfs không có bộ tải khởi động UEFI rõ ràng đi cùng với chúng. Sau đó, nó loại bỏ trường hợp đặc biệt của UEFI và cố gắng xử lý nó bằng mã chung không phải UEFI ... điều này khiến nó bị sai.
Grismar avatar
lá cờ cn
@MichaelHampton - Tôi không có ý xúc phạm. Bạn đã nói như vậy bởi vì điều này là quá nhiều về phía người dùng? Máy trạm mà tôi đang nói đến thực ra là một phần của cụm các nút HPC mà chúng tôi đang cấu hình lại, vì vậy tôi đến đây vì nó giống một môi trường kinh doanh hơn. Là nội dung của câu hỏi thực sự lạc đề?
Grismar avatar
lá cờ cn
@telcoM khởi động, trao đổi, root và home cho cả cài đặt được tổ chức thành hai nhóm âm lượng riêng biệt, tôi có thể thực hiện điều gì khác trong cấu hình để tránh những gì bạn đang đề xuất không? Hay bạn có nghĩ rằng tình huống này ít nhiều không thể tránh khỏi với hai bản sao của cùng một bản phát hành chính của cùng một bản phân phối không phân biệt?

Đă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.