NVIDIA 드라이버와 관련된 15.10-> 16.04 LTS 업그레이드 후 로그인 실패


10

를 통해 시스템을 15.10에서 16.04로 업데이트했습니다 sudo do-release-upgrade. 이 과정에서 다음 메시지가 표시된 화면이 표시되었습니다.

시스템에서 UEFI 보안 부팅이 활성화되었습니다. UEFI 보안 부팅은 타사 드라이버 사용과 호환되지 않습니다.

(...) Ubuntu는 여전히 시스템에서 부팅 할 수 있지만 이러한 타사 드라이버는 하드웨어에서 사용할 수 없습니다.

UEFI 보안 부팅을 비활성화 하시겠습니까? (예 | 아니오)

내가 사용하는 유일한 타사 드라이버는 NVIDIA 그래픽 드라이버이므로 Ubuntu 15.10 및 Secure Boot가 활성화 된 상태에서 제대로 작동했기 때문에 여기서 "아니오"옵션을 선택했습니다. 이유를 알 수없는 이유를 알 수 없으며 업데이트 후 시스템 설정 GUI를 통해 타사 드라이버를 다시 설치할 수 있다고 가정했습니다.

아아, 아니 재부팅하면 로그인 화면이 매우 낮은 해상도로 나타납니다. 로그인을 시도하면 즉시 로그인 화면으로 돌아갑니다.

상황을 해결하기 위해 다음을 시도했습니다.

sudo apt-get purge nvidia*
sudo reboot

이로 인해 자주색 화면이 표시되고 Ctrl-Alt-F1에 반응하지 않습니다. SSH를 통해 로그인 한 후 다음을 수행했습니다.

sudo apt-get install nvidia-current
sudo reboot

다시 로그인 화면이 매우 낮고 로그온 방법이없는 이전 시나리오가 다시 나타납니다.

이것은 꽤 나쁜 업그레이드 경험입니다. 다른 사람이 이것을 가지고 있었고 이것을 고치기 위해 무엇을 할 수 있습니까? (UEFI 보안 부팅을 활성화 한 상태에서) 감사합니다.


5
보라 여기
Videonauth

와, 나쁘다. 지금까지 나는 PPA를 통해 nvidia-364를 설치 하고 보안 부팅을 비활성화해야했습니다. 이제는 작동하는 것처럼 보이지만 드라이버가 자동 업데이트되지 않으며 (실수하지 않은 경우) 보안 부팅을 다시 활성화 할 수도 없습니다.
kmhofmann

예, 불행히도 현재 다른 선택은 없습니다. 당신은 내가이 질문을 중복으로 표시한다는 것을 신경 쓰지 않습니다.
Videonauth

아니, 괜찮아
kmhofmann

적어도 전적으로는 아닙니다. 이 질문은 보안 복제의 새로운 트위스트를 추가합니다.이 문제는 "중복"질문의 일부가 아니며 (여러 의견과 답변에 언급되어 있지만) 더주의를 기울여야합니다.
Rod Smith

답변:


8

Ubuntu 15.10을 통해 Ubuntu의 Secure Boot 처리는 GRUB에서 중지되었습니다. 즉, Ubuntu의 Shim 버전은 Ubuntu의 GRUB 버전을 시작 하여 서명 여부에 관계없이 모든 Linux 커널을 시작 합니다 . 이것은 보안 부팅에 대한 지원 수준이 매우 낮습니다. 비교를 위해 Fedora의 GRUB은 서명 된 Linux 커널 만 시작하고, Fedora의 커널은 Secure Boot가 활성화 된 것을 감지하면 서명 된 커널 바이너리 만로드합니다. Fedora의보다 강력한 보안 부팅 지원의 목적은 이론적으로 컴퓨터를 매우 낮은 수준으로 인계 할 수있는 "불량"커널 모듈로부터 시스템을 보호하는 것이 었습니다. 우분투 15.10 이전에는 그러한 보호 기능이 없었습니다.

16.04부터 Ubuntu는 Fedora가 한동안 해왔 던 것과 더 엄격한 보안 부팅 모듈을 따릅니다. 여기에는 보안상의 이점이 있지만 앞에서 본 것처럼 문제도 있습니다. Linux 드라이버의 Ubuntu 버전이 유효한 것으로 인식하는 암호화 키로 타사 드라이버에 서명하지 않은 경우로드되지 않습니다. 이것은 주로 폐쇄 소스 Nvidia 및 AMD / ATI 비디오 드라이버에 영향을 주지만 영향을받을 수있는 다른 드라이버도 있습니다.

이 문제에 대한 몇 가지 해결 방법이 있습니다.

  • 보안 부팅 비활성화 -가장 쉬운 솔루션입니다. 펌웨어 설정으로 뭉개거나 Shim 설정을 조정하여 그렇게 할 수 있습니다. (심의 설정을 조정하여 수행하는 방법을 잘 모르겠지만 가능할 것입니다.)
  • 타사 커널 모듈을 사용하지 마십시오 -Ubuntu의 표준 Linux 커널에 포함 된 오픈 소스 드라이버로 제한하는 경우 Canonical은 모든 해당 드라이버 (AFAIK)에 서명하므로 괜찮습니다. 그러한 드라이버를 사용하는 Nvidia의 지원은 상당히 좋을 것입니다. 폐쇄 소스 드라이버를 사용할 수 있다고 생각했기 때문에 시스템이 최적이 아닌 드라이버로 대체되었을 수 있습니다. 나는 서로 전환하는 방법을 알지 못하지만 이 질문 은 AMD / ATI 드라이버로 그렇게하는 것에 관한 것이므로 유용한 출발점이 될 수 있습니다.
  • 관련 모듈 에 서명-이론적으로 상용 모듈에 직접 서명하면 작동하도록해야합니다. 불행히도,이 작업을 수행하는 방법에 대한 지침이 없습니다. 사실 우분투 커널로이 작업을 수행 할 수 있는지 확실하지 않습니다. 그러한 커널은 Canonical의 키로 서명 된 모듈 만 존중할 수 있습니다.
  • 고유 한 커널 컴파일 - 고유 한 커널 을 컴파일하는 경우 서명되지 않은 모듈로드에 대한 제한 완화를 포함하여 원하는대로 옵션을 설정할 수 있습니다. 그런 다음 고유 한 EFI 키로 커널에 서명하고 해당 키의 공개 버전을 MOK 목록에 추가해야합니다. 여기 질문하고 자신의 커널을 컴파일에 대해 응답합니다.
  • 이전 GRUB으로 전환 -이전 GRUB은 서명되지 않은 커널을 시작하므로 그러한 GRUB (Ubuntu 15.10 또는 그 이전 버전)을 설치하고 서명되지 않은 커널을 시작할 수 있습니다. 오래된 GRUB을 유지하는 것은 고통 스러울 수 있습니다.
  • 보안 부팅을 준수하지 않는 부트 로더로 전환 -고유 키로 SYSLINUX 또는 ELILO와 같은 부트 로더에 서명하고 해당 키의 공개 버전을 MOK 목록에 추가하면 해당 부트 로더는 보안을 무시합니다. GRUB의 이전 버전과 마찬가지로 부팅 설정. 그런 다음 서명되지 않은 커널을 시작할 수 있습니다.

내가 100 % 확신 할 수있는이 두 가지 옵션은 보안 부팅을 비활성화하거나 타사 커널 모듈을 피하는 것입니다. 전염병과 같은 타사 커널 모듈을 사용하지 않으므로 Secure Boot 환경에서 사용하는 데 개인적인 경험이 없습니다. Secure Boot를 비활성화하는 것 외에도 자신 만의 커널을 구축하는 것이 가장 효과적 일 수 있으며, 이전 GRUB을 사용하거나 Secure Boot를 준수하지 않는 부트 로더를 사용합니다. 한때 자신의 커널을 구축하는 것이 일반적 이었지만 더 이상 그렇게하는 사람은 거의 없었으며, 현대 커널을 사용하여 실제로 커널을 구성하는 방법을 배우는 데 실제로 시간을 투자하는 데 많은 시간을 투자하는 것이 중요 할 수 있습니다. 이전 GRUB 또는 다른 부트 로더를 사용하는 것이 더 쉬울 수 있지만이를 설정하려면 충분히 알고 있어야합니다.


2
*이 문제가 해결 될 때까지 Ubuntu 14.04를 사용하십시오. 데스크탑의 Linux가 여전히 보이지 않는 데에는 여러 가지 이유가 있습니다. 이런 종류의 일은 사람들이 리눅스를 채택하는 것을 더욱 고통스럽게 만듭니다.
Underverse

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.