Como posso usar o instalador para inicializar manualmente em um sistema sem o GRUB instalado?

1

Para o experimento , eu estou tentando documentar um mínimo procedimento para uma inicialização EFI pura de 14.04 em um Mac Mini.

Isso envolve a instalação de um sistema básico (usando o ISO de instalação do servidor com sabor Mac) no disco rígido, mas NÃO instalando o GRUB no MBR. O GRUB está instalado na primeira partição do disco rígido, mas até que eu configure manualmente a partição de inicialização do EFI, o sistema não será inicializado.

Existe uma maneira de usar o bootloader no instalador USB para inicializar o sistema instalado manualmente? Tenho acesso a "opções avançadas" (ou seja, a linha de comando do gerenciador de inicialização) no instalador, mas não sei qual é o bootloader e, portanto, não consigo encontrar documentação completa para ele.

    
por detly 27.08.2014 / 05:03

1 resposta

5

Não use o instalador específico do Mac. Use o instalador normal (servidor, desktop), instale o sistema usando todos os padrões (exceto evitar o LVM) e, em seguida, reinicialize.

Inicialize o instalador USB novamente, mas quando você vir o menu GRUB, pressione C para abrir o console do GRUB.

Encontrando o disco da sua instalação

No console do GRUB, faça

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. Você deseja procurar sua nova instalação, não o sistema instalador / ativo. Sugiro encontrar uma partição com o diretório inicial do novo usuário:

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

Continue tentando esse padrão até encontrá-lo.

Encontrando a partição de inicialização da sua instalação

Se você sabe que instalou tudo em uma partição, está pronto - basta usar o resultado da última etapa, o (hdX,gptY) . Se você não fez isso, ou não tiver certeza, mantenha a hdX parte, mas percorra todas as opções gptY procurando um diretório /boot/grub :

grub> ls (hd2,gpt1)/boot/grub
error: file '/boot/grub' not found.

Não, não aquele.

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

Encontrou!

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

grub> set root=(hd2,gpt2)

Descobrir o comando de inicialização

Descobri que a maneira somente de inicializar corretamente era usar o UUID da unidade (ou seja, sem atalhos com /dev/sdaX !) - então vamos ver isso:

grub> ls -l (hd2,gpt2)
        Partition hd2,gpt2: Filesystem type ext* [...snip...] UUID e86c20b9-83e1-447d-a3be-d1ddaad6c4c6 - Partition start at [...]

Observe a string do UUID! A sua será diferente. Agora diga ao GRUB onde o Linux está:

grub> linux /boot/vmlinuz[...tab here!...].efi.signed root=UUID=<the UUID from above>

O console do GRUB pode fazer a aba tab , então se você simplesmente digitar a parte vmlinuz e clicar na aba , então pressione . e a aba novamente ... você não terá que digitar o nome do arquivo inteiro. Mas tenha certeza que o .efi.signed está lá! E sim, você terá que digitar todo esse UUID.

Agora defina o initrd (disco de RAM inicial):

grub> initrd /boot/initrd[...tab here!...]

Inicializando

Tipo:

grub> boot

Você deve se encontrar na sua instalação!

Não sou um assistente do GRUB, portanto, gostaria de receber algumas dicas sobre como reduzir isso. Especialmente a parte UUID, que é um pouco hedionda.

    
por detly 29.08.2014 / 16:05