Integrare Fedora nel Grub di Ubuntu

Dovrebbe essere sufficiente ad aggiornare grub… prova a controllare se os-prober riesce a rilevare Fedora, altrimenti l’unico modo è crearti una voce personalizzata su grub.

update-grub lo avevo fatto ma non risolve nulla, per vedere se Os prober rileva Fedora che comando devo lanciare?
La voce personalizzata cosa intendi? Una riga di comando in più?
Come andrebbe scritta?

sempre sudo os-prober da ubuntu… eventualmente non dovesse vedere Fedora, prova a reinstallare grub (su fedora) usando questo comando

dnf reinstall grub2-efi grub2-efi-modules shim

Install the bootloader files

Ho tralasciato grub2-efi-modules negli ultimi passaggi, potrebbe essere utile reinstallare anche questo pacchetto… se dopo aver rigenerato grub su fedora dovresti avere ancora problemi a farla rilevare, non ti rimane altra alternativa che aggiungere una voce personalizzata sul grub di ubuntu.

Devi editare il file /etc/grub.d/40_custom aggiungendo i parametri per far avviare fedora.

Questa è una configurazione di esempio, eventualmente si dovrebbe capire quali parametri utilizzare per far avviare correttamente Fedora…

#!/usr/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry 'Fedora' {
        insmod part_gpt
        insmod fat
        set root='hd0,gpt1'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1  FC97-AD6D
        else
          search --no-floppy --fs-uuid --set=root FC97-AD6D
        fi
        chainloader /EFI/fedora/grubx64.efi

ho installato il pacchetto, come si rigenera il grub su fedora? sudo update-grub non funziona.

non avrei idea di come configurarlo il grub con uno script, purtroppo non ho queste competenze avanzate.
se posso capire quali sono i parametri che servono posso trovarli se riesco e se mi puoi aiutare a scrivere lo script, altrimenti nessun problema, me ne rimango così.
grazie

Eh no… non funziona quel comando su fedora.

Tra l’altro, a dover di cronaca, quel comando è solo un alias che utilizza ubuntu.

Il comando per rigenerare grub su fedora lo avevo specificato qualche post fa

grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

ah ok, già provato ma niente da fare, ho provato anche a riavviare ma il grub di ubuntu non lo vede.

ma provando con boot repair pensi che si possa risolvere?

non ho capito se provando a dare il comando sudo os-prober su ubuntu, viene rilevata in qualche modo fedora oppure non lo vede comunque

Ora mi sta sorgendo il dubbio che Ubuntu non riesca a vedere Fedora per qualche sorta di incompatibilità con BootLoaderSpec Changes/BootLoaderSpecByDefault
Probabilmente non trova dati comprensibili sul file di configurazione di grub presente sulla partizione efi

Qualcuno sui vari forum diceva di installare il pacchetto lvm2 e fare upgrade del grub.

Non credo possa essere utile… ormai Fedora usa btrfs come file system predefinito.

Invece sto iniziando a ricordare che oltre, al BootLoaderSpec, Fedora ha introdotto anche altri cambiamenti… ha modificato ad esempio la cartella dove viene salvata la configurazione di grub Changes/UnifyGrubConfig e anche questo potrebbe rappresentare un problema per Ubuntu.

Non so se a questo punto sia il caso di provare a montare la partizione boot di fedora su Ubuntu per vedere se riesce ad accedere ai vari file di configurazione… o eventualmente condividere la stessa partizione, ma sinceramente è altamente sconsigliabile.

Ci avevo pensato, bisogna modificare il file fstab su Ubuntu (UUID)? Mettere UUID di EFI di fedora
e poi lanciare unmount e mount e poi aggiornare il Grub?
Devo ripristinare prima fstab su fedora?

Non la partizione efi, solo la partizione boot… ma andrebbe montata su un percorso diverso rispetto alla boot di ubuntu. Meglio evitare problemi, perché non è molto consigliabile condividere la cartella/partizione tra due distro.

Puoi tranquillamente continuare ad usare la stessa partizione efi, ma la partizione boot dovresti montarla su un percoro diverso su ubuntu… è giusto per fare un tentativo, non ti garantisco che possa funzionare.

Quali comandi andrebbero utilizzati per montare /dev/sda5 su Ubuntu? È questa la partizione di boot giusto? Non la sda1 che è la EFI…
Montata su percorso diverso dove?
Il comando dovrebbe essere:
mount /dev/sda5 /boot/efi/fedoraboot
Potrebbe essere la cartella dove montare la partizione?

Su ubuntu dovresti creare una cartella… dove ti pare. Andrebbe bene anche sul percorso /media/boot, quindi usa il comando

sudo mkdir /media/boot

poi ti basta aggiungere sul file /etc/fstab di ubuntu l’uuid della partizione /dev/sda5 assegnando come punto di montaggio la cartella creata

UUID=dc6a1fee-3ec7-4fbb-8d8c-58a199f746cc /media/boot                   ext4    defaults        1 2

salvi e monti la partizione con

sudo mount /media/boot

e provi a vedere se os-prober riesce a trovare qualcosa… sinceramente però non so se può essere utile.

Mi pare di aver letto da qualche parte che qualcuno aveva risolto montando la partizione di boot.

purtroppo ho provato ma non ha portato nessun risultato, ho anche fatto l’update del grub ma niente.
l’ultimo scoglio rimane lo script ma come ti dicevo è molto complicato per me, se puoi aiutarmi a tempo perso, altrimenti non fa niente, intanto ti ringrazio per tutte le nozioni che mi hai dato sulle partizioni che non conoscevo.

Ho modificato lo script che avevo aggiunto precedentemente Integrare Fedora nel Grub di Ubuntu teoricamente dovrebbe avviarsi… sono abbastanza sicuro che i parametri della partizion efi siano quelli immessi, essendo la prima partizione del ssd si deve indicare con hd0,gpt1
hd0 indica l’id dell’hard disk, mentre gpt1 indica l’id della partizione.

Ovviamente poi ricordati di rigenerare la configurazione grub di Ubuntu… la voce dovrebbe elencartela di sicuro, c’è da vedere se poi avvia effettivamente il sistema.

Dato che montare la partizione boot di Fedora su Ubuntu non è servito, potresti smontarla

sudo umount /media/boot

rimuovere la stringa aggiunta da fstab e cancellare la cartella creata

sudo rm -rf /media/boot

Torna comodo invece tenere il grub (o parte del grub) di Fedora sulla partizione efi attuale, perché si va un po’ più sul sicuro con gli id da specificare sul parametro set root=

Comunque ti lascio il link ad un paio di discussioni interessanti che ho trovato sul forum ufficiale di Fedora dove suggeriscono la stessa soluzione… leggile se hai tempo, almeno hai modo di cercare di capirci qualcosa

Fedora is not discovered by foreign Grub

How to multiboot Fedora using existing GRUB2 bootloader?

#!/usr/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above. 

questa parte qui nel file 40_custom già c’è, devo copiare solo da quando inizia la riga con menuentry ‘Fedora’ ?