在 MacBook Pro 上通过 EFI 引导至 Linux

在 MacBook Pro 上通过 EFI 引导至 Linux

8,3 MacBook Pro 2011,运行 Ubuntu 11.10 amd64。

情况是这样的。屏幕背光和其他一些功能只有在 EFI 中启动时才起作用,因此我需要在 EFI 中启动 Ubuntu 才能正常工作。

如果我在引导时按住 Alt 并启动 Linux这样,然后我启动到 EFI,就可以正常使用现有的 GRUB2 设置,并且屏幕亮度正常工作。

我想让这变得更加“自动”。我目前正在使用 rEFIt 来启动机器上的各种操作系统。不幸的是,rEFIt 并不以 EFI 模式启动 Linux,我相信它使用的是传统模式,这似乎与 BIOS 相同。

因此,我在 rEFIt 中安装了 GRUB2 EFI 模块,现在我可以在启动菜单中看到它了。问题是我遇到了启动问题。使用以下 GRUB 命令,我可以看到内核启动,但它挂在

*ERROR* failed to get supported _DSM functions

并且从未真正完成。这是我的 GRUB 配置文件:

set debug=fg
insmod efi_uga
insmod font

if loadfont ${prefix}/unicode.pf2
then 
    insmod gfxterm
    set gfxmode=auto
    set fgxpayload=keep
    terminal_output gfxterm
fi

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
}

我基本上有两个问题。

  1. 有没有办法在 rEFIt 中启用 EFI 引导至 Linux?如果可能的话,我就可以完全避免与 GRUB 发生冲突。

  2. 我对 GRUB 做错了什么?如果我无法让 rEFIt 发挥良好作用,我应该如何在 EFI GRUB 配置文件中引导我的内核?我尝试使用我的系统上的/boot/grub/grub.cfg,但这也不起作用。

为什么我可以使用 Apple 的“alt”加载程序启动到支持 EFI 的 Linux,而无法使用 rEFIt 启动到支持 EFI 的 Linux?

答案1

尝试添加到中的行noefi末尾,然后运行(假设这是您的 grub 配置文件所在的位置)。GRUB_CMDLINE_LINUX_DEFAULT/etc/default/grubgrub-mkconfig -o /boot/grub/grub.cfg

我曾经遇到过完全相同的错误。这解决了它。虽然我还是无法让键盘工作......

相关内容