在 MacBook Pro 上 EFI 启动到 Linux

Naf*_*Kay 6 grub2 refit uefi

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
Run Code Online (Sandbox Code Playgroud)

并且从未真正完成。这是我的 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
}
Run Code Online (Sandbox Code Playgroud)

我基本上有两个问题。

  1. 有没有办法在 rEFIt 中启用 EFI 引导到 Linux?如果可能的话,我就可以避免完全搞乱 GRUB。

  2. 我在使用 GRUB 时做错了什么?如果我不能让 rEFIt 正常运行,我应该如何在 EFI GRUB 配置文件中启动我的内核?我尝试在我的系统上使用/boot/grub/grub.cfg,但这也不起作用。

为什么我可以使用 Apple 的“alt”加载程序引导到支持 EFI 的 Linux,而我不能使用 rEFIt 引导到支持 EFI 的 Linux?

小智 2

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

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