부팅 시 NVIDIA 드라이버를 켜고 끄기

부팅 시 NVIDIA 드라이버를 켜고 끄기

동일한 Linux 파티션을 직접("베어 메탈") 부팅하고 Windows의 VirtualBox에서 게스트로 부팅하고 있습니다.

이 파티션을 직접 부팅하면 부팅되고 바탕 화면이 제대로 표시됩니다. 그러나 VM 내에서 부팅할 때는 systemd.unit=multi-user.targetgrub 부팅 옵션을 사용하여 TTY로 부팅할 수 있습니다.

내 PC에는 nVidia GPU가 있으므로 베어 메탈 부팅을 위해 nvidia 드라이버가 설치되어 있습니다. 그러나 VM을 부팅하면 VM에 nVidia GPU가 없습니다. VMWare는 자체 가상 VGA 하드웨어를 제공합니다. 내가 이해하는 바에 따르면 Linux에는 이를 위한 기본 드라이버가 있으며 제대로 인식됩니다.

$ lspci -k
...
00:02.0 VGA compatible controller: VMware SVGA II Adapter
        Subsystem: VMware SVGA II Adapter
        Kernel driver in use: vmwgfx
        Kernel modules: vmwgfx
...

위의 커널 옵션으로 VM을 실행하여 TTY로 부팅한 다음 ssh를 통해 VM에 로그인하고 실행하면 sudo systemctl start graphical.targetVM의 그래픽 출력에 다시 로그인 프롬프트 직전에 충돌이 발생하는 것으로 표시됩니다. 다음과 같습니다:충돌. systemd 저널에는 다음 로그가 포함되어 있습니다.Journalctl 출력.

VM에서는 nvidia 드라이버 없이 부팅할 수 있지만 베어 메탈 부팅 시에는 nvidia 드라이버를 사용하고 싶습니다. 어떻게 해야 하나요? 나는 이것이 작동하도록 정말로 걱정하고 있습니다. 불행히도 Nvidia 드라이버를 제거하지 않고 끄는 것에 대한 모든 온라인 토론은 옵티머스/프라임/Gpu 전환 주제에 관한 것입니다. 랩톱에 두 개의 GPU가 동시에 있는 경우 여기서는 그렇지 않습니다. 본질적으로 제가 하는 일은 Nvidia GPU가 있는 PC에서 하드 드라이브를 꺼내 일반 GPU("VMware" 브랜드)가 있는 PC에 넣은 다음 꺼내는 것과 같습니다. 그리고 엔비디아 PC에 다시 넣으세요. 예를 들어 grub에서 "nvidia gpu가 있는 linux"와 "vmware gpu가 있는 linux"라는 두 가지 개별 선택 항목이 있는 것으로 구성 변경이 표시되는 것을 볼 수 있었고 올바른 것을 선택해야 했습니다.

이에 대해 100% 확신할 수는 없지만 nvidia 드라이버가 커널을 패치한다는 것을 이해합니다. 따라서 nvidia 패치 커널과 nvidia가 아닌 커널을 선택할 수 있는 방법이 있을까요? 이것이 좋은 접근 방식일까요?

저는 Ubuntu 18.04 x64를 사용하고 있고 nvidia-390을 사용하고 있지만 해당 버전을 다른 버전으로 변경할 수 있습니다.

모든 힌트를 주시면 감사하겠습니다.

답변1

nVidia 드라이버를 끌 필요가 없다는 것이 밝혀졌습니다. 여기서 일어나는 일은 VirtualBox의 버그로 인해 정지가 발생한다는 것입니다. 그래픽 컨트롤러 구현을 VMSVGA에서 VBoxVGA(VBoxSVGA 아님)로 전환하면 문제가 해결되었으며 이제 시스템으로 부팅하여 데스크탑을 얻을 수 있습니다.

이 솔루션을 제안해주신 Freenode의 vbox irc 채널에 있는 klaus-vb에게 감사드립니다. 그는 Ubuntu 18.04의 버그를 알고 있었습니다. 그런 점에서는 18.10이 더 나은 것 같습니다.

관련 정보