Como instalo duas instalações independentes do Ubuntu em um único disco rígido com o UEFI?

6

Por motivos de segurança, gostaria de instalar um sistema operacional secundário completamente independente em um computador com um único disco rígido usando o UEFI. Ambas as instalações devem poder usar diferentes partições de criptografia LUKS como dispositivo raiz (LVM no topo da criptografia) e precisam ser capazes de usar seus próprios kernels.

Ter inicialização dupla com dois sistemas operacionais diferentes não é grande coisa. Um Ubuntu e Fedora não interferirão e poderão compartilhar a partição do sistema EFI, mas duas instalações do Ubuntu lutarão entre si porque querem que ambos instalem sua instância do Grub no mesmo local da EFI.

  • Existe uma maneira de mudar o Ubuntu para instalar o Grub em um local diferente de /boot/efi/EFI/ubuntu durante a instalação? Eu preciso de um caminho persistente, para que atualizações de pacotes e atualizações do kernel / grub ainda sejam instaladas nesse caminho. Assim como o Grub do Fedora instalaria em /boot/efi/EFI/fedora . Não consigo encontrar essa opção de configuração no Grub. Se eu pudesse, meu menu de inicialização do Dell UEFI permitiria que eu escolhesse qual sistema operacional carregar. Talvez esteja faltando alguma cola entre efibootmgr e grub-efi aqui.

  • Alternativamente, seria possível usar uma única instalação do Grub em uma das duas instalações do Ubuntu e detectar automaticamente as configurações corretas de inicialização? Quero dizer, eu sei os-prober vai encontrar a outra partição /boot com kernels, mas como ela pode saber os parâmetros de inicialização corretos para aquele sistema operacional (por exemplo, volume LVM dentro do volume de criptografia bloqueado como sistema de arquivos raiz)? Eu posso entender que pode com instalações de partição única não criptografada, mas não pode coincidir com um /boot com seu sistema de arquivos raiz correspondente, certo? E é completamente impossível se for criptografado. Então, isso exigiria muitos ajustes manuais dos arquivos de configuração do grub. Eu também não gosto dessa opção de configuração única de bootloader compartilhado, tornando os dois sistemas operacionais menos isolados até certo ponto.

Por sinal, estou bem com a instalação de especialistas baseada em texto do servidor. Também alguma configuração personalizada, desde que eu não tenha que repetir os passos para cada atualização do kernel / Grub.

    
por gertvdijk 01.05.2015 / 21:55

2 respostas

5

Eu tenho duas sugestões ...

Opção nº 1: ESPs separados

Sob o EFI, o gerenciador de partida reside na " partição do sistema EFI (ESP). Eu coloquei a palavra" o "entre aspas porque não há nenhuma regra que diga que você está limitado a um ESP. Se você criar dois ESPs em seu disco rígido, poderá usar um deles para sua primeira instalação e o segundo ESP para a segunda instalação. Isso deve funcionar perfeitamente, embora você tenha que criar suas partições manualmente (usando a opção "Algo mais" durante a instalação), pelo menos para a sua segunda instalação do Ubuntu.

Um problema com essa abordagem é que, embora a especificação EFI indique explicitamente que você pode criar quantos ESPs desejar, algum software pode ficar confuso com isso. Um exemplo proeminente disso é o instalador do Windows, pelo menos no Windows 7 (não sei sobre o Windows 8 ou posterior); quando o instalador do Windows 7 vê um disco com dois ESP, ele se desprende e faz coisas estranhas. IIRC, não completa sua própria instalação corretamente. É concebível que as ferramentas de reparo do Windows sofram do mesmo problema. Se você não está inicializando o Windows neste sistema, isso não deve ser um grande problema. Se você for inicializando com o Windows, você deve simplesmente estar ciente do problema, porque você pode facilmente superá-lo alterando temporariamente o código de tipo do (s) ESP (s) não-Windows se você tiver problemas. Observe que o Windows inicializará bem em um disco com vários ESPs; é apenas o instalador que bloqueia esses discos.

Outra questão é como você alternaria entre suas duas distribuições. Talvez seja necessário personalizar uma ou ambas as configurações GRUB de suas instalações usando uma ferramenta como Personalizador do GRUB. Outra opção (mas não incompatível) seria usar o gerenciador de inicialização do seu próprio firmware para alternar entre as duas instalações do GRUB, e usar cada uma para inicializar apenas sua própria versão do Ubuntu.

Opção # 2: Abandonar o GRUB (ou pelo menos as ferramentas GRUB do Ubuntu)

O problema com o GRUB para sua situação é que você tem duas instalações e as ferramentas de manutenção do GRUB provavelmente ficarão confusas com essa configuração. Essa observação leva à solução óbvia de que você simplesmente não deve usar essas ferramentas. Existem vários outros gerenciadores de partida EFI para Linux, a maioria dos quais é mais fácil de manter manualmente do que o GRUB. Você pode configurar o ELILO, o SYSLINUX, o GRUB Legacy, o gummiboot ou o rEFInd corrigidos pelo Fedora e gerenciar suas instalações manualmente. Na verdade, como o rEFInd detecta kernels sempre que ele é inicializado, o rEFInd deve estar próximo de não-manutenção, uma vez configurado. Alternativamente, mas de forma semelhante, você poderia editar manualmente seu arquivo grub.cfg para fazer o que quiser, em vez de confiar nos scripts de configuração do GRUB.

Além do rEFInd, todas essas ferramentas exigirão que você faça alterações de configuração sempre que atualizar um kernel, o que será um empecilho. Há também a questão de quando e como instalar o programa de inicialização extra. Eu provavelmente o adiaria até depois da sua segunda instalação do Ubuntu, uma vez que cada instalação registrará sua própria cópia do GRUB como o carregador de inicialização padrão, e você deseja sobrescrevê-lo.

Note também que nenhuma destas ferramentas pode ler um kernel a partir de um sistema de arquivos criptografado ou de um LVM, então você precisará ter uma partição /boot não criptografada separada para cada uma das suas instalações do Ubuntu. Esta é a maneira que a maioria das instruções que vi diz para configurar uma instalação do Ubuntu criptografada de qualquer forma, por isso provavelmente não é um grande problema, a menos que você queira jogar no "limite" da criptografia de disco.

Alguns carregadores de inicialização EFI possuem requisitos adicionais de particionamento ou de sistema de arquivos. Mais notavelmente, ELILO, SYSLINUX e gummiboot requerem que o kernel resida em uma partição FAT, e o ESP funciona melhor para isso. Você pode fazer isso montando o ESP em /boot , mas essa é uma solução duvidosa no Ubuntu porque algumas atualizações de pacote exigem links simbólicos. Você também teria problemas para fazer isso com duas instalações separadas do Ubuntu, porque ambos tentariam reivindicar os mesmos arquivos. (Nesse caso, "o ESP" realmente significa "a partição a partir da qual o gerenciador de partida executou", portanto, você pode ter apenas um ESP nesse caso.) O GRUB Legacy e o rEFInd são mais flexíveis a esse respeito.

Minha recomendação

Pessoalmente, eu usaria o rEFInd para isso - mas, como mantenho o rEFInd, não sou exatamente imparcial. Na verdade, eu tenho um computador que multi-inicializa entre três instalações do Ubuntu, e o rEFInd alterna entre elas muito bem. Este sistema em particular não usa criptografia, mas duvido que isso possa causar novos problemas a partir da perspectiva de rEFInd.

Dito isto, os ESPs separados também devem funcionar bem, com a ressalva de que você pode precisar usar o GRUB Customizer para ajustar as configurações de pelo menos uma dessas cópias do GRUB.

    
por Rod Smith 02.05.2015 / 01:23
-2

Para evitar manter duas instalações do GRUB que lutam uma contra a outra, você pode instalar o GRUB em uma terceira partição separada. A resposta aceita de Criando uma partição dedicada do grub antes de instalar o ubuntu (que deve funcionar depois de instalar o Ubuntu também) deve descrever bem o suficiente esta possibilidade.

    
por fredg999 02.05.2015 / 00:39