저에게 Nvidia 드라이버가로드 된 상태에서 UEFI 모드로 Ubuntu를 부팅하면 X가 시작될 때 항상 잘 알려진 검은 화면이 나타납니다.
어제까지였습니다!
Mac에서 UEFI 모드로 Windows 7을 설치하는 방법에 대한 다른 스레드 에서 유망한 정보를 얻은 후 거기에있는 사람들은 Windows 7의 필수 int 10h 레거시 지원으로 어려움을 겪고 있었고이 문제를 해결하기 위해 무인 설치를 수행 할 수 있음을 알았습니다 (설치 중에 디스플레이가 작동하지 않기 때문에). Nvidia 드라이버를 사용해도 UEFI 모드에서 Ubuntu를 성공적으로 부팅하기 위한 중요한 정보 는 EFI 부팅이 시작될 때 (그럽으로 넘겨 줄 때) Apple의 펌웨어는 실제로 VGA 카드를 PCI-E 버스 마스터로 활성화하지 않는다는 것 입니다. Windows 직원은 최소한 무인 모드에서 설치 프로그램을 실행하기 위해 Windows 부팅 관리자를 체인로드하는 EFI 셸을 사용하여이를 피하는 방법을 설명했습니다. 그리고 여기 좋은 소식이 있습니다 :GRUB에서이 작업을 쉽게 수행 할 수 있습니다 !
사실, 지금 UEFI 모드 ( Xorg.0.log )로 부팅 된 Ubuntu Vivid를 실행하는 MacBook Pro 7,1 (2010 년 중반)에서이 정보를 입력하고 있습니다. 그러나 GRUB의 EFI 버전 (예 : Ubuntu 14.04.2 LTS)을 제공하는 Linux 배포판에 쉽게 실행하거나이를 적용 할 수 있어야합니다.
~$ 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 구현이라는 이름조차 없습니다.
이것이 내가 해결 한 방법입니다. 물론, kudo는 주로 MacRumors 포럼의 사람들에게 전달됩니다.
면책 조항 다음의 설명은 보증없이 제공되며 어떠한 책임도지지 않습니다. 자신의 위험에 따라하십시오!
1. Nvidia 드라이버를 사용하여 Ubuntu를 UEFI 모드로 설치
웹 에이 작업을 수행하는 방법을 보여주는 많은 기사가 있으며 Nvidia 드라이버를 설치 한 후 컴퓨터를 뜨거운 상태로 실행하는 nouveau 드라이버 또는 검은 화면으로 끝날 것이므로 여기에 자세히 설명하지 않습니다 (예 : www.rodsbooks.com) / ubuntu-efi ).
그러나 다음 지침은 UEFI 모드에서 성공적으로 설치 및 부팅되었다고 가정합니다. EFI 모드로 부팅 한 후에 만 생성되는 / sys / firmware 디렉토리가 있는지 확인하여 확인할 수 있습니다 .
2. 올바른 PCI-E 버스 식별자 찾기
그래픽 카드의 ID와 연결된 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) 디스플레이 라인 바로 앞에 브리지가있는 라인을 살펴보십시오. 브리지 장치 (여기서는 00 : 17.0)와 디스플레이 장치 (여기서는 04 : 00.0)의 PCI-E 버스 ID (형식 XX : YY.Z)를 기록하고 어느 것을 기억하십시오. 참고 : Mac 모델 및 버전에 따라 해당 ID가 시스템에서 다를 수 있습니다.
3. 부팅 중 PCI-E 레지스터 설정을위한 GRUB 스크립트 생성
sudo nano /etc/grub.d/01_enable_vga.conf를 사용하여 텍스트 편집기를 시작하고 아래 내용을 복사 / 붙여 넣기하십시오. 교체 00 : 17.0을 2 단계에서 기록한 당신의 다리 장치의 PCI-E ID로 교체 04 : 00.0을 2 단계에서 언급 한 디스플레이 장치의 PCI-E ID와 함께.
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 드라이버를 설치하고 즐기십시오!
Ubuntu의 추가 드라이버 GUI를 사용하여 Nvidia 드라이버를 설치하십시오. 기본적으로 밝기 컨트롤이 작동하지 않기 때문에 밝기 컨트롤을 활성화하는 방법에 대해이 기사 를 따르는 것이 좋습니다 .