私にとって、Nvidiaドライバーがロードされた状態でUbuntuをUEFIモードでブートすると、Xが起動したときによく知られた黒い画面が常に表示されていました。
それは昨日まででした!
MacでのUEFIモードでのWindows 7のインストールに関する別のスレッドで非常に有望な情報に遭遇した後。向こうの人々は、Windows 7に必要なint 10hのレガシーサポートに苦労し、それを回避するために、無人インストールを実行できることを発見しました(インストール中にディスプレイが機能しないため)。NvidiaドライバーでもUbuntuをUEFIモードで正常に起動するための重要な情報は、EFIブートの開始時(grubへの引き渡し中)に、Appleのファームウェアが実際にVGAカードをPCI-Eバスマスターとしてアクティブ化しないことです。Windowsの担当者は、少なくとも無人モードでセットアップを実行するために、WindowsブートマネージャーをチェーンロードするEFIシェルを使用してこれを回避する方法を説明しました。そして、ここに朗報があります:GRUBでこれを行うのは簡単です!
実際、私は今、UEFIモード(Xorg.0.log)で起動されたUbuntu Vividを実行しているMacBook Pro 7,1(2010年半ば)でこれを入力しています。ただし、EFIバージョンのGRUBを提供するLinuxディストリビューション(Ubuntu 14.04.2 LTSなど)で実行するか、これに適応させるのは簡単です。
~$ dmesg | grep -i efi
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-3.19.0-15-generic.efi.signed root=UUID=7843c644-e6f4-4d64-9317-0b854cb524f2 ro quiet splash intremap=off acpi_osi=! acpi_osi=Darwin nomodeset vt.handoff=7
[ 0.000000] efi: EFI v1.10 by Apple
[ 0.000000] efi: ACPI=0xbf96a000 ACPI 2.0=0xbf96a014 SMBIOS=0xbf71a000
簡単に言うと、2つのPCI-Eレジスタを設定する必要があります。1つはビデオカードでバスマスタリングを有効にし、もう1つはビデオカードのPCI-EブリッジでVGAサポートを有効にします。したがって、実際にはNvidiaドライバーとは関係がなく、視点によっては、Appleの時代遅れの/欠陥のある/あなたがEFI実装と名付けることさえありません。
これは私がそれを解決した方法です。もちろん、賞賛は主にMacRumorsフォーラムのメンバーに送られます。
免責事項以下の指示は現状のまま提供され、保証も責任も負いません。あなた自身の責任でこれをしてください!
1. Nvidiaドライバーを使用してUEFIモードでUbuntuをインストールします
Webにはこれを行う方法を示す多くの記事があり、Nvidiaドライバーをインストールした後、マシンをホットで実行しているnouveauドライバーまたは黒い画面になってしまうため、ここでは詳しく説明しません(www.rodsbooks.com / ubuntu-efi)。
ただし、次の手順では、UEFIモードで正常にインストールおよび起動したことを前提としています。EFIモードで起動した後にのみ作成されるディレクトリ/ sys / firmwareの存在を確認することで、それを確認できます。
2.適切なPCI-Eバス識別子を見つける
グラフィックスカードのIDと、接続先のPCI-Eブリッジの両方が必要です。シェルで次のコマンドを発行します。
~$ sudo lshw -businfo -class bridge -class display
pci@0000:00:00.0 bridge MCP89 HOST Bridge
pci@0000:00:03.0 bridge MCP89 LPC Bridge
pci@0000:00:0e.0 bridge NVIDIA Corporation
pci@0000:00:15.0 bridge NVIDIA Corporation
pci@0000:00:16.0 bridge NVIDIA Corporation
pci@0000:00:17.0 >!!< bridge MCP89 PCI Express Bridge
pci@0000:04:00.0 >!!< display MCP89 GeForce 320M
(1)表示と言う行と、(2)その表示行の直前にあるブリッジのある行を見てください。ブリッジデバイス(ここでは00:17.0)とディスプレイデバイス(ここでは04:00.0)のPCI-EバスID(フォーマットXX:YY.Z)を書き留め、どちらが正しいかを覚えておいてください。注:これらのIDは、お使いのMacモデルとリビジョンに応じて、マシン上で異なる場合があります。
3.ブート中にPCI-Eレジスタを設定するためのGRUBスクリプトを作成します
sudo nano /etc/grub.d/01_enable_vga.confを使用してテキストエディターを起動し、以下のコンテンツをコピーして貼り付けます。置き換え 00:17.0を 2段階で注意お使いのブリッジデバイスのPCI-E IDで置き換え 04:00.0をステップ2で述べたディスプレイデバイスのPCI-E IDと。
cat << EOF
setpci -s "00:17.0" 3e.b=8
setpci -s "04:00.0" 04.b=7
EOF
最後に、次の2つのコマンドを使用して、作成したファイルを実行可能にし、grub構成ファイルを更新します。
~$ sudo chmod 755 /etc/grub.d/01_enable_vga.conf
~$ sudo update-grub
4.再起動して確認する
再起動後に、レジスタ値が8(ブリッジデバイス)および7(ディスプレイデバイス)に設定されている場合、すべてが正常に実行されました。
~$ sudo setpci -s "00:17.0" 3e.b
08
~$ sudo setpci -s "04:00.0" 04.b
07
5. Nvidiaドライバーをインストールしてお楽しみください!
Ubuntuの追加ドライバー GUIを使用して、Nvidiaドライバーをインストールします。輝度コントロールはそのままでは機能しないため、輝度コントロールを有効にする方法については、この記事に従うことをお勧めします。