2010 MacBookProにLinuxをインストールし(refindを使用したトリプルブート)、nvidiaドライバーをインストールした後、悪名高い黒い画面が表示されます。
ここで解決策を適用しようとしました: https://askubuntu.com/a/613573/48842 成功しませんでした。
SetpciのIDを正しく取得できたのだろうか。誰でも確認できますか?
Lshwの表示出力と/etc/grub.d/01_enable_vga.confファイルの下に貼り付けています。
ありがとう!
mint@mint-MacBookPro ~ $ Sudo lshw -businfo -class bridge -class display
información del Bus Dispositivo Clase Descripción
===========================================================
pci@0000:00:00.0 bridge Core Processor DRAM Controller
pci@0000:00:01.0 bridge Core Processor PCI Express x16 Root Port
pci@0000:01:00.0 display GT216M [GeForce GT 330M]
pci@0000:00:02.0 display Core Processor Integrated Graphics Controller
pci@0000:00:1c.0 bridge 5 Series/3400 Series Chipset PCI Express Root Port 1
pci@0000:00:1c.1 bridge 5 Series/3400 Series Chipset PCI Express Root Port 2
pci@0000:00:1c.2 bridge 5 Series/3400 Series Chipset PCI Express Root Port 3
pci@0000:00:1c.3 bridge 5 Series/3400 Series Chipset PCI Express Root Port 4
pci@0000:00:1e.0 bridge 82801 Mobile PCI Bridge
pci@0000:00:1f.0 bridge Mobile 5 Series Chipset LPC Interface Controller
pci@0000:ff:00.0 bridge Core Processor QuickPath Architecture Generic Non-core Registers
pci@0000:ff:00.1 bridge Core Processor QuickPath Architecture System Address Decoder
pci@0000:ff:02.0 bridge Core Processor QPI Link 0
pci@0000:ff:02.1 bridge Core Processor QPI Physical 0
pci@0000:ff:02.2 bridge Core Processor Reserved
pci@0000:ff:02.3 bridge Core Processor Reserved
mint@mint-MacBookPro ~ Sudo cat /etc/grub.d/01_enable_vga.conf
cat << EOF
setpci -s "00:01.0" 3e.b=8
setpci -s "01:00.0" 04.b=7
EOF
SetpciがPCI-Eブリッジの値を変更しない場合、私はついに問題を解決しました。
Apple MacBookマシンでnVidia GeForceドライバーを機能させるためにsetpciコマンドを使用してPCI-Eブリッジレジスタの値を設定できない場合は、次の手順を試してください。
lshw -businfo -class bridge -class display
[root@kernelLinux]# lshw -businfo -class bridge -class display
Bus info Device Class Description
========================================================
pci@0000:00:00.0 bridge MCP89 Host Bridge
pci@0000:00:03.0 bridge MCP89 LPC Bridge
pci@0000:00:15.0 bridge NVIDIA Corporation
pci@0000:00:17.0 bridge MCP89 PCI Express Bridge
pci@0000:02:00.0 display MCP89 [GeForce 320M]
PCI Express BridgeのIDと、displayのフォーマットが必要です。 XX:XX.X
IDは異なる場合があります。
この例では、PCI-EブリッジのIDは00:17.0および02:00.0[GPU]を表示します。
スクリプトは、上記の投稿とは少し異なります。
私は2つのことに気づきました。ディストリビューション(私の場合はCentos)インストールプロセスを使用してインストールされたGrub2には、setpcigrubモジュールが含まれていません。これが、grubがブート中にレジスタを変更しない理由です。次に、レジスタを変更するコマンドを実行する前に、setpciモジュールをgrubにロードする必要があります。
Grub2-efi-modulesをダウンロードする
Ubuntu Linux
Sudo apt-get install grub-efi-AMD64-bin
Fedora Linux
Sudo dnf install grub2-efi-modules
CentOS Linux
Sudo yum install grub2-efi-modules
モジュールは/ usr/lib/grub/x86_64-efi /にインストールされますが、setpciモジュールファイルは/ boot/efi/EFI/centos/x86_64-efi /に存在する必要があります
X86_64-efiフォルダーを作成する
Sudo mkdir /boot/EFI/centos/x86_64-efi
Setpciモジュールファイルをgrub2フォルダーにコピーします
Sudo cp /usr/lib/grub/x86_64-efi/setpci.* /boot/EFI/centos/x86_64-efi
01_enable_vga.confファイルを作成します。
ファイルには次のコード行が含まれている必要があります。
PCIブリッジの場合は00:17.0を、ディスプレイ[GPU]の場合は02:00.0を値に置き換えてください。
Sudo nano /etc/grub.d/01_enable_vga.conf
cat << EOF
insmod setpci
setpci -s "00:17.0" 3e.b=8
setpci -s "02:00.0" 04.b=7
EOF
その後、権限を修復します
Sudo chmod 755 /etc/grub.d/01_enable_vga.conf
/boot/efi/EFI/centos/grub.cfgを更新します
Ubuntu Linux
Sudo update-grub
このコマンドは、他のディストリビューションでのみ実行します(update-grub後のUbuntuでは必要ありません):
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
マシンを再起動し、動作しているかどうかを確認します。 IDを再度自分のものに置き換えます。端末には、最終的に08(PCI-Eブリッジ)および07(GPU)が表示されます。
Sudo setpci -s "00:17.0" 3e.b
08
Sudo setpci -s "02:00.0" 04.b
07
スクリーンショット: http://imgur.com/a/YiBXi
lshw
の出力を元のアプローチと比較すると、別のMacbook Proを使用しているようです。最新のもので、1枚の統合グラフィックカードと1枚のディスクリートグラフィックカード(NVIDIA GT 330M)があります。 Macbook Pro 7,1(2010年半ば、NVIDIA 320Mのみ)向けの私のソリューションがお使いのハードウェアに適用できるとは思えません。
実際、黒い画面の根本的な原因は、EFI Linuxの起動中に個別のNVIDIA 330 GTが無効になっているためと思われます。したがって、異なるGRUBスクリプトを使用して、個別のNVIDIAカードを明示的に有効にする必要があります。これを達成する方法に関する最初のポインタは、 https://discussions.Apple.com/message/19065782#19065782 および https://help.ubuntu.com/community/UEFIBooting 。
私はその特定のハードウェアを所有していないという事実により、これらが正しい設定であるかどうかはわかりません。
spoof_osx_version
のrefind.conf
オプションのコメントを外してみてください。このmightは、システムでビデオが動作するようになりますが、動作することを約束することはできません。このオプションの動作の詳細については、refind.conf
または rEFIndドキュメント のコメントを参照してください。
このオプションは、Linuxの起動方法(BIOSモードGRUB、EFIモードGRUB、カーネルの直接起動など)によって異なる動作をする可能性があることに注意してください。また、GRUB GRUB経由でLinuxをブートしている場合にのみ、「作成中」が機能します。あなたがそれをやっているかどうかは明らかではありません。 rEFIndからLinuxを起動するさまざまな方法の詳細については、rEFIndドキュメントの Linuxの起動方法 セクションを参照してください。