Instalando o GRUB2 em um disco GPT em uma partição

2

Estou usando um MacBook Air 2013 e estou tentando instalar o Gentoo. Eu já fiz isso várias vezes, mas sempre usei outras "soluções alternativas" para esse problema, como usar diretamente uma imagem do kernel EFI-stub.

O que estou tentando conseguir é instalar o GRUB em uma PARTITION, para que eu não embaralhe o layout original do disco do meu Macbook.

Esta é minha tabela de partições:

    GPT fdisk (gdisk) version 0.8.8

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 236978176 sectors, 113.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 9DF6BE23-87E0-4602-B71F-7DAD445D5614
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 236978142
Partitions will be aligned on 8-sector boundaries
Total free space is 6 sectors (3.0 KiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1              40          409639   200.0 MiB   EF00  EFI System Partition
   2          409640       176582599   84.0 GiB    AF00  Customer
   3       176582600       177852135   619.9 MiB   AB00  Recovery HD
   4       177852136       178114279   128.0 MiB   EF00  EFI System
   5       178114280       236978142   28.1 GiB    8300  Linux filesystem

A partição 1st é o ESP original do meu Mac (onde eu instalei o Refind) e eu gostaria de mantê-lo como está. Eu tentei colocar o GRUB na quarta partição (que é vfat ) mas quando tento instalá-lo lá eu recebo:

# > grub2-install /dev/sda4    
/usr/sbin/grub2-bios-setup: warning: File system 'fat' doesnt' support embedding.
/usr/sbin/grub2-bios-setup: warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged..
/usr/sbin/grub2-bios-setup: error: will not proceed with blocklists.

Eu também tentei usar

grub2-install --force /dev/sda4

mas isso não fez nada. Como posso resolver isso? Obrigado!

    
por peperunas 28.04.2014 / 11:25

1 resposta

0

Eu resolvi criando um kernel EFI-stub e então, enquanto inicializava, eu instalei o grub com grub2-install --target=$arch-efi --efi-directory=$esp onde $esp é o diretório onde montei meu /boot e $arch é a arquitetura da minha CPU (no meu caso, x86_64 . Com este procedimento, o grub é então instalado no $esp e um grubx64.efi é criado.

O último passo a ser dado é a criação da configuração:

grub2-mkconfig -o $esp

E tudo está pronto!

Então, para resumir:

  1. Crie um kernel EFI-STUB e inicialize-o
  2. Instale o grub como de costume com: grub2-install --target=$arch-efi --efi-directory=$esp
  3. Crie o arquivo de configuração para o grub: grub2-mkconfig -o $esp
  4. Feito!
por 30.04.2014 / 14:55