
在嘗試延長我心愛的 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 已經不再理會它了。紅帽已關閉了一個票證,因為「無法修復」。
我對這個不知所措。有什麼辦法讓這個東西發揮作用嗎?
- 硬體:Core 2 Duo T9500 2.6GHz、4GB RAM、nVidia Geforce 8600M GT 512MB
- 軟體:Xubuntu 14.10 x86_64
答案1
我發現有一種方法可以做到這一點 - 在這裡找到線索後: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:
(K)ubuntu 在安裝過程中不會詢問您是否需要 EFI 或 BIOS 模式。它只會使用與啟動安裝程式相同的模式。一旦你以這種模式安裝了 Ubuntu,就很難改變。事實上,兩種模式都有自己的專用開機載入程序,其工作方式不同(BIOS 的軟體包「grub-pc」和 EFI 的軟體包「grub-efi-amd64」)。
如何在 BIOS 模式下啟動。因此,您必須確保安裝程式以正確的模式啟動。對我來說,這是透過從 CD/DVD 啟動來實現的。
……
至少在我的引導程式中,似乎不可能從非 EFI USB 記憶棒引導。我可以使用 USB 記憶棒來啟動,主要是為了使用即時系統來嘗試修復我的安裝,但這些始終是 EFI USB 記憶棒,然後以 EFI 模式啟動。
解決方案是刻錄 CD/DVD,而不是使用 USB 記憶棒。這樣確實可以強制 Mac 韌體以 BIOS 模式啟動,而 Ubuntu 將從中得知它應該安裝 BIOS 版本的 GRUB。一切都從那裡流動。但是,根據我的理解,如果不完全重新安裝,就不可能做到這一點。
我希望這對其他人有幫助。
答案2
對於像我一樣經過搜索後到達這裡的人(這是最終讓我找回我的 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
- 安裝Nvidia二進位驅動程式(我在本機上成功使用了304版本)
後來,我想起也許我應該在分割區 2 上設定「啟動」標誌(這是第一個分割區,現在我已經殺死了 EFI 分割區 1)。這是 /boot 檔案系統開啟的分割區。效果很好沒有啟動標誌已設置,但我還是設置了它。
這是在從 USB 安裝的相當乾淨的 Linux Mint 17.2 上進行的。 Mint 17.2 基於 Ubuntu 14.04。
Linux 是這台機器上唯一的作業系統。沒有 OSX,沒有 rEFIt/rEFInd。只是一個簡單的 Mint 17.2 安裝。
通常的“先備份!”建議適用。 :D
我希望這可以幫助別人。
答案3
我透過從 rEFInd 鍊式載入 GRUB2 解決了同樣的問題:
刪除
grub-efi
並安裝grub-pc
和gdisk
。使用
gdisk
,創建一個混合 MBR(“r生態與轉型選項」->「製作Hybrid mbr」)。當提示設定 Linux 分割區的可開機標誌時,請選擇Y
。將 GRUB2 安裝到混合 MBR 中:
grub-install --force /dev/sdX
現在重新啟動,並在 rEFInd 中選擇「從整個磁碟區啟動 Linux(舊版)」。