Estou executando o Linux em um MacBook Pro de 8,3 2011. Ele usa o EFI / rEFIt para inicializar.
Consegui instalar o suporte ao GRUB2 EFI e ele aparece bem no menu de inicialização do rEFIt. Tudo parece estar funcionando lá.
O que eu fiz foi isso:
apt-get source grub2
sudo apt-get build-dep grub2
cd grub2-1.99
export EFI_ARCH=x86_64
./configure --with-platform=efi --target=${EFI_ARCH} --program-prefix ""
make
Isso construiu tudo o que é necessário. Então, chegou a hora de instalar a grub.efi
image compilada:
cd grub-core
../grub-mkimage -O ${EFI_ARCH}-efi -d . -o grub.efi -p "" part_gpt part_msdos ntfs ntfscomp hfsplus fat ext2 normal chain boot configfile linux multiboot
sudo mount -t vfat -o rw /dev/sda1 /mnt
sudo mkdir -p /mnt/EFI/grub
sudo cp grub.efi *.mod *.lst /mnt/EFI/grub
sudo touch /mnt/EFI/grub/grub.cfg
Tudo parece bem até agora. Quando reiniciei o rEFIt, pude ver a entrada do menu EFI GRUB no rEFIt e consegui iniciá-lo. Como eu não tinha configurado nada, não consegui ver nada, mas eu poderia ter inserido os comandos do GRUB se quisesse.
Eu então tentei definir meu arquivo de configuração do GRUB assim:
menuentry "Linux (BIOS)" {
search --file --no-floppy --set=root /vmlinuz
loadbios /boot/vbios.bin /boot/int10.bin
linux /vmlinuz root=/dev/sda4 video=efifb
initrd /initrd.img
}
menuentry "Linux (BIOS + Fix Video)" {
search --file --no-floppy --set=root /vmlinuz
fix_video
loadbios /boot/vbios.bin /boot/int10.bin
linux /vmlinuz root=/dev/sda4 video=efifb
initrd /initrd.img
}
menuentry "Linux (No BIOS)" {
search --file --no-floppy --set=root /vmlinuz
fakebios
linux /vmlinuz root=/dev/sda4 video=efifb
initrd /initrd.img
}
Então, quando eu iniciei o GRUB a partir do rEFIt, eu definitivamente pude ver essas entradas do menu. O problema é que cada um produziu uma mensagem como esta:
error: file not found
Suponho que isso se refere ao fato de que não é possível encontrar /vmlinuz
, /boot/*
e /initrd.img
, pois eles não estão presentes na partição EFI.
De onde obtenho esses arquivos e como posso copiá-los para a partição EFI para que a inicialização comece a funcionar?
Além disso, como especifico qual kernel carregar? O carregador do GRUB carregará meu menu principal /dev/sda4
GRUB após a inicialização da EFI?