%20n%C3%A3o%20encontra%20o%20sistema%20de%20uma%20unidade%20diferente%20(Fedora%2034%20KDE).png)
Tenho vários sistemas instalados; primeiro, cronologicamente, Windows 10, depois Kubuntu 20.04, depois Fedora 34 KDE e depois KaOS. O Fedora está sozinho em uma segunda unidade, com seu EFI separado, mas compartilha isso com o KaOS.
A configuração é assim:
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
é a partição EFI para Windows (instalada em /dev/nvme0n1p2
) 5
e Ubuntu (instalada em nvme0n1p6
),
/dev/sda1
é a EFI para Fedora ( /dev/sda4
e 5
) e KaOS ( /dev/nvme0n1p7
)
Esta estranha escolha está relacionada ao fato de que a instalação anterior de outro Linux, além do Kubuntu, usando o mesmo EFI do Windows, resultou na corrupção da inicialização do Windows; isso foi corrigido com a reinstalação do Kubuntu, que adicionou o Windows ao seu menu de inicialização; Eu queria evitar tal interferência com o Windows e, portanto, instalei o Fedora em uma unidade separada com seu próprio EFI e, quando instalei o KaOS na mesma unidade do Windows, optei por usar o EFI da outra unidade, compartilhando-o com o Fedora.
Depois de instalar o KaOS, seu menu de inicialização (executado por systems-boot
, não grub
)não mostrou os outros sistemas.
Os menus de inicialização do Fedora e do Ubuntu estavam ocultos na interface UEFI do firmware. O Fedora incluiu todos os sistemas.O menu de inicialização do kUbuntu incluía todos, exceto o Fedora.
Eu usei o reparo de inicialização tentando tornar o menu de inicialização do Fedora o padrão porque era o mais completo (instalando o grub no sda1
), mas não havia uma opção para "inicializar primeiro" o Fedora: então, selecionei o Kubuntu. Isto resultou emO menu de inicialização do Kubuntu se tornou o padrão, faltando apenas o Fedora.
Dado que o grub do Kubuntu está agora no controle, eu gostaria de usá-lo e apenas adicionar o Fedora a ele. Atualizar o grub não ajuda.
EDIT-1, após comentários de @oldfred:
relatório de reparo de inicialização empasta-tambémAQUI(perguntado nos comentários)
EDIT-2, após resposta de @oldfred:
Eu pesquisei os arquivos grub.cfg do Kubuntu e descobri que a lista de inicialização do Kubuntu é determinada pelo arquivo boot/grub/grub.cfg
adicionando uma entrada de menu lá.
Olhando para o arquivo grub.cfg do próprio Fedora que pude encontrar: faltam entradas do Fedora, apenas o restante dos sistemas está listado. Somente estes também são vistos no Grub Customizer no Fedora: As entradas do Fedora em sua própria lista de inicialização parecem determinadas pelos arquivos separados de /loader/entries/
sua partição ext4 raiz de 1 GB (sda4). Copiar aqueles no /boot/efi/loader/entries/ do Kubuntu não tem efeito.
Estando sem o modelo próprio do Fedora para uma entrada no Kubuntu boot/grub/grub.cfg
, copiei e modifiquei as linhas que encontrei lá para o KaOS - adicionando as especificações do Fedora, nomeadamente o UUID. Não tenho certeza se a formatação está correta, é exatamente aquela do KaOS naquele arquivo, com apenas o nome da distribuição e o 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
}
Desta forma, o nome do Fedora é adicionado à lista de inicialização, é claro, mas não funciona:
com o UUID da bfrs
partição ( sda5
) recebo a mensagem:
mount: new/-root: unknown filesystem type ‘btrfs’
Eu tentei, por precaução, com o UUID da partição “root” do Fedora ( sda4
), e recebo a mensagem:
Error: root device mounted successfully but sbin/init does not exist
A maneira correta de fazer isso é, eu acho, adicionar o UUID da sda5
partição; que é aquele especificado em todos os três arquivos mencionados acima no Fedora/loader/entries/
Parece que o grub não reconhece o btrfs.
Instalei todos os arquivos relacionados ao “btrfs” que consegui encontrar usando o Apper, cerca de 30 pacotes, mas acontece o mesmo.
EDITAR-3
A partir de comentários mais distantes, entendo que não devo editar boot/grub/grub.cfg
, mas editar o arquivo etc/grub.d/40_custom
e copiar partes de outros arquivos. Mas não entendo quais arquivos devo usar. Não consegui encontrar nas próprias partições do Fedora algo relacionado à sua própria inicialização e à sua própria entrada na lista de inicialização, além dos arquivos em ext4
- /loader/entries
. Então é de um desses que devo copiar?
É algo assim copiado /media/root/651b659a-8fc5-46d6-b291-22b3b523ebaf/loader/entries/a037a4898b9540bfbc52f3f377b2ff4d-5.13.19-200.fc34.x86_64.conf
(da partição ex4 sda4 de 1 GB do 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
Ou é algo parecido com a entrada para KaOS no arquivo do Kubununtu boot/grub/grub.cfg
postado em EDIT-2 acima?
Responder1
Eu já instalei o Fedora uma vez, mas antes ele usava o btrfs. Mas minha entrada grub no Ubuntu foi carregada em cadeia ou arquivo de configuração para a entrada de inicialização UEFI. Eu adicionei estes ao 40_custom no grub do Ubuntu. Os UUIDs são exclusivos e você precisa alterar os UUIDs da sua instalação. Para inicializar direto no grub
menuentry "Fedora UEFI" {
search --file --no-floppy --set=root F496-1330
chainloader (${root})/efi/fedora/grub.cfg
}
Muitas vezes você pode simplesmente copiar uma sub-rotina de inicialização do grub de uma instalação para outra. Isso é o que os-prober está fazendo. Você pode precisar de drivers adicionais (btrfs) ou arquivos .mod do grub2 (como btrfs.mod) para que ele reconheça diferentes formatos ou configurações. Se estiver usando o rEFInd, você deverá traduzir a estrofe do grub para refind.conf. Um arquivo de configuração é um link para outro arquivo que é grub ou possui sub-rotinas de inicialização do 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 o menu 40_custom e personalizado
https://help.ubuntu.com/community/Grub2/CustomMenus
Arquivo de configuração:
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