EFI inicializa o Ubuntu 14.04 em um Mac sem rEFInd

8

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 herdada do BIOS, não quero usar o rEFInd ou qualquer outro carregador de inicialização de terceiros, mas, em vez disso, quero usar o carregador de inicialização padrão do Mac.

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

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

Rohith Madhavan
fonte

Respostas:

10

Esse processo limpará o OS X e quaisquer outros dados que você possui na máquina. Certifique-se de fazer backup do seu sistema antes de continuar.

Você pode criar um disco de recuperação para restaurar o OSX posteriormente, se necessário.

Crie um USB ao vivo com o Ubuntu

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

NOTA - NÃO use a +macversão, pois ela não suporta inicialização EFI.

Inicialize a partir do Live USB

O truque para inicializar a partir do USB nos Macs é manter pressionada a optiontecla assim que você liga o dispositivo. Selecione Inicialização EFI neste menu.

insira a descrição da imagem aqui

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

insira a descrição da imagem aqui

Primeiro, quando você reinicia / liga o seu Mac, você verá a tela cinza do carregador de inicialização do Mac por cerca de 30s e, em seguida, uma pasta piscando suavemente com um '?' dentro. Se você inserir o USB instalador agora, ele deverá inicializar. Caso contrário, tente segurar o botão liga / desliga para forçar o desligamento e siga as instruções de inicialização do USB para ativá-lo.

Inicialize manualmente a partir do seu disco rígido

Nesse ponto, o sistema não pode ser inicializado porque o carregador de inicialização 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 realmente o formata como VFAT.

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

Se você estiver usando o instalador da área de trabalho, mantenha pressionada a shifttecla para abrir o menu do gerenciador de inicialização GRUB.

Quando você vir o menu de inicialização do GRUB, não selecione nenhuma das entradas. Em vez disso, pressione Cpara abrir 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 obter exatamente os mesmos resultados, mas terá algumas opções semelhantes.

Agora, encontre a partição que contém o diretório inicial do seu 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 hdXparte, mas siga todas as gptYopções procurando 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ê precisará 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; portanto, se você digitar a parte vmlinuz e clicar tab, clique em OK. e tabnovamente, você não precisará digitar o nome do arquivo inteiro. verifique se a efi.signedpeça está presente.

Agora, defina o disco RAM inicial

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

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

grub> boot

insira a descrição da imagem aqui

Configurando a inicialização automática

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

1. Instalando pacotes extras

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. Reformatação da partição EFI

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

sudo umount /dev/sda1

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

sudo gdisk /dev/sda

(Observe que NÃO há número no final desse nome de disco!)

pressione p

Confirme se a primeira partição tem tipo EF00. Agora nós excluímos essa EF00partição.

pressione d

Crie um novo HFS + em seu lugar.

pressione n

Pressione Enter para a primeira e a última opções do setor.

Digite AF00o código do sistema de arquivos.

Use o pcomando para verificar suas alterações e depois wescrever.

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 o / etc / fstab

sudoedit /etc/fstab

Exclua as linhas que se referem ao /boot/efiuso 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"

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

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

Depois de executá-lo novamente 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_kernele depois de criar esse arquivo e executar novamente grub-installtudo parece funcionar. EDIT FIM

5. Removendo o atraso da inicialização

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

sudo efibootmgr

Livre-se das entradas extras -

sudo efibootmgr -b xxxx -B

onde 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 post original, o PPA usou.

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

Rohith Madhavan
fonte
Em step4 você precisa montar / dev / sda1 antes de tentar instalar o grub
pshirishreddy
É algo possível como uma inicialização dupla? Eu era capaz de instalar o ubuntu ao lado do OSX no meu MBP (8,2) sem nenhum refitou refind. Tudo funciona muito bem (exceto meu monitor externo). No entanto, tentei o mesmo em uma retina mais recente do MBP e não consigo fazê-lo. Parece tão bom no modo de teste ... o monitor externo funciona imediatamente, etc, a instalação também é boa. Mas não consigo obter minha retina do MBP também inicializando o ubuntu. Existe algo que eu possa fazer depois de instalar o ubuntu para inicializá-lo?
precisa saber é o seguinte
Achei efibootmgrenigmático extra (embora acidentalmente funcionasse para mim). E a página de manual também não é fácil de entender. O que as escolhas que eu tenho significa? O que posso remover? (Por que eu deveria remover o material, não seria apenas definir a ordem de inicialização será suficiente?)
zrajm
Acabei de instalar o Ubuntu 17.04 no meu falecido Mac Book Pro usando a opção "Apagar disco e instalar o Ubunu". Inicializa apenas devagar. Existem duas partições: / dev / sda1 "BIOS Boot" e / dev / sda2 "Linux Filesystem" montados em /. O diretório / boot / está em /. Se eu redimensionar a partição e criar uma partição HSF + / boot / devo poder criar uma inicialização EFI?
Martin