Dla mnie uruchomienie systemu Ubuntu w trybie UEFI z załadowanymi sterownikami Nvidia zawsze powodowało dobrze znany czarny ekran, gdy X był uruchamiany.
Tak było do wczoraj!
Po napotkaniu bardzo obiecujących informacji w innym wątku na temat instalacji systemu Windows 7 w trybie UEFI na komputerze Mac. Tamtejsi ludzie zmagali się z wymaganym wsparciem Windows 7 w starszej wersji 10h i odkryli, że aby obejść ten problem, można wykonać instalację nienadzorowaną (ponieważ wyświetlanie nie działa podczas instalacji). Istotne informacje, aby pomyślnie rozruchu Ubuntu w trybie UEFI nawet ze sterownikami Nvidia było to, że na początku rozruchu EFI (gdy przekazanie do grub), firmware Apple faktycznie nie aktywować kartę VGA jako master magistrali PCI-E . Chłopaki z systemu Windows wyjaśnili, jak obejść ten problem za pomocą powłoki EFI, która ładuje menedżera rozruchu systemu Windows w celu przynajmniej uruchomienia instalacji w trybie nienadzorowanym. A oto dobra wiadomość:łatwo to zrobić w GRUB-ie !
W rzeczywistości teraz piszę to na MacBooku Pro 7,1 (połowa 2010 r.) Z systemem Ubuntu Vivid uruchomionym w trybie UEFI ( Xorg.0.log ). Jednak powinno to być łatwe do uruchomienia lub dostosowania do dowolnej dystrybucji Linuksa zapewniającej wersję EFI GRUB, np. 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
Krótko mówiąc, musimy ustawić dwa rejestry PCI-E: jeden, który umożliwia mastering magistrali na karcie graficznej, a drugi umożliwia obsługę VGA na moście PCI-E karty graficznej. Tak więc nie ma to właściwie nic wspólnego ze sterownikami Nvidii i zależnie od punktu widzenia, nawet z przestarzałym / okaleczonym / nazwanym przez Apple wdrożeniem EFI.
Tak to rozwiązałem. Oczywiście, kudo trafia głównie do facetów na forum MacRumors.
WYŁĄCZENIE ODPOWIEDZIALNOŚCI Poniższe instrukcje zostały dostarczone bez gwarancji i nie ponoszę żadnej odpowiedzialności. ZRÓB TO NA WŁASNE RYZYKO!
1. Zainstaluj Ubuntu w trybie UEFI ze sterownikami Nvidia
Nie będę tu wchodził w szczegóły, ponieważ w Internecie jest wiele artykułów pokazujących, jak to zrobić i skończyć z nowymi sterownikami pracującymi na gorącym komputerze lub z czarnym ekranem po zainstalowaniu sterowników Nvidia (np. Www.rodsbooks.com / ubuntu-efi ).
Należy jednak pamiętać, że poniższe instrukcje zakładają, że instalacja i rozruch w trybie UEFI przebiegły pomyślnie. Możesz to sprawdzić, sprawdzając, czy istnieje katalog / sys / firmware, który jest tworzony dopiero po uruchomieniu w trybie EFI.
2. Znajdź odpowiednie identyfikatory magistrali PCI-E
Potrzebujemy zarówno identyfikatora karty graficznej, jak i mostka PCI-E, do którego jest ona podłączona. Wydaj następującą komendę w powłoce:
~$ 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
Spójrz na (1) linię z napisem display i (2) linię z mostkiem tuż przed tą linią wyświetlacza. Zapisz identyfikatory magistrali PCI-E (format XX: YY.Z) urządzenia mostkowego (tutaj 00: 17.0) i urządzenia wyświetlającego (tutaj 04: 00.0) i zapamiętaj, który jest który. Uwaga : Te identyfikatory mogą się różnić w zależności od modelu komputera Mac i wersji.
3. Utwórz skrypt GRUB do ustawiania rejestrów PCI-E podczas uruchamiania
Uruchom edytor tekstowy za pomocą sudo nano /etc/grub.d/01_enable_vga.conf i skopiuj / wklej zawartość poniżej. Zamień 00: 17.0 na identyfikator PCI-E swojego urządzenia mostkowego zanotowany w kroku 2. Zastąp 04: 00.0 identyfikatorem PCI-E twojego urządzenia wyświetlanego zanotowanego w kroku 2.
cat << EOF
setpci -s "00:17.0" 3e.b=8
setpci -s "04:00.0" 04.b=7
EOF
Na koniec spraw, aby utworzony plik był wykonywalny i zaktualizuj pliki konfiguracyjne grub przy użyciu następujących DWÓCH komend.
~$ sudo chmod 755 /etc/grub.d/01_enable_vga.conf
~$ sudo update-grub
4. Uruchom ponownie i sprawdź
Jeśli po ponownym uruchomieniu, wartości rejestru zostały ustawione na 8 (urządzenie mostkowe) i 7 (urządzenie wyświetlające), wszystko poszło dobrze:
~$ sudo setpci -s "00:17.0" 3e.b
08
~$ sudo setpci -s "04:00.0" 04.b
07
5. Zainstaluj sterowniki Nvidia i ciesz się!
Użyj GUI dodatkowych sterowników Ubuntu, aby zainstalować sterowniki Nvidia. Zalecam śledzenie tego artykułu, jak włączyć kontrolę jasności, ponieważ nie działa od razu po wyjęciu z pudełka.