Я недавно настроил свой MacBook Air (в конце 2010) к двойной загрузке ОС 10.10 с Ubuntu 16.04, и конечно по пути я столкнулся с черной экранной проблемой при использовании собственных драйверов NVIDIA. Я только что попробовал фиксацию Andreas здесь. Все это, кажется, идет без помех, за исключением того, что, когда я добираюсь до шага № 4 к перезагрузке и проверке, я не получаю корректный результат для регистра PCI-E для устройства моста. Это - то, что я получаю для шага № 2:
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]
Я создал сценарий/etc/grub.d/01_enable_vga.conf личинки, как описано:
cat << EOF
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
~> sudo update-grub
... но когда я перезагружаю машину и проверку, значение для устройства моста является неправильным:
~> sudo setpci -s "00:17.0" 3e.b
00
~> sudo setpci -s "02:00.0" 04.b
07
Какие-либо предложения на том, что я могу сделать для получения этого набора правильно, прежде чем я установлю драйверы NVIDIA? Я изменяю неправильное устройство моста? Существует ли лучший способ сделать это?
Заранее спасибо!
Я наконец решил проблему, когда setpci не изменяет значение моста PCI-E.
, Если Вы не можете установить значение PCI-E brigde регистры с помощью setpci команду для получения драйверов Nvidia GeForce, работающих над машиной Apple MacBook, пробуют эти шаги:
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 и Ваш дисплей в формате XX:XX.X
, Ваш идентификатор может отличаться.
В этом примере наш идентификатор 00:17.0 для PCI-E brige и 02:00.0 для дисплея [GPU].
GRUB, Наш сценарий будет немного отличаться, чем в упомянутом выше сообщении.
я заметил двух вещей. Grub2, установленный с помощью дистрибутива (мой - Centos) процесс установки, не содержит модуль личинки setpci. Это - причина, почему личинка не изменяет регистры в то время как начальная загрузка. Затем необходимо загрузить setpci модуль в личинку, прежде чем мы выполним команды для изменения регистров.
модули 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/ubuntu/x86_64-efi /
, Создают x86_64-efi папку.
папка Ubuntu в/boot/EFI/может отличаться на Вашей машине, зависит, как Вы назвали его в процессе установки ОС, не вставляйте его. Замените его корректным путем.
sudo mkdir /boot/EFI/ubuntu/x86_64-efi
Копия setpci файлы модуля в grub2 папку
sudo cp /usr/lib/grub/x86_64-efi/setpci.* /boot/EFI/ubuntu/x86_64-efi
Создают 01_enable_vga.conf файл.
файл должен содержать эти строки кода:
не забывают замену 00:17.0 для моста PCI и 02:00.0 для дисплея [GPU] с Вашими значениями.
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/ubuntu/grub.cfg
Ubuntu Linux
sudo update-grub
Делают эту команду только на других дистрибутивах (не необходимый на Ubuntu после личинки обновления):
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
Перезагружают Вашу машину и проверку, если она работает. Замените идентификатор Вашим снова. Ваш терминал должен наконец показать 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
Я имел ту же проблему и добрался здесь из-за Google. Кажется, что и Вы и я был смущен файлом/etc/grub.d/01_enable_vga.conf
, Вы хотите иметь файл, содержат команду кошки, Вы не хотите создавать его с кошкой (хорошо, можно создать его с вложенной кошкой). Так попробуйте это:
sudo bash -c "cat > /etc/grub.d/01_enable_vga.conf" << END
cat << EOF
setpci -s "00:17.0" 3e.b=8
setpci -s "02:00.0" 04.b=7
EOF
END
я получил ответ здесь: MacBook Pro 7,1 + Ubuntu 16.04 LTS + драйверы Nvidia