NVIDIA-Treiber beim Booten ein- und ausschalten

NVIDIA-Treiber beim Booten ein- und ausschalten

Ich boote dieselbe Linux-Partition sowohl direkt („Bare Metal“) als auch als Gast unter VirtualBox in Windows.

Wenn ich diese Partition direkt boote, bootet sie und zeigt den Desktop einwandfrei an. Wenn ich jedoch innerhalb einer VM boote, kann ich mithilfe systemd.unit=multi-user.targetder Grub-Boot-Optionen problemlos in ein TTY booten.

Mein PC hat eine NVIDIA-GPU, daher sind die NVIDIA-Treiber zum Booten von Bare Metal installiert. Wenn ich die VM jedoch boote, ist keine NVIDIA-GPU in der VM vorhanden – VMWare bietet seine eigene virtuelle VGA-Hardware. So wie ich es verstehe, hat Linux dafür Haupttreiber, und sie werden richtig erkannt:

$ 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
...

Wenn ich die VM mit der obigen Kerneloption starte, sodass sie in ein TTY bootet, und mich dann per SSH bei der VM anmelde und ausführe sudo systemctl start graphical.target, zeigt die grafische Ausgabe der VM erneut, dass sie kurz vor der Anmeldeaufforderung abstürzt. Sie sieht folgendermaßen aus:AbsturzDas systemd-Journal enthält das folgende Protokoll:Journalctl-Ausgabe.

Ich möchte in einer VM ohne die NVIDIA-Treiber booten können, aber beim Booten von Bare Metal mit den NVIDIA-Treibern. Wie kann ich das machen? Ich möchte das unbedingt zum Laufen bringen. Leider dreht sich die gesamte Online-Diskussion über das Ausschalten von NVIDIA-Treibern ohne Deinstallation um das Thema Optimus/Prime/GPU-Umschaltung, wenn man zwei GPUs gleichzeitig in einem Laptop hat, und das ist hier nicht der Fall. Im Wesentlichen mache ich es so, als würde ich die Festplatte aus einem PC mit NVIDIA-GPU herausziehen und in einen PC mit generischer GPU (mit der Marke „VMware“) einsetzen und sie dann von dort herausnehmen und wieder in den NVIDIA-PC einsetzen. Ich könnte mir vorstellen, dass die Konfigurationsänderung beispielsweise dadurch angezeigt wird, dass es in Grub zwei separate Auswahlmöglichkeiten gibt, eine für „Linux mit NVIDIA-GPU“ und eine für „Linux mit VMware-GPU“, und ich müsste die richtige auswählen.

Ich bin mir da nicht 100 % sicher, aber ich verstehe, dass der NVIDIA-Treiber den Kernel patcht. Vielleicht gibt es also eine Möglichkeit, zwischen einem NVIDIA-gepatchten Kernel und einem Nicht-Kernel auszuwählen. Wäre das ein guter Ansatz dafür?

Ich verwende Ubuntu 18.04 x64 und nvidia-390, aber ich könnte die Version in eine andere ändern.

Ich freue mich über jeden Hinweis.

Antwort1

Es stellt sich heraus, dass es nicht nötig ist, die nVidia-Treiber auszuschalten. Das Einfrieren ist auf einen Fehler in VirtualBox zurückzuführen. Das Umstellen der Grafikcontroller-Implementierung von VMSVGA auf VBoxVGA (und nicht VBoxSVGA) hat das Problem für mich gelöst und ich kann jetzt das System booten und den Desktop aufrufen.

Vielen Dank an klaus-vb vom vbox-IRC-Kanal auf Freenode für den Lösungsvorschlag. Er war sich des Fehlers bei Ubuntu 18.04 bewusst. Anscheinend ist 18.10 in dieser Hinsicht besser.

verwandte Informationen