在尝试延长我珍爱的 A1260 MacBook Pro 的使用寿命(包括 USB3.0、NTFS、iTunes、App Store 等很多问题)后,我从 MacOS 切换到 Xubuntu。这台机器足够强大,我在旧机器上运行过 Ubuntu,所以我真的很想让它工作。
我大部分时间都在使用它(我现在正在输入它)。然而,无论我怎样尝试,nVidia 显卡都无法使用二进制驱动程序。每当我尝试加载它们时,X 都会失败并在 kern.log 中生成以下内容:
Oct 26 18:53:15 Pegasus kernel: [ 49.229756] nvidia 0000:01:00.0: irq 51 for MSI/MSI-X
Oct 26 18:53:15 Pegasus kernel: [ 49.232512] NVRM: failed to copy vbios to system memory.
Oct 26 18:53:15 Pegasus kernel: [ 49.232745] NVRM: RmInitAdapter failed! (0x30:0xffffffff:747)
Oct 26 18:53:15 Pegasus kernel: [ 49.232752] NVRM: rm_init_adapter failed for device bearing minor number 0
Oct 26 18:53:15 Pegasus kernel: [ 49.232777] NVRM: nvidia_frontend_open: minor 0, module->open() failed, error -5
Oct 26 18:53:18 Pegasus kernel: [ 52.620786] nvidia 0000:01:00.0: irq 51 for MSI/MSI-X
Oct 26 18:53:18 Pegasus kernel: [ 52.623552] NVRM: failed to copy vbios to system memory.
Oct 26 18:53:18 Pegasus kernel: [ 52.623893] NVRM: RmInitAdapter failed! (0x30:0xffffffff:747)
Oct 26 18:53:18 Pegasus kernel: [ 52.623901] NVRM: rm_init_adapter failed for device bearing minor number 0
Oct 26 18:53:18 Pegasus kernel: [ 52.624534] NVRM: nvidia_frontend_open: minor 0, module->open() failed, error -5
Oct 26 18:53:24 Pegasus kernel: [ 58.702055] nvidia 0000:01:00.0: irq 51 for MSI/MSI-X
Oct 26 18:53:24 Pegasus kernel: [ 58.704792] NVRM: failed to copy vbios to system memory.
Oct 26 18:53:24 Pegasus kernel: [ 58.705020] NVRM: RmInitAdapter failed! (0x30:0xffffffff:747)
Oct 26 18:53:24 Pegasus kernel: [ 58.705028] NVRM: rm_init_adapter failed for device bearing minor number 0
Oct 26 18:53:24 Pegasus kernel: [ 58.705055] NVRM: nvidia_frontend_open: minor 0, module->open() failed, error -5
Oct 26 18:54:06 Pegasus kernel: [ 100.268217] nvidia 0000:01:00.0: irq 51 for MSI/MSI-X
Oct 26 18:54:06 Pegasus kernel: [ 100.270803] NVRM: failed to copy vbios to system memory.
Oct 26 18:54:06 Pegasus kernel: [ 100.271017] NVRM: RmInitAdapter failed! (0x30:0xffffffff:747)
Oct 26 18:54:06 Pegasus kernel: [ 100.271023] NVRM: rm_init_adapter failed for device bearing minor number 0
Oct 26 18:54:06 Pegasus kernel: [ 100.271042] NVRM: nvidia_frontend_open: minor 0, module->open() failed, error -5
Oct 26 18:54:39 Pegasus kernel: [ 133.380791] [drm] Module unloaded
我的理解是,这是由于 EFI 架构不允许驱动程序从卡中加载固件,或类似的原因。我现在可以在 Nouveau 上使用它,但是因为我有一些我想玩的游戏,所以我真的想让 nVidia 驱动程序工作。我已经尝试过打包的 331 和 nVidia 最新的自包含;都没有用。
我已经安装了 rEFInd 但没有帮助;事实上,它只会在我选择 EFI 选项时启动。选择第二个常规选项会在 rEFInd 窗口后立即挂起。Xubuntu 是这台机器上唯一的操作系统,我用 msdos 分区表格式化了磁盘。它还启用了 FDE。
我尝试了一些内核标志;nomodeset
至关重要。我也试过nopat
没有帮助。
我的基本理解是 BIOS 兼容性并未影响 MBP 硬件。因为 Xubuntu 是它上面唯一的操作系统,所以在它工作之前,我可以毫无问题地重新配置系统,如果这可能的话;一些搜索显示这是一个非常棘手的问题,nVidia 已经放弃了。Red Hat 已经关闭了一张票,因为它不会修复。
我对此不知所措。有什么方法可以让这个东西工作吗?
- 硬件:Core 2 Duo T9500 2.6GHz,4GB RAM,nVidia Geforce 8600M GT 512MB
- 软件:Xubuntu 14.10 x86_64
我发现有一种方法可以做到这一点 - 在此处找到线索后: http://korrekt.org/page/Note: How_to_install_%28K%29Ubuntu_14.04_on_Macbook_7,1#What.27s_the_problem_with_EFI_on_this_Macbook.3F:
解决方案是刻录 CD/DVD 而不是使用 U 盘。通过这种方式,确实可以强制 Mac 固件以 BIOS 模式启动,而 Ubuntu 将从中获取它应该安装 GRUB 的 BIOS 版本。一切都从那里流出。但是,根据我的理解,如果不完全重新安装是不可能做到这一点的。
我希望这可以帮助别人。
对于像我一样搜索后到达这里的人(这是最终让我找回 Nvidia 二进制驱动程序的结果)......
较旧的答案说“......如果不完全重新安装就不可能做到这一点。” 但无论如何我都想试一试,事实证明这很容易。
无需重新安装即可改回 BIOS Grub 。
我通过以下步骤在我的旧 Macbook Pro 4,1(A1261,17" 版本)上从 EFI Grub 切换到 BIOS Grub:
grub-pc
包grub-efi
包parted
, 删除 EFI 分区update-grub
grub-install /dev/sda
将 Grub 安装到 MBR/sys/firmware/efi
后来,我想起也许我应该在分区 2 上设置“启动”标志(这是第一个,现在我已经关闭了 EFI 分区 1)。这是带有 /boot 文件系统的分区。没有设置引导标志它工作正常,但我还是设置了它。
这是在从拇指驱动器安装的相当干净的 Linux Mint 17.2 上进行的。Mint 17.2 基于 Ubuntu 14.04。
Linux 是这台机器上唯一的操作系统。没有 OSX,没有 rEFIt/rEFInd。只是裸露的 Mint 17.2 安装。
通常的“先备份!” 建议适用。:D
我希望这可以帮助别人。
我通过从 rEFInd 链式加载 GRUB2 解决了同样的问题:
删除
grub-efi
和安装grub-pc
和gdisk
。使用
gdisk
,创建混合 MBR(“恢复和转换选项”->“make h hybrid mbr”)。当提示设置 Linux 分区的可引导标志时,选择。Y
将 GRUB2 安装到混合 MBR:
grub-install --force /dev/sdX
现在重新启动,并在 rEFInd 中选择“从整个磁盘卷启动 Linux(传统)”。