Для мене завантаження Ubuntu в режимі UEFI з завантаженими драйверами Nvidia також завжди призводило до добре відомого чорного екрану при запуску X.
Так було до вчорашнього дня!
Після того, як ви натрапили на дуже багатообіцяючу інформацію в іншому потоці про встановлення Windows 7 в режимі UEFI на Mac Люди там боролися із необхідною підтримкою застарілої версії для Windows 7 та з’ясували, що для того, щоб обійти це, можна виконати встановлення без нагляду (оскільки дисплей не працює під час встановлення). Важлива інформація для успішного завантаження 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
Я не буду вникати в деталі тут, тому що в Інтернеті є багато статей, які показують, як це зробити, і після закінчення встановлення драйверів Nvidia (наприклад, www.rodsbooks.com), драйвери nouveau запускають вашу машину гарячою або з чорним екраном. / 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) відображення рядка з рядком та (2) на рядок з мостом прямо перед цією лінією відображення. Запишіть ідентифікатори шин 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 і насолоджуйтесь!
Для встановлення драйверів Nvidia використовуйте графічний інтерфейс додаткових драйверів Ubuntu . Рекомендую дотримуватися цієї статті про те, як увімкнути керування яскравістю, оскільки це не працює поза коробкою.