Salve, attualmente ho Fedora installato su un hard disk ed Ubuntu su un’altro, parte il Grub di Ubuntu ma non vede Fedora, come posso aggiungere Fedora al Grub di Ubuntu?
grazie
Prova a controllare che sul file /etc/default/grub
(su Ubuntu) la stringa GRUB_DISABLE_OS_PROBER=
non sia impostata sul valore false
true
Nel caso sia così, dovrebbe essere sufficiente modificare il valore della stringa in true
false
ed in seguito aggiornare grub.
non dovrebbe essere impostata su false? altre guide dicono di mettere su false.
Sì, perdonami, hai ragione… per la fretta ho invertito i valori.
Ho controllato è già su false.
Hai provato a controllare se os-prober rileva correttamente Fedora?
No, che comando devo utilizzare, considera però che Fedora è su un altro hard disk rispetto ad Ubuntu.
Il comando per controllare quali sistemi rileva os-prober è
sudo os-prober
Comunque che siano su due hard disk diversi c’entra relativamente… non dovrebbero esserci particolari problemi se entrambe i sistemi utilizzano la stessa partizione efi
Ovviamente se installando Fedora hai creato una partizione efi indipendente da quella già pre esistente, avrai ovvie difficoltà a farla rilevare dato che os-prober non riuscirà a rilevarla sulla partizione efi utilizzata da grub su ubuntu.
La soluzione sarebbe quella di montare la partizione efi utilizzata da Fedora su una cartella su Ubuntu (altrimenti Ubuntu non riuscirebbe a leggerne il contenuto) e aggiungere una voce personalizzata su grub che vada ad avviare Fedora.
lanciando os-prober ho questo:
/dev/[email protected]/EFI/Microsoft/Boot/bootmgfw.efi:Windows Boot Manager:Windows:efi
/dev/sda3:VanillaOS 22.10 unstable (22.10):Ubuntu:linux
/dev/sda4:VanillaOS 22.10 unstable (22.10):Ubuntu1:linux
sembra che non legge la partizione di Fedora, lanciando
fdisk -l
ho questo risultato:
ispositivo Start Fine Settori Size Tipo
/dev/nvme0n1p1 2048 534527 532480 260M EFI System
/dev/nvme0n1p2 534528 567295 32768 16M Microsoft reserved
/dev/nvme0n1p3 567296 798128127 797560832 380,3G Microsoft basic data
/dev/nvme0n1p4 1998360576 2000408575 2048000 1000M Windows recovery environme
/dev/nvme0n1p5 1215922176 1998360575 782438400 373,1G Linux filesystem
/dev/nvme0n1p6 1207728128 1215922175 8194048 3,9G Linux swap
/dev/nvme0n1p7 798128128 1207728127 409600000 195,3G Linux filesystem
Partition table entries are not in disk order.
Disk /dev/sda: 1,82 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: Samsung SSD 870
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 8714E8D2-31BC-48CE-96F9-6CB5A5E6DDF3
Dispositivo Start Fine Settori Size Tipo
/dev/sda1 4096 1999998 1995903 974,6M EFI System
/dev/sda2 2000000 3999998 1999999 976,6M Linux filesystem
/dev/sda3 4000000 43999998 39999999 19,1G Linux filesystem
/dev/sda4 44000000 83999998 39999999 19,1G Linux filesystem
/dev/sda5 84000768 86097919 2097152 1G Linux filesystem
/dev/sda6 86097920 3907028991 3820931072 1,8T Linux filesystem
dev/sda6/ è dove è installato fedora, ora mi chiedo se si lancia il comando grub-install /dev/sda6/
si fanno casini? non dovrebbe caricare fedora nel grub?
eh beh, direi di sì… non te lo consiglierei. Comunque come immaginavo, installando Fedora sull’hard disk hai fatto creare una partizione efi separata da quella usata da Windows e Ubuntu
/dev/nvme0n1p1 2048 534527 532480 260M EFI System
questa è la partizione efi utilizzata da Windows e Ubuntu presente sull’ssd, mentre l’installazione di Fedora ha creato una partizione separata sull’hard disk (/dev/sda1 4096 1999998 1995903 974,6M EFI System
) che ovviamente, non essendo accesibile da Ubuntu (semplicemente perché non ha un punto di mount assegnato) non viene letta e quindi non viene rilevata.
Per ovviare al problema, dovresti creare un cartella su Ubuntu dove poter montare la partizione /dev/sda1, magari aggiungendola anche al file /etc/fstab
al fine di poter montare automaticamente la partizione all’avvio, dopodiché dovrai crearti una voce personalizzata sul menu di grub per far avviare Fedora.
non sono in grado di farlo, ho paura di fare disastri al sistema, potresti spiegarmi step by step quello che dovrei fare?
quali comandi utlizzare per fare tutte le procedure descritte?
Il procedimento più corretto da fare, sarebbe quello di utilizzare una live di Fedora e, tramite chroot, reinstallare grub sulla partizione corretta (quella presente sull’ssd).
Trovi il procedimento su questo link How to reinstall Grub EFI in Fedora with Fedora-Workstation-Live media, comunque provo a riassumere i passaggi fondamentali
Una volta avviata Fedora in live (tramite pendrive o dvd), esegui da terminale il comando:
lsblk -f
questo comando torna utile anche per recuperare l’UUID della partizione efi sull’ssd, così da poter modificare l’uuid della partizione efi anche sul file /etc/fstab
di Fedora.
Successivamente dovrai montare le varie partizioni che occorrono…
Inizia con l’acquisire i privilegi di amministratore
su
Successivamente dovrai montare la partizione root /
sul percorso /mnt
mount /dev/sda4 /mnt
ovviamente verifica con lsblk che /dev/sda4
sia effettivamente la partizione root /
poi monta la partizione /boot
sul percorso /mnt/boot
mount /dev/sda5 /mnt/boot
ed infine monta la partizione efi presente sull’ssd sul percorso /mnt/boot/efi
mount /dev/nvme0n1p1 /mnt/boot/efi
Fatto questo dovrai fare il bind delle cartelle di sistema
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount --bind /run /mnt/run
quindi cambi la cartella root con il comando
chroot /mnt
successivamente reinstalli grub e rigeneri la configurazione
dnf reinstall grub2-efi shim -y
grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
Fatto questo dovresti aggiornare poi grub su ubuntu ed eventualmente sostituire l’uuid della partizione efi sul file /etc/fstab su fedora.
Ho trovato anche uno script a questo link
Tamal/ set-chroot.sh ovviamente ti sconsiglio di eseguirlo senza prima aver modificato i dati necessari. Però magari può aiutarti a comprendere meglio alcuni passaggi.
tu metti nella procedura sda4 e sda5? la partizione root intendi quella di fedora? perchè in quel caso sarebbe la sda6, come partizione di boot non dovrebbe essere la EFI quindi la sda1, poi non dovrei montare anche la partizione di Ubuntu?
Dispositivo Start Fine Settori Size Tipo
/dev/nvme0n1p1 2048 534527 532480 260M EFI System
/dev/nvme0n1p2 534528 567295 32768 16M Microsoft reserved
/dev/nvme0n1p3 567296 798128127 797560832 380,3G Microsoft basic data
/dev/nvme0n1p4 1998360576 2000408575 2048000 1000M Windows recovery environme
/dev/nvme0n1p5 1215922176 1998360575 782438400 373,1G Linux filesystem
/dev/nvme0n1p6 1207728128 1215922175 8194048 3,9G Linux swap
/dev/nvme0n1p7 798128128 1207728127 409600000 195,3G Linux filesystem
Partition table entries are not in disk order.
Disk /dev/sda: 1,82 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: Samsung SSD 870
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 8714E8D2-31BC-48CE-96F9-6CB5A5E6DDF3
Dispositivo Start Fine Settori Size Tipo
/dev/sda1 4096 1999998 1995903 974,6M EFI System
/dev/sda2 2000000 3999998 1999999 976,6M Linux filesystem
/dev/sda3 4000000 43999998 39999999 19,1G Linux filesystem
/dev/sda4 44000000 83999998 39999999 19,1G Linux filesystem
/dev/sda5 84000768 86097919 2097152 1G Linux filesystem
/dev/sda6 86097920 3907028991 3820931072 1,8T Linux filesystem
ci sarebbero sull’hard disk nvme da considerare Ubuntu, come faccio a vedere su quale partizione è installato Ubuntu?
Sull’hard disk nvme dovrebbe interessarti solo la partizione efi, ovvero dove dovrebbe essere reinstallato il grub di fedora per poter essere rilevato correttamente da ubuntu.
Comunque sarebbe preferibile usare il comando lbslk -f
perché ti fornisce più informazioni sulle partizioni come, ad esempio, il punto di mount e l’uuid… almeno puoi essere certo di quale partizione montare.
Prova a postare l’output di lsblk, almeno posso indicarti le partizioni da montare con più precisione… anche perché mi sembra che hai fatto un po’ di casini con il partizionamento dell’hard disk dove hai installato fedora
sda
├─sda1
│ vfat FAT32 A81A-2FF8
├─sda2
│ ext4 1.0 24622db9-4e9b-4805-a671-de3c3dde5624
├─sda3
│ btrfs b e618d007-cfb7-4754-9fa3-5f32468ec324
├─sda4
│ btrfs a 64f47e8b-2916-41b0-82db-35a6e75d168d
├─sda5
│ ext4 1.0 dc6a1fee-3ec7-4fbb-8d8c-58a199f746cc
└─sda6
btrfs fedora_localhost-live
60faead4-de49-4739-9c57-05e0a800e41d
nvme0n1
│
├─nvme0n1p1
│ vfat FAT32 SYSTEM_DRV
│ FC97-AD6D 218,9M 15% /boot/efi
├─nvme0n1p2
│
├─nvme0n1p3
│ ntfs Windows-SSD
│ 6CA698BAA698866C
├─nvme0n1p4
│ ntfs WINRE_DRV
│ B830994330990990
├─nvme0n1p5
│ btrfs a9e33317-3b31-471f-a552-77cf5494f1cb /home
├─nvme0n1p6
│ swap 1 fc6e9d8e-8762-499d-9439-781a02de83a8 [SWAP]
└─nvme0n1p7
btrfs a9e33317-3b31-471f-a552-77cf5494f1cb
sda3 e sda4 è Vanilla OS che stavo provando, ricapitolando
Sda1 è EFI di Fedora
Sda3 Vanilla OS
Sda4 Vanilla OS
da quello che so Vanilla OS fa la copia del file system ad ogni aggiornamento
Sda5 è una linux swap
Sda6 è Fedora
nvme0n1p5 dovrebbe essere Ubuntu
la nvme0n1p7 è una partizione sempre btrfs
le partizioni che devo montare sono Efi di nvme, root di Ubuntu e root di Vanilla Os
quando dici di aggiornare e sostituire UUID della partizione efi devo inserire UUID della partizione EFI di nvme su fedora? va aggiunta una riga o sostituito proprio alla UUID di fedora?
quando dici di montare la partizione boot, dopo partizione root ti riferisci alla Efi di fedora?
No, va bene la partizione efi di nvme, ma la root di ubuntu e di vanilla os non c’entrano nulla.
Dovresti utilizzare solo la root di fedora che, avendo un file system btrfs, avrà nei sui sottovolumi tutte le partizioni che ti interessano. Io purtroppo non sono mai riuscito a digerire neanche lvm, con btrfs ho anche meno dimestichezza.
In questo caso comunque potresti seguire la guida su fedora magazine che è sempre un’ottima fonte per reperire informazioni OS Chroot 101: covering btrfs subvolumes
mount /dev/sda6 /mnt/ -t btrfs -o subvol=root
mount /dev/sda5 /mnt/boot
mount /dev/nvme0n1p1 /mnt/boot/efi
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount --bind /run /mnt/run
chroot /mnt
dove /dev/sda6 è la partizione root di fedora e /dev/sda5 dovrebbe invece essere la partizione /boot
sarebbe sufficiente sostituire solo l’uuid, ovviamente conviene sempre prima confrontare l’uuid presente su /etc/fstab con quelli delle due partizioni efi
A81A-2FF8
è l’uuid della partizione efi dell’hard disk dove è installata fedora e vanilla os, mentre FC97-AD6D
è l’uuid della partizione efi sul disco nvme
avviando questi comandi si potrebbe incasinare tutto? perchè se è complicato lascio così e al momento accedo a fedora tramite tasto F12.
la partizione boot non dovrebbe essere la EFI la sda1?
Sarebbe più corretto dire che potrebbe incasinarsi qualcosa se digiti dei comandi errati… è ovvio che il rischio di rompere qualcosa per un comando errato c’è quasi sempre.
Comunque se temi di incorrere in problemi e ritieni sia più opportuno utilizzare il gestore di avvio del bios, magari sarebbe preferibile lasciare le cose come stanno.
la /devsda1 è sicuramente la partizione efi utilizzata attualmente da fedora e, tra l’altro, è il motivo per il quale riesci a vederla sul gestore di avvio del bios ma non tramite grub (os-prober) su ubuntu.
Se hai impartito il comando lbslk -f
da ubuntu, credo sia evidente che la partizione efi usata sia la nvme0n1p1
├─nvme0n1p1
│ vfat FAT32 SYSTEM_DRV
│ FC97-AD6D 218,9M 15% /boot/efi
Poi è ovvio che prima di modificare qualsiasi cosa, sarebbe bene fare questi controlli su entrambe i sistemi per essere sicuri, in modo da essere certi di quali siano le effettive partizioni utilizzate.