Puncte:1

Kubuntu 20.04 (UEFI) grub-update nu găsește sistemul de o unitate diferită (Fedora 34 KDE)

drapel br

Am mai multe sisteme instalate; mai întâi, cronologic, Windows 10, apoi Kubuntu 20.04, apoi Fedora 34 KDE și apoi KaOS. Fedora este singur pe un al doilea drive, cu EFI separat, dar îl împărtășește cu KaOS.

Configuratia este astfel:

Dispozitiv Start End Sectors Size Type
/dev/nvme0n1p1 2048 739327 737280 Sistem EFI 360M
/dev/nvme0n1p2 739328 1001471 262144 128M Microsoft rezervat
/dev/nvme0n1p3 1001472 457750527 456749056 217,8G Date de bază Microsoft
/dev/nvme0n1p4 457750528 459757567 2007040 980M Mediu de recuperare Windows
/dev/nvme0n1p5 459757568 500107263 40349696 19,2G Date de bază Microsoft
/dev/nvme0n1p6 500107264 644737022 144629759 Sistem de fișiere Linux 69G
/dev/nvme0n1p7 644737023 976773134 332036112 158,3G Sistem de fișiere Linux



Dispozitiv Start End Sectors Size Type
/dev/sda1 2048 1230847 1228800 600M Sistem EFI
/dev/sda2 251660288 1258293247 1006632960 480G Sistem de fișiere Linux
/dev/sda3 1258293248 1875384319 617091072 294,3G Date de bază Microsoft
/dev/sda4 1230848 3327999 2097152 Sistem de fișiere Linux 1G
/dev/sda5 3328000 251660287 248332288 118,4G Sistem de fișiere Linux

introduceți descrierea imaginii aici

introduceți descrierea imaginii aici

/dev/nvme0n1p1 este partiția EFI pentru Windows (instalată pe /dev/nvme0n1p2 la 5) și Ubuntu (instalat pe nvme0n1p6), /dev/sda1 este EFI pentru Fedora (/dev/sda4 și 5) și KaOS (/dev/nvme0n1p7)

Această alegere ciudată este legată de faptul că instalarea anterioară a unui alt Linux, pe lângă Kubuntu, folosind același EFI ca și Windows, a dus la coruperea pornirii Windows; acest lucru a fost rezolvat prin reinstalarea Kubuntu, care a adăugat Windows în meniul său de pornire; Am vrut să evit o astfel de interferență cu Windows și, prin urmare, am instalat Fedora pe o unitate separată cu propriul EFI și apoi, când am instalat KaOS pe aceeași unitate cu Windows, am ales să folosesc EFI de pe cealaltă unitate, împărtășindu-l cu Fedora.

După instalarea KaOS, meniul său de pornire (rulat de sisteme-boot, nu grub) nu a arătat celelalte sisteme.

Meniurile de pornire ale Fedora și Ubuntu au fost ascunse în interfața Firmware UEFI. Fedora a inclus toate sistemele. Meniul de pornire al lui kUbuntu le includea pe toate, cu excepția Fedora.

Am folosit repararea de pornire încercând să fac din meniul de pornire al Fedorei unul implicit, deoarece era cel mai complet (prin instalarea grub pe sda1) dar nu a existat o opțiune de a „porni mai întâi” Fedora: așa că am selectat Kubuntu. Aceasta a avut ca rezultat Meniul de pornire al lui Kubuntu devine implicit, lipsind doar Fedora.

Având în vedere că Kubuntu grub este acum în control, aș dori să îl folosesc și să adaug Fedora la el. Actualizarea grub nu ajută.


EDIT-1, după comentariile lui @oldfred:

raport de reparare a pornirii pe pastebin -de asemenea AICI (intrebat in comentarii)

EDIT-2, după răspunsul lui @oldfred:

Am căutat fișierele Kubuntu grub.cfg și am descoperit că lista de pornire Kubuntu este determinată de fișier boot/grub/grub.cfg prin adăugarea unei intrări de meniu acolo.

Privind propriul fișier grub.cfg al Fedora, pe care l-am putut găsi: acolo, intrările Fedora lipsesc, doar restul sistemelor sunt listate. Numai acestea sunt văzute și în Grub Customizer pe Fedora: intrările Fedora din propria listă de boot par determinate de fișierele separate din /loader/entry/ din partiția ext4 root de 1 GB (sda4). Copierea celor de pe /boot/efi/loader/entries/ de pe Kubuntu nu are niciun efect.

A fi fără propriul model Fedora pentru o intrare în Kubuntu boot/grub/grub.cfg, am copiat și modificat liniile pe care le găsesc acolo pentru KaOS â adăugând specificațiile Fedora, și anume UUID-ul. Nu sunt sigur că formatarea este corectă, este exact aceea pentru KaOS din acel fișier, cu doar numele distribuției și UUID ajustate:

meniul „Fedora 34 KDE” --class Fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-4834b108-13c9-406c-8a7b-a9c53440283c' {
    încărcare_video
    setați gfxpayload=keep
    insmod gzio
    insmod part_gpt
    insmod grasime
    set root='hd0,gpt1'
    if [ x$feature_platform_search_hint = xy ]; atunci
      căutare --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 F4F4-1172
    altfel
      căutare --no-floppy --fs-uuid --set=root F4F4-1172
    fi
    echo „Se încarcă Linux Linux...”
    linux /vmlinuz-linux root=UUID=4834b108-13c9-406c-8a7b-a9c53440283c rw quiet
    echo „Se încarcă discul ram inițial...”
    initrd /initramfs-linux.img
}

În acest fel, numele Fedora este adăugat la lista de pornire, desigur, dar nu funcționează:

cu UUID-ul bfrs partiție (sda5) Primesc mesajul:

mount: new/-root: tip necunoscut de sistem de fișiere âbtrfsâ

Am încercat, pentru orice eventualitate, cu UUID-ul partiției ârootâ Fedora (sda4), și primesc mesajul:

Eroare: dispozitivul root a fost montat cu succes, dar sbin/init nu există

Calea corectă de urmat este, cred, să adăugați UUID-ul sda5 compartimentare; că este cel specificat în toate cele trei fișiere menționate mai sus pe Fedoraâs /loader/entry/

Se pare că grub nu recunoaște btrfs.

Am instalat toate fișierele legate de âbtrfsâ pe care le-am putut găsi folosind Apper, aproximativ 30 de pachete, dar se întâmplă la fel.


EDIT-3

Din comentarii mai îndepărtate înțeleg că nu trebuie să editez boot/grub/grub.cfg dar editați fișierul etc/grub.d/40_custom și copiați acolo părți din alte fișiere. Dar nu înțeleg ce fișiere ar trebui să folosesc.Nu am putut găsi pe partițiile proprii Fedora ceva legat de propriul boot și propria sa intrare în lista de boot, în afară de fișierele din ext4 - /loader/entries. Deci este de la unul dintre acelea pe care ar trebui să le copiez?

Este ceva de genul asta copiat /media/root/651b659a-8fc5-46d6-b291-22b3b523ebaf/loader/entries/a037a4898b9540bfbc52f3f377b2ff4d-5.13.19-200.fc344.x86_644. (adică din partiția 1GB ex4 sda4 a Fedora):

titlu Fedora (5.13.19-200.fc34.x86_64) 34 (KDE Plasma)
versiunea 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
opțiuni root=UUID=4834b108-13c9-406c-8a7b-a9c53440283c ro rootflags=subvol=root rhgb quiet 
grub_users $grub_users
grub_arg --nerestricted
nucleul grub_class

Sau este ceva asemănător cu intrarea pentru KaOS din fișierul lui Kubununtu boot/grub/grub.cfg postat sub EDIT-2 de mai sus?

drapel us
Te ajută `sudo update-grub`?
drapel br
@ArchismanPanigrahi - Găsește doar Windows și KaOS (care sunt pe aceeași unitate).
oldfred avatar
drapel cn
Să vedem detaliile, să folosim versiunea ppa cu programul de instalare live (a doua opțiune) sau orice instalare funcțională, nu Boot-Repair ISO: Vă rugăm să copiați și să inserați linkul pastebin în raportul de rezumat al informațiilor de pornire (nu postați raportul), nu rulați remedierea automată până nu este revizuită. https://help.ubuntu.com/community/Boot-Repair Aș crede că os-prober ar găsi ESP-ul pe sda.Dar dacă Fedora folosește LVM, trebuie să instalați driverul lvm2 în Kubuntu și să montați LVM-ul Fedora. Puteți schimba ordinea de pornire cu efibootmgr. Sau în setările UEFI (nu în meniu). http://askubuntu.com/questions/485261/change-boot-order-using-efibootmgr
drapel br
@oldfred - Ce procedură ar trebui să inițiez cu repararea boot-ului ppa? cea automată/implicit, sau unele opțiuni specifice? Voi încerca asta cât mai curând posibil.
oldfred avatar
drapel cn
Doar raportul pentru a vă putea vedea configurația. Apoi cineva care examinează raportul poate face sugestii mai bune cu privire la remedieri. Aș putea adăuga mai întâi driverul lvm2 la Kubuntu.
drapel br
@oldfred - Fedora folosește btrfs pentru partiția de sistem, așa cum se vede în imagine.
oldfred avatar
drapel cn
Raportul ar arăta asta și multe alte detalii, așa că știm ce să sugerăm.
drapel br
@oldfred - Vă rugăm să vedeți editarea cu link.
Puncte:0
drapel cn

Am instalat Fedora o dată, dar înainte folosea btrfs. Dar intrarea mea grub din Ubuntu a fost încărcată în lanț sau fișierul de configurare la intrarea de boot UEFI. Le-am adăugat la 40_custom în grub Ubuntu. UUID-urile sunt unice și trebuie să le schimbați la UUID-urile instalării. Pentru a porni direct la grub

intrarea de meniu „Fedora UEFI” {
  căutare --file --no-floppy --set=root F496-1330
  chainloader (${root})/efi/fedora/grub.cfg
}

De multe ori puteți doar să copiați o strofă de boot pentru grub de la o instalare la alta. Asta face os-prober. Este posibil să aveți nevoie de drivere suplimentare (btrfs) sau fișierele .mod ale grub2 (cum ar fi btrfs.mod) pentru ca acesta să recunoască diferite formate sau configurații. Dacă utilizați rEFInd, trebuie să traduceți strofa grub în refind.conf. Un fișier de configurare este o legătură către un alt fișier care este grub sau are strofe de pornire de tip grub.

intrarea de meniu „Fedora UEFI” {
search.fs_uuid a9bd9a65-bc8c-41b1-95b1-2dceb66b2652 root hd1,gpt2 
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
}

Folosind meniul 40_custom & Custom

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

Configfile:

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

drapel br
Se pare că grub nu recunoaște btrfs. Vă rugăm să vedeți corpul întrebării EDIT-2.
oldfred avatar
drapel cn
În strofa 40_custom boot adăugați `insmod btrfs.mod` înainte de strofa de boot pentru Fedora. http://www.gnu.org/software/grub/manual/grub/html_node/insmod.html#insmod Grub.cfg dvs. poate avea intrări similare pentru NTFS sau gpt sau similar. Grub include multe drivere, dar are capacitatea de a adăuga mai multe.
drapel br
Mi-a fost mai simplu să copiez partea de intrare a meniului KaOS pentru Fedora în `boot/grub/grub.cfg`, deoarece nu înțeleg ce să pun exact în `40_custom` - și ceea ce am pus nu a funcționat. Deci, acum am adăugat `insmod btrfs` alături de intrări similare sub meniul Fedora din `grub.cfg`: acum primesc mesajul `/boot/grub/x86_64-efi/btrfs.mod not found`. Dar acel dosar este acolo.
oldfred avatar
drapel cn
Nu editați grub.cfg deoarece este rescris cu fiecare grub, kernel sau sudo update-grub. Adăugați strofa de pornire la 40_custom. Și ar trebui să fie doar o copie ca și tine. Postați strofa de boot pe care o copiați. Nu este afișat în raportul Boot-Repair. Folosiți o strofă Fedora de la Fedora sau KaOS? S-ar putea să le copiez pe ambele în 40_custom
drapel br
Intrările Fedora din propria listă de pornire (pe care o pot accesa în Interfața Firmware) sunt determinate de fișiere separate în `/loader/entries/` (din partiția root ext4 sda4 de 1 GB), așa cum am spus în EDIT-2. Le voi posta într-o nouă editare și vă rog să-mi spuneți dacă aș putea adăuga acel conținut la `40_custom` - sau ce anume ar trebui să adaug acolo. `40_custom` acceptă meniuri sub forma grub.conf? (ca cel pe care l-am postat deja? acela este copiat din grub.conf Kubuntu referitor la KaOS).
drapel br
Vă rugăm să vedeți EDIT-3 în cauză.
oldfred avatar
drapel cn
Editarea dvs. 2 este o strofă grub boot. Dar dacă Ubuntu este pe hd0, aceasta este unitatea de pornire și atunci trebuie să schimbați toate hd0 la hd1, deoarece aceasta este a doua unitate. Ar trebui să găsească ESP pe sda ​​după UUID, dar de multe ori a trebuit să editez manual intrarea hdX în timp ce pornesc cu editarea Grub. Strofele edit3 sunt tipice pentru syslinux, systemD sau rEFInd, dar nu le cunosc bine. Puteți traduce de la unul la altul, deoarece ambele au aceleași informații, doar un format diferit. M-am gândit că os-prober ar putea face traducerea dacă găsește acel fișier .conf de stil, dar evident că nu funcționează pentru tine.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.