Ich habe ein Lenovo Y510P und darauf läuft Linux (Antergos). Ich habe gelesen, dass ich Windows laufen haben muss, um das BIOS zu aktualisieren.
Ich vermute, dass es ein Nein ist, weil es eine Sandbox-Umgebung ist, aber ich möchte sicher sein, da ich beim Installieren neuer Betriebssysteme große Probleme mit den Startmenüs hatte.
Antwort1
Technisch ist es möglich. Praktisch jedoch mit keiner VM, die ich ausprobiert habe.
Das Problem ist, dass Sie
- Wissen Sie, auf welche Hardwaregeräte das BIOS-Updater schreibt. (Zum Beispiel ein NVRAM-Gerät.)
- Machen Sie Ihr Host-Betriebssystem auf diese Hardware aufmerksam. (Zum Beispiel indem Sie sie als Datei in /dev/ speichern. Ein Treiber wird nur für Geräte benötigt, an die er angeschlossen ist, wie zum Beispiel ein Bus.)
- Sorgen Sie dafür, dass Ihre VM diese Geräte an den Gast weiterleitet.
Mit Linux als Host sollten die Schritte 1 und 2 machbar sein, sofern die Hardware nicht proprietär oder sehr exotisch ist. (NVRAM ist beispielsweise einfach.) Das Problem ist, dass keine mir bekannte VM durchkommtwillkürlichHardware. Sie können USB und PCI und Laufwerke usw. Aber nicht irgendein beliebiges Stück Hardware. Denn, und das ist meine Antwort: Die VM-Software würdeAuchSie brauchen eine Art „Fahrer“, der weiß, wie er die Durchfahrt tatsächlich bewältigt und gleichzeitig überwacht, was dem Kunden erlaubt ist.
In der Praxis gibt es also zwei Möglichkeiten:
- Hardware, die Linux als „normale“ Hardware betrachten kann … NVRAM kann beispielsweise als normales Blockgerät dargestellt werden, das Sie verwenden können
dd
. Sie benötigen überhaupt keine VM und können das Update direkt von Linux aus durchführen. (Aber seien Sie vorsichtig, da die ursprünglichen BIOS-Updater normalerweise einige sehr wichtige Prüfungen durchführen, z. B. ob es tatsächlich mit der Hardware kompatibel ist usw. Andernfalls könnten Sie am Ende einen Brick haben.) - Alles andere, wo Sie zu KVM/qemu beitragen und Passthrough für Ihre spezifische Hardware hinzufügen müssten.
TL;DR: Alles ist möglich, wenn Sie alle Zeit dafür haben. Sofern es nicht außerhalb Ihres Ereignishorizonts liegt. ;)
Oder noch kürzer: Nein.