Inicialização do EFI Ubuntu 14.04 em um Mac sem o rEFInd

7

Desejo remover completamente o OS X do meu Mac e instalar o Ubuntu 14.04 LTS.

Embora eu queira usar o método de inicialização EFI mais recente em vez da inicialização de BIOS herdada, não desejo usar o rEFInd ou qualquer outro bootloader de terceiros, mas, em vez disso, quero usar o carregador de inicialização padrão do Mac.

A razão para isso é que eu quero eliminar o atraso de aproximadamente 30 segundos causado por outros métodos conhecidos e também desejar ter acesso a vários utilitários relacionados à EFI.

Você pode fornecer um método detalhado e passo a passo para conseguir isso?

    
por Rohith Madhavan 19.12.2014 / 20:02

1 resposta

9

Este processo irá limpar o OS X e quaisquer outros dados que você tenha na máquina. Por favor, certifique-se de fazer o backup do seu sistema antes de prosseguir.

Você pode criar um disco de recuperação para que você possa restaurar o OSX em uma data posterior, se necessário .

Crie um Live USB com o Ubuntu

Consulte esta página para instruções detalhadas. A UNetbootin é recomendada, pois é uma plataforma cruzada e fornece uma interface gráfica do usuário (GUI).

OBSERVAÇÃO - NÃO use a versão +mac , pois ela não suporta inicialização EFI.

Inicialização do USB ao vivo

O truque para iniciar a partir de USB em Macs é manter pressionada a tecla option assim que você ligar o dispositivo. Selecione Inicialização EFI neste menu.

O Ubuntu deve agora inicializar a partir do USB. Instale o Ubuntu usando a opção Apagar e usar o disco inteiro .

Em primeiro lugar, quando você reiniciar / ligar seu Mac, você verá a tela cinza do bootloader do Mac por cerca de 30s, e então uma pasta suavemente piscando com um '?' dentro. Se você inserir o instalador USB agora, ele deve inicializar. Se não, tente segurar o botão liga / desliga para forçar o desligamento e siga as instruções de inicialização USB para ativá-lo.

Inicializar manualmente a partir do seu disco rígido

Neste ponto, o sistema não pode ser iniciado porque o bootloader do Mac espera que a partição EFI seja formatada como HFS +, o sistema de arquivos típico do Mac, enquanto o instalador do Ubuntu na verdade o formata como VFAT.

Nesta etapa, instruiremos o GRUB no Live USB também inicializar o Ubuntu recém-instalado no disco rígido. - Isso exigirá uma digitação séria, mas depois de ter iniciado dessa forma, estaremos prontos para configurar a inicialização automática na próxima etapa.

Se você estiver usando o instalador da área de trabalho, segure a tecla shift para abrir o menu do carregador de inicialização GRUB.

Quando você vir o menu de inicialização do GRUB, não selecione nenhuma das entradas. Em vez disso, pressione C para ativar o console do GRUB.

No console do grub, digite ls

grub> ls 
(memdisk) (hd0) (hd0,msdos) (hd1) (hd2) (hd2,gpt3) (hd2,gpt2)
(hd2,gpt1)

Você pode não conseguir exatamente os mesmos resultados, mas terá algumas opções semelhantes.

Agora, encontre a partição que contém o diretório pessoal do usuário.

grub> ls (hd2,gpt2)/home
rohith/

Continue tentando até encontrá-lo.

O resultado da última etapa tem duas partes: (hdX,gptY) . Você precisa manter a parte hdX , mas percorrer todas as opções gptY procurando por um diretório / boot / grub.

grub> ls (hd2,gpt2)/boot/grub
unicode.pf2 [...] grub.cfg

Agora, você deseja definir isso como sua raiz para mais comandos.

grub> set root=(hd2,gpt2)

A única maneira de inicializar corretamente é usar o UUID da unidade.

grub> ls -l (hd2,gpt2)

Anote o UUID. Você terá que digitá-lo manualmente na próxima etapa.

grub> linux /boot/vmlinuz〈Tab here!〉.efi.signed root=UUID=〈the UUID from above〉

O console do GRUB pode concluir a tabulação, então, se você digitar apenas a parte vmlinuz e pressionar tab , clique em. e tab novamente, você não precisará digitar o nome do arquivo inteiro. certifique-se de que a parte efi.signed esteja presente.

Agora, defina o disco de RAM inicial

grub> initrd /boot/initrd〈Tab here!〉

Você deve conseguir inicializar seu disco rígido com o comando

grub> boot

Configurando a inicialização automática

Você já inicializou em seu Ubuntu recém-instalado. O próximo passo é tornar a inicialização automática e sem problemas, reformatando a partição /boot/efi no sistema de arquivos HFS + que o Mac espera e permitindo que você inicialize diretamente dela.

1. Instalando Pacotes Extra

Agora, abra um terminal e digite

sudo add-apt-repository ppa:detly/mactel-utils
sudo apt-get update
sudo apt-get install mactel-boot hfsprogs gdisk grub-efi-amd64

2. Reformatando a partição EFI

Execute mount para obter uma lista de sistemas de arquivos montados e procure por qualquer coisa montada em / boot / efi. Desmonte-o.

sudo umount /dev/sda1

Agora usamos gdisk para excluir a partição VFAT e criar uma HFS + uma

sudo gdisk /dev/sda

(Note que não há nenhum número no final do nome do disco!)

Pressione p

Confirme se a primeira partição tem o tipo EF00 . Agora, excluímos essa partição EF00 .

Pressione d

Crie um novo HFS + um em seu lugar.

Pressione n

Pressione Enter para a primeira e a última opção do setor.

Digite AF00 para o código do sistema de arquivos.

Use o comando p para verificar novamente suas alterações e, em seguida, w para escrever.

Agora temos uma partição HFS + não formatada. Formate-o com:

sudo mkfs.hfsplus /dev/sda1 -v ubuntu

3. Atualizando a Tabela do Sistema de Arquivos

Edite / etc / fstab

sudoedit /etc/fstab

Exclua as linhas que se referem a /boot/efi usando Ctrl+K .

Agora, digite os seguintes comandos -

sudo bash -c 'echo $(blkid -o export -s UUID /dev/sda1) /boot/efi auto defaults 0 0 >> /etc/fstab'
mount /boot/efi

4. Instalando o GRUB na Partição HFS

sudo bash -c 'echo "This file is required for booting" > /boot/efi/mach_kernel'

Instale o GRUB e 'abençoe' o sistema de arquivos.

sudo grub-install --target x86_64-efi --boot-directory=/boot --efi-directory=/boot/efi
sudo hfs-bless "/boot/efi/System/Library/CoreServices/boot.efi"

EDIT Algumas soluções de problemas: Ao seguir estas instruções no Ubuntu 14.04 Trusty Tahr, recebi a seguinte mensagem de erro de grub-install

Installing for x86_64-efi platform.grub-install
error: Can't create file: No such file or directory.

Depois de executá-lo novamente com strace , determinei que ele não estava procurando por um arquivo chamado /boot/efi/mach_kernel , mas um arquivo chamado /boot/efi/EFI/ubuntu/mach_kernel e depois de criar esse arquivo e re-executar grub-install parece trabalhos. END EDIT

5. Removendo o atraso de inicialização

Para definir a entrada de inicialização padrão EFI, execute

sudo efibootmgr

Livre-se das entradas extras -

sudo efibootmgr -b xxxx -B

em que xxxx é o número de inicialização obtido de sudo efibootmgr

Agora, defina a entrada padrão -

sudo efibootmgr -o xxxx

O sistema agora deve ser inicializável!

CRÉDITOS

Jason Heeris - Para o seu post original, o PPA usado.

Rohith Madhavan - Para o post sobre Ask Ubuntu, pequenas modificações.

    
por Rohith Madhavan 19.12.2014 / 20:02