Como tornar o UEFI Ubuntu inicializável a partir da unidade MBR?

0

Eu tenho o Ubuntu instalado em um disco rígido externo (tabela de partição MBR). O USB Live Disk foi o UEFI e, embora eu tenha instruído o instalador do Ubuntu a instalar o Grub no disco rígido externo, ele conseguiu instalar o Grub no disco rígido interno. Para compatibilidade com hardware mais antigo, optei por usar o MBR em HDD externo, mas eu acidentalmente instalei o Ubuntu no UEFI. grub-install grub-install --target=i386-pc /dev/sdc não funciona. Mostra o seguinte erro:

grub-install: error: /usr/lib/grub/i386-pc/modinfo.sh doesn't exist. Please specify --target or --directory.

    
por Mayank Verma 05.03.2016 / 00:22

1 resposta

6

Antes de prosseguir, você deve voltar um pouco. O ponto-chave para a compatibilidade do sistema não é o tipo de tabela de partição; é o gerenciador de inicialização. Todo computador possui um firmware que controla o processo de inicialização e o gerenciador de partida deve poder trabalhar com esse firmware. Para sistemas x86 e x86-64, o firmware geralmente é o BIOS de estilo antigo ou o EFI mais recente (ou UEFI, que é apenas EFI 2.x). Qualquer tipo de firmware pode ser inicializado a partir de discos MBR ou GPT, embora os sistemas BIOS usualmente usem sistemas MBR e EFI, em geral, empregam GPT.

A questão é que você deve avaliar se os computadores que você quer inicializar usam BIOS, EFIs ou uma mistura de ambos, e escolher um gerenciador de inicialização adequado. É possível instalar os carregadores de inicialização no modo BIOS e no modo EFI, mas isso pode ser complicado, especialmente se você quiser usar o GRUB para ambos os modos. Se você deve suportar ambos os modos de inicialização, recomendo usar o GRUB para BIOS e outra coisa para EFI, ou vice-versa. Isso significa que você terá que aprender sobre alternativas ao GRUB.

O GRUB está disponível para muitos tipos diferentes de firmware, incluindo BIOS e EFI. Uma "instalação no modo EFI" do Ubuntu significa apenas uma instalação do Ubuntu que inclui a versão EFI do GRUB (ou, em princípio, outro gerenciador de inicialização EFI, mas o GRUB é o único que as ferramentas de instalação do Ubuntu configuram automaticamente). Note que quando você instala o GRUB no Ubuntu, isso envolve a configuração de vários scripts e cópias de binários no sistema de arquivos Linux e copiando peças relevantes para locais privilegiados no disco (e, no caso de EFI, registrando entradas NVRAM). Em outras palavras, não é possível instalar um GRUB no modo BIOS usando o pacote GRUB do modo EFI que você instalou no seu computador agora. Para instalar um GRUB no modo BIOS, você deve fazer uma das seguintes coisas:

  • Instale o pacote GRUB no modo BIOS ( grub-pc ), que também desinstalará o pacote do modo EFI
  • Obtenha o código fonte do GRUB, ou talvez uma compilação binária sem realmente instalar um pacote Debian, e instale-o manualmente (um processo complicado)
  • Instale o GRUB no meio de inicialização de um disco ativo.

Na maioria dos casos, a ferramenta Reparo de inicialização pode ser usada para instalar uma variedade diferente de GRUB do que a lá. O truque é inicializar o disco que você usa para executar o Reparo de Inicialização no modo de inicialização desejado - se você inicializar no modo BIOS, o Reparo de Inicialização instalará o GRUB no modo BIOS; e se você inicializar no modo EFI, ele instalará o GRUB no modo EFI. Há também a complicação que você deseja instalar em um dispositivo USB; Não tenho certeza se o Boot Repair instalará o GRUB nesse disco ou tentará instalar em seu disco interno.

Há outra complicação para inicializações de discos externos no modo EFI: Em vez de instalar em um local específico do SO convencional ( EFI/ubuntu , no caso do Ubuntu), o carregador de boot em discos removíveis deve normalmente ser instalado no < em> nome de arquivo de fallback de EFI/BOOT/bootx64.efi . Isso pode exigir a cópia manual dos arquivos do carregador de inicialização.

    
por Rod Smith 05.03.2016 / 02:19