私は8,3 2011 MacBook ProでLinuxを実行しています。 EFI/rEFIt を使用して起動します。
GRUB2 EFIサポートをインストールでき、rEFItブートメニューに正常に表示されます。すべてがそこで起こっているようです。
私がしたことは次のとおりです。
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
これは必要なすべてを構築します。これで、コンパイルされたイメージをインストールしますgrub.efi
。
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
これまではすべてがよさそうです。 rEFIt で再起動すると、rEFIt で EFI GRUB メニュー項目を表示して起動できます。何も設定していないため、何も表示できませんが、必要に応じてGRUBコマンドを入力できます。
その後、GRUBプロファイルを次のように定義してみました。
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
}
その後、rEFItからGRUBに起動すると、これらのメニュー項目が確実に表示されます。問題は、誰もが次のメッセージを生成することです。
error: file not found
私はこれがEFIパーティションに存在しないので見つけることができないことを意味すると思います/vmlinuz
。/boot/*
/initrd.img
これらのファイルはどこで入手でき、ブート操作のためにEFIパーティションにコピーするのですか?
また、ロードするカーネルをどのように指定しますか?このGRUBローダーは、/dev/sda4
EFI起動後にデフォルトのGRUBメニューをロードしますか?