%20no%20encuentra%20el%20sistema%20de%20una%20unidad%20diferente%20(Fedora%2034%20KDE).png)
Tengo varios sistemas instalados; primero, cronológicamente, Windows 10, luego Kubuntu 20.04, luego Fedora 34 KDE y luego KaOS. Fedora está solo en una segunda unidad, con su EFI separado, pero lo comparte con KaOS.
La configuración es así:
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 739327 737280 360M EFI System
/dev/nvme0n1p2 739328 1001471 262144 128M Microsoft reserved
/dev/nvme0n1p3 1001472 457750527 456749056 217,8G Microsoft basic data
/dev/nvme0n1p4 457750528 459757567 2007040 980M Windows recovery environment
/dev/nvme0n1p5 459757568 500107263 40349696 19,2G Microsoft basic data
/dev/nvme0n1p6 500107264 644737022 144629759 69G Linux filesystem
/dev/nvme0n1p7 644737023 976773134 332036112 158,3G Linux filesystem
Device Start End Sectors Size Type
/dev/sda1 2048 1230847 1228800 600M EFI System
/dev/sda2 251660288 1258293247 1006632960 480G Linux filesystem
/dev/sda3 1258293248 1875384319 617091072 294,3G Microsoft basic data
/dev/sda4 1230848 3327999 2097152 1G Linux filesystem
/dev/sda5 3328000 251660287 248332288 118,4G Linux filesystem
/dev/nvme0n1p1
es la partición EFI para Windows (instalada en /dev/nvme0n1p2
) 5
y Ubuntu (instalada en nvme0n1p6
),
/dev/sda1
es la partición EFI para Fedora ( /dev/sda4
y 5
) y KaOS ( /dev/nvme0n1p7
)
Esta extraña elección está relacionada con el hecho de que la instalación anterior de otro Linux, además de Kubuntu, usando el mismo EFI que Windows, resultó en corrupción del arranque de Windows; eso se solucionó reinstalando Kubuntu, que agregó Windows a su menú de inicio; Quería evitar tal interferencia con Windows y por lo tanto instalé Fedora en una unidad separada con su propio EFI, y luego, cuando instalé KaOS en la misma unidad que Windows, seleccioné usar el EFI de la otra unidad. compartiéndolo con Fedora.
Después de instalar KaOS, su menú de inicio (ejecutado por systems-boot
, no grub
)no mostró los otros sistemas.
Los menús de inicio de Fedora y Ubuntu estaban ocultos en la interfaz Firmware UEFI. Fedora incluye todos los sistemas.El menú de inicio de kUbuntu incluía todos excepto Fedora.
He utilizado la reparación de arranque tratando de hacer que el menú de arranque de Fedora sea el predeterminado porque era el más completo (instalando grub en sda1
) pero no había una opción para "arrancar primero" Fedora: entonces, seleccioné Kubuntu. Esto resultó enEl menú de inicio de Kubuntu se convierte en el predeterminado y solo falta Fedora.
Dado que Kubuntu grub ahora tiene el control, me gustaría usarlo y simplemente agregarle Fedora. Actualizar grub no ayuda.
EDITAR-1, después de los comentarios de @oldfred:
informe de reparación de arranque enpastilla-tambiénAQUÍ(preguntado en comentarios)
EDITAR-2, después de la respuesta de @oldfred:
Busqué los archivos grub.cfg de Kubuntu y descubrí que la lista de inicio de Kubuntu está determinada por el archivo boot/grub/grub.cfg
agregando una entrada de menú allí.
Al mirar el archivo grub.cfg de Fedora, pude encontrar: allí faltan entradas de Fedora, solo se enumeran el resto de los sistemas. Solo estos también se ven en Grub Customizer en Fedora: las entradas de Fedora en su propia lista de inicio parecen determinadas por los archivos separados de /loader/entries/
su partición raíz ext4 de 1 GB (sda4). Copiarlos en /boot/efi/loader/entries/ de Kubuntu no tiene ningún efecto.
Al no tener el modelo propio de Fedora para una entrada en Kubuntu boot/grub/grub.cfg
, copié y modifiqué las líneas que encontré allí para KaOS, agregando las especificaciones de Fedora, es decir, el UUID. No estoy seguro de que el formato sea correcto, es exactamente el mismo para KaOS en ese archivo, con solo el nombre de la distribución y el UUID ajustados:
menuentry 'Fedora 34 KDE' --class Fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-4834b108-13c9-406c-8a7b-a9c53440283c' {
load_video
set gfxpayload=keep
insmod gzio
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 F4F4-1172
else
search --no-floppy --fs-uuid --set=root F4F4-1172
fi
echo 'Loading Linux linux ...'
linux /vmlinuz-linux root=UUID=4834b108-13c9-406c-8a7b-a9c53440283c rw quiet
echo 'Loading initial ramdisk ...'
initrd /initramfs-linux.img
}
De esta manera, el nombre de Fedora se agrega a la lista de inicio, por supuesto, pero no funciona:
con el UUID de la bfrs
partición ( sda5
) me sale el mensaje:
mount: new/-root: unknown filesystem type ‘btrfs’
He probado, por si acaso, con el UUID de la partición “raíz” de Fedora ( sda4
), y me sale el mensaje:
Error: root device mounted successfully but sbin/init does not exist
Creo que la forma correcta de hacerlo es agregar el UUID de la sda5
partición; que es el especificado en los tres archivos mencionados anteriormente en Fedora/loader/entries/
Parece que grub no reconoce btrfs.
He instalado todos los archivos relacionados con “btrfs” que pude encontrar usando Apper, unos 30 paquetes, pero sucede lo mismo.
EDITAR-3
Según comentarios adicionales, entiendo que no debo editar boot/grub/grub.cfg
, sino editar el archivo etc/grub.d/40_custom
y copiar partes de otros archivos. Pero no entiendo qué archivos debo usar. No pude encontrar en las particiones de Fedora algo relacionado con su propio arranque y su propia entrada en la lista de arranque que no sean archivos en ext4
- /loader/entries
. ¿Entonces es de alguno de esos que debería copiar?
¿Es algo como esto copiado de /media/root/651b659a-8fc5-46d6-b291-22b3b523ebaf/loader/entries/a037a4898b9540bfbc52f3f377b2ff4d-5.13.19-200.fc34.x86_64.conf
(es decir, de la partición sda4 ex4 de 1 GB de Fedora):
title Fedora (5.13.19-200.fc34.x86_64) 34 (KDE Plasma)
version 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
options root=UUID=4834b108-13c9-406c-8a7b-a9c53440283c ro rootflags=subvol=root rhgb quiet
grub_users $grub_users
grub_arg --unrestricted
grub_class kernel
¿O es algo así como la entrada para KaOS en el archivo de Kubununtu boot/grub/grub.cfg
publicado en EDIT-2 arriba?
Respuesta1
Había instalado Fedora una vez, pero antes usaba btrfs. Pero mi entrada grub en Ubuntu cargó en cadena o archivo de configuración en la entrada de arranque UEFI. Los agregué a 40_custom en el grub de Ubuntu. Los UUID son únicos y debe cambiarlos a los UUID de su instalación. Para arrancar directamente a grub
menuentry "Fedora UEFI" {
search --file --no-floppy --set=root F496-1330
chainloader (${root})/efi/fedora/grub.cfg
}
A menudo puedes simplemente copiar una sección de arranque para grub de una instalación a otra. Eso es lo que está haciendo os-prober. Es posible que necesite controladores adicionales (btrfs) o archivos .mod de grub2 (como btrfs.mod) para que reconozca diferentes formatos o configuraciones. Si usa rEFInd, debe traducir la estrofa de grub a refind.conf. Un archivo de configuración es un enlace a otro archivo que es grub o que tiene estrofas de inicio de tipo grub.
menuentry "Fedora UEFI" {
search.fs_uuid a9bd9a65-bc8c-41b1-95b1-2dceb66b2652 root hd1,gpt2
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
}
Usando 40_custom y menú personalizado
https://help.ubuntu.com/community/Grub2/CustomMenus
Archivo de configuración:
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