Для меня загрузка Ubuntu в режиме UEFI с загруженными драйверами Nvidia также всегда приводила к хорошо известному черному экрану при запуске X.
Это было до вчерашнего дня!
После получения очень многообещающей информации в другой ветке об установке Windows 7 в режиме UEFI на Mac. Люди там боролись с требованием устаревшей поддержки Windows 7 в течение 10 часов и обнаружили, что для решения этой проблемы можно выполнить автоматическую установку (поскольку во время установки не работает отображение). Важная информация для успешной загрузки Ubuntu в режиме UEFI , даже с драйверами Nvidia в том , что при начале загрузки EFI ( в то время как передача до жратвы), прошивка от Apple на самом деле не активировать видеокарту в качестве ведущего PCI-E шины . Ребята из Windows объяснили, как обойти это, используя оболочку EFI, которая загружает диспетчер загрузки Windows, чтобы хотя бы запустить установку в автоматическом режиме. И вот хорошие новости:это легко сделать в GRUB !
На самом деле, я сейчас набираю это на MacBook Pro 7,1 (середина 2010 года), на котором установлена Ubuntu Vivid в режиме UEFI ( Xorg.0.log ). Тем не менее, его должно быть легко запустить или адаптировать для любого дистрибутива Linux с EFI-версией GRUB, например 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
Короче говоря, нам нужно установить два регистра PCI-E: один, обеспечивающий управление шинами на видеокарте, а другой - поддержку VGA на мосту PCI-E видеокарты. Так что это на самом деле не имеет ничего общего с драйверами Nvidia и, в зависимости от точки зрения, даже с устаревшей / урезанной / названной Apple реализацией EFI.
Вот как я это решил. Конечно, кудо пойдут в первую очередь парням на форуме MacRumors.
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ Следующие инструкции предоставляются как есть, без гарантий, и я не несу никакой ответственности. ДЕЛАЙТЕ ЭТО НА СВОЙ СТРАХ И РИСК!
1. Установите Ubuntu в режиме UEFI с драйверами Nvidia.
Я не буду вдаваться в подробности, потому что в Интернете есть много статей, показывающих, как это сделать, и драйверы nouveau, работающие на вашей машине, нагретые или с черным экраном после установки драйверов Nvidia (например, www.rodsbooks.com). / Ubuntu-EFI ).
Однако обратите внимание, что в следующих инструкциях предполагается, что вы успешно установили и загрузились в режиме UEFI. Вы можете убедиться в этом, проверив наличие каталога / sys / firmware, который создается только после загрузки в режиме EFI.
2. Найдите правильные идентификаторы шины PCI-E
Нам нужны как идентификаторы для видеокарты, так и для моста 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) строку с надписью display и (2) строку с перемычкой прямо перед этой строкой display. Запишите идентификаторы шины PCI-E (формат XX: YY.Z) мостового устройства (здесь 00: 17.0) и устройства отображения (здесь 04: 00.0) и запомните, какой есть какой. Примечание . Эти идентификаторы могут отличаться на вашем компьютере в зависимости от модели и версии Mac.
3. Создайте скрипт GRUB для настройки регистров PCI-E во время загрузки
Запустите текстовый редактор с помощью sudo nano /etc/grub.d/01_enable_vga.conf и скопируйте / вставьте содержимое ниже. Замените 00: 17.0 идентификатором PCI-E вашего мостового устройства, указанным в шаге 2. Замените 04: 00.0 идентификатором PCI-E вашего устройства отображения, указанным в шаге 2.
cat << EOF
setpci -s "00:17.0" 3e.b=8
setpci -s "04:00.0" 04.b=7
EOF
Наконец, сделайте исполняемый файл исполняемым и обновите файлы конфигурации 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 и наслаждайтесь!
Используйте GUI дополнительных драйверов Ubuntu для установки драйверов Nvidia. Я рекомендую следовать этой статье о том, как включить управление яркостью, потому что это не работает из коробки.