Virtualisierte Hardware - Virtuelle Maschinen unter Linux nutzen

Virtualisierte Systeme finden sich nicht nur bei Linux-Nutzern, die nicht auf Windows-Anwendungen verzichten möchten, sondern nahezu überall in der IT-Welt. Wir geben einen Einblick.

25
Special Alexandros Bikoulis Als bevorzugte Quelle auf Google hinzufügen
Virtualisierte Hardware - Virtuelle Maschinen unter Linux nutzen
Quelle: PC Games Hardware

Heutzutage kommt im Serverbereich häufig die Technik der Virtualisierung zum Einsatz. Bei dieser Technologie werden Ressourcen eines physisch vorhandenen Rechners in mehrere virtuelle, voneinander isolierte Bereiche aufgeteilt. Dadurch können mit der vorhandenen Hardware beispielsweise mehrere Softwaresysteme betrieben werden. Faktisch können damit auch unterschiedliche Rechner- und Befehlsatzarchitekturen real existierender Hardware nachgebildet werden, um sonst nicht lauffähige Programme ausführen zu können. Im letzten Teil der Linux-Reihe wollen wir uns mit solchen virtuellen Maschinen (VMs) beschäftigen und prüfen, wie gut man unter Linux ein virtuelles Windows-System betreiben kann.

Virtuelle Maschinen unter Linux nutzen: Gute Gründe für Virtuelles

Die Virtualisierung von Hardware und Computern hat viele Vorteile: Virtuelle Maschinen erlauben beispielsweise eine ökonomischere Nutzung vorhandener Ressourcen, wodurch Anwender Geld, Wartungsaufwand und Energie einsparen können. Glaubt man dem Platzhirsch VMware, werden Server in der Regel nur zu 15 Prozent ausgelastet - Einsparpotenzial ist also gegeben. Aber nicht nur modernes Cloud-Computing oder Serveranwendungen profitieren von virtueller Hardware, sondern auch der normale Deskto­­p­anwender. Mit VMs kann man am heimischen Rechner perfekt eine Testumgebung, beispielsweise in der Softwareentwicklung, einrichten und somit unterschiedliche Hardware für die eigene Software simulieren.

Einen anderen wichtigen Aspekt bildet der hohe Grad der Ausfallsicherheit: Stürzt ein virtuelles System oder Programm ab, liegt nicht gleich die ganze Hardware brach und beendet andere Prozesse, sondern nur die Instanz der VM kommt zum Erliegen. Im Umkehrschluss lassen sich virtuelle Maschinen ganz einfach und im laufenden Betrieb auf ein anderes Hardware-System migrieren, sodass technische Defekte eine Service-Anwendung nicht zum Erliegen bringen. Mittels der verschiedenen virtuellen Maschinen ist es zudem möglich, die Fehlerquelle leichter zu finden. Auch die vom Internet oder von fremden Dateien ausgehenden Gefahren können durch eine Virtualisierung minimiert werden, indem einfach eine VM für diese Tätigkeiten abkommandiert wird. Es gibt also genug gute Gründe für die Verwendung virtueller Maschinen, selbst wenn man nur in den Genuss OS-spezifischer Programme kommen möchte.

Virtuelle Maschinen unter Linux nutzen: So installieren Sie in Sekunden eine Virtuelle Maschine

Wegen des Open-Source-Charakters von Oracles Virtualbox haben wir uns dieses Programm herausgesucht. Sie können aber natürlich auch andere Programme heranziehen. Die folgenden Ausführungsschritte sind in Windows und Linux nahezu identisch (abgesehen von den Terminaleingaben).

Schritt 01 Installation von Virtualbox

Zunächst müssen Sie in Ihrer Linux-Umgebung sicherstellen, dass nicht bereits eine andere Version von Virtualbox schon vorinstalliert wurde. Hierfür geben Sie im Terminal einfach "sudo apt-get remove virtualbox-\*" und "sudo apt-get purge virtualbox-\*" ein, gefolgt von Ihrem Passwort. Dieser Schritt ist leider notwendig, da die in den Ubuntu-Repositories hinterlegten Programmdateien veraltet sind und Probleme erzeugen. Als Nächstes können Sie die aktuelle Version auf der Herstellerseite von Virtualbox laden (www.virtualbox.org/wiki/downloads) und anschließend installieren. Achten Sie hier auf die richtige Architektur Ihres Betriebssys­tems sowie die richtige Distribution (für Windows gibt es nur eine Version). Um in den Genuss einer USB-2.0- und USB-3.0-Unterstützung innerhalb der VM zu kommen, müssen Sie zusätzlich noch das Extension-Paket herunterladen und installieren, welches Sie ebenfalls auf der Downloadseite finden. Nachdem Sie Programm- und Zusatzpaket installiert haben, ist es nun an der Zeit, Ihre virtuelle Maschine zu konfigurieren.
Virtualisierte Hardware: In Schritt 1 müssen Sie zunächst alle vorinstallierten Versionen von Virtual Box löschen Quelle: PC GamesPC Games Hardware Virtualisierte Hardware: In Schritt 1 müssen Sie zunächst alle vorinstallierten Versionen von Virtual Box löschen Virtualisierte Hardware: Sicherheitshalber nutzen wir neben 'remove'- auch noch den 'purge'-Befehl Quelle: PC Games Hardware Virtualisierte Hardware: Sicherheitshalber nutzen wir neben "remove"- auch noch den "purge"-Befehl

Schritt 02 Einrichten der Windows VM

Wenn Sie einen Linux-Host nutzen, also die VM unter Linux installiert haben, und Windows in der virtuellen Maschine laufen lassen möchten, benötigen Sie zwingend eine Nutzungslizenz für das Betriebssystem. Laden Sie ein Windows-Image von Microsoft herunter, indem Sie beispielsweise mit dem Media-Creation-Tool von Microsoft ein bootfähiges DVD-Abbild erstellen. Diese gilt es nun in die VM zu laden, indem Sie zunächst über "Neu" eine frische VM erstellen. Suchen Sie zunächst nach der korrekten Windows-Version beziehungsweise Architektur, die Sie installieren möchten - ohne die richtige Auswahl ist der Hypervisor nicht in der Lage, die Kommunikation zwischen den Ringen zu koordinieren. Jetzt können Sie Ihrer virtuellen Maschine RAM und Festplattenplatz zuweisen - keine Angst, Ihre Host-HDD wird nicht partitioniert, die VM liegt als Containerdatei vor. Wenn Sie sich nun durch den Assis­tenten geklickt haben, haben Sie einen virtualisierten Computer ohne Betriebssystem erstellt.
Virtualisierte Hardware: Wer eine GPU nutzen möchte, sollte sich unbedingt mit PCI-Passthrough beschäftigen, denn ansonsten wird die Grafikkarte nur simuliert. (Schritt 2) Quelle: PC Games Hardware Virtualisierte Hardware: Wer eine GPU nutzen möchte, sollte sich unbedingt mit PCI-Passthrough beschäftigen, denn ansonsten wird die Grafikkarte nur simuliert. (Schritt 2)

Schritt 03 Einbinden des Windows-Images

Das im vorherigen Schritt erstellte Windows-Abbild muss nun in ein virtuelles Laufwerk eingebunden werden. Dies können Sie über verschiedene Wege bewerkstelligen, am einfachsten ist es aber, ein "virtuelles" DVD-Laufwerk zu erzeugen. Dazu müssen Sie einfach Ihre VM auswählen und über den Button "Ändern" die Einstellungen des virtuellen PCs aufrufen. Hier können Sie auch noch im Nachhinein Windows-Version oder Prozessor-Architektur sowie zugewiesenen RAM und HDD-Platz ändern. Darüber hinaus besteht noch die Möglichkeit, Ihre VM zu verschlüsseln oder den Grafikspeicher anzuheben und die 3D-Beschleunigung zu aktivieren. Uns interessiert aber in erster Linie der Reiter "Massenspeicher", in dem wir das virtuelle Laufwerk finden. Wählen Sie hierzu das DVD-Symbol aus, das mit leer bezeichnet unter Ihrer virtuellen Festplatte zu finden ist. Anschließend klicken Sie rechts unter "Attribute" auf ein weiteres DVD-Symbol mit einem kleinen Pfeil: Hier können Sie Ihr im Vorfeld erzeugtes Image einbinden. Als Nächstes müssen Sie noch den Netzwerkzugang der VM regeln, indem Sie die Netzwerkbrücke auswählen: Hier können Sie Ethernet oder WLAN auswählen, je nachdem, über welche Module Ihr physischer Rechner verfügt.
Virtualisierte Hardware: Mit Virtualbox lässt sich innerhalb von Sekunden eine VM auf Ihrem System erstellen. (Schritt 3) Quelle: PC Games Hardware Virtualisierte Hardware: Mit Virtualbox lässt sich innerhalb von Sekunden eine VM auf Ihrem System erstellen. (Schritt 3)

Schritt 04 Installieren des Windows-Abbildes

Starten Sie Ihre virtuelle Maschine, laden Sie über die F12-Taste die Bootfolge und wählen das CD-ROM-Laufwerk aus. Windows ist nun bereit zur Installation - folgen Sie einfach den Anweisungen am Bildschirm, der Installationsmanager beziehungsweise Cortana leiten Sie durch diesen Prozess.

Schritt 05 Die Windows VM ist nun einsatzbereit

Sie haben nun erfolgreich eine Windows-Installation in einer virtuellen Maschine auf einem Linux-Rechner vollzogen und können Windows-spezifische Programme nutzen. Möchten Sie anspruchsvolle Spiele in einer VM nutzen, müssen Sie PCI-Passthrough aktivieren.
Virtualisierte Hardware: In Schritt 4 müssen wir unser Installationsmedium für Windows nutzen Quelle: PC Games Hardware Virtualisierte Hardware: In Schritt 4 müssen wir unser Installationsmedium für Windows nutzen Virtualisierte Hardware: Windows 10 unter Linux (Schritt 5) Quelle: PC Games Hardware Virtualisierte Hardware: Windows 10 unter Linux (Schritt 5)

Virtuelle Maschinen unter Linux nutzen: Wie funktionieren VMs?

Die Virtualisierung entkoppelt die vorhandene Hardware eines Computers von den darauf ausgeführten Programmen und Betriebssystemen, sodass es zu einer softwaretechnischen Kapselung eines Rechnersystems in einem anderen kommt. Um dies zu bewerkstelligen, wird eine Hardwareabstraktionsschicht (HAL, engl. Hardware Abstarction Layer) eingeführt, die als letzte Instanz auf die Hardware direkt zugreifen kann. Liegt der HAL nun direkt auf der Hardware auf und koordiniert die Ressourcennutzung, spricht man von einem Typ-1-Hypervisor. Dieser Typ kommt bevorzugt auf Servern mit Dutzenden VMs zum Einsatz, benötigt aber alle Geräte­treiber für die Host-Hardware. Eine virtuelle Maschine mit einem Typ-2-Hypervisor liegt stattdessen auf dem Wirts-Betriebssystem (Host-System) auf und nutzt die OS-eigenen Treiber, um die Hardware anzusprechen und die Rechenleistung zu verwalten. Die Virtualisierungsanwendungen für Desktop­rechner basieren zum Großteil auf Typ-2-Hypervisoren. Natürlich gibt es auch noch Mischformen, die beide Typen nutzen. Die Virtualisierungsfunktion ist dann Teil des Betriebssystems oder wird bei Linux als Kernelmodul geladen. Damit ist es möglich, dass ein OS sich selbst virtualisiert.

Sendet ein Gastsystem nun Befehle an die CPU, werden diese zum Großteil vom Hypervisor an die Host-Hardware durchgereicht. Einige Befehle können aber nicht ausgeführt werden und müssen deshalb durch den Hypervisor umgebaut werden. Der Grund dafür liegt im Design der x86-Prozessoren, das in Zuständigkeitsbereiche (Ringe) unterteilt ist. Nur das Host-Betriebssystem darf deshalb im Ring 0 laufen, der sogenannte Kernel-Mode, und nutzt dort privilegierte CPU-Instruktionen, wie beispielsweise den Direktzugriff auf Interrupt und Speicher. Der User-Mode wird in den Ringen 1, 2 und 3 realisiert, in denen Systemtreiber laufen. Programme selber können nur im dritten Ring betrieben werden. Betriebssysteme in einer virtuellen Maschine laufen deswegen im Ring 3, obwohl sie außerhalb des Kernel-Mode gar nicht laufen können, da sie nicht für den User-Mode konzipiert wurden - hier muss der Hypervisor eingreifen und die Befehle umstrukturieren, sodass sie verstanden werden können.

Virtuelle Maschinen unter Linux nutzen: Kann man neueste Spiele in einer VM spielen?

Wer Windows in einer virtuellen Maschine auf seinem Linux-Rechner installieren möchte, der hat wahrscheinlich nicht nur Windows-spezifische Programme im Hinterkopf, sondern auch Videospiele, die unter Linux oder Wine nicht oder nur enttäuschend schwach laufen. Ist es nun also möglich, aktuelle Spiele in einer VM unter Linux zu bewerkstelligen? Ja und nein, denn es kommt auf Ihre eingesetzte Host-Hardware an. Mit der in der Virtualbox eingerichteten virtuellen Grafikkarte lassen sich zumindest neue Spieletitel nicht zum Laufen bringen, geschweige denn genießen, da hier die GPU nur simuliert wird.

Hierfür muss eine separate GPU dem virtuellen Computer zugewiesen werden, die sich von der Host-Grafikeinheit deutlich unterscheiden sollte. Mittels des sogenannten PCI-Passthrough können Sie beispielsweise eine dedizierte Grafikkarte der virtuellen Maschine zuweisen und den Host-Rechner über die integrierte GPU des Prozessors laufen lassen. Ihre Grafikkarte sollte zudem UEFI unterstützen, da Sie ansonsten zwei dedizierte GPUs benötigen und die virtuelle Maschine an ein BIOS-System anpassen müssen. Darüber hinaus muss Ihre CPU noch Virtualisierungsfunktionen unterstützen, wie Intels VT-x oder AMD-V. Mainboard und Prozessor benötigen zusätzlich noch eine Input/Output-Memory-Management-Unit (IOMMU), die bei AMD AMD-Vi und bei Intel VT-d genannt wird. Eventuell müssen Sie diese Funktionen im BIOS erst aktivieren, da viele Betriebssysteme sie nativ abschalten. Auch Ihre Linux-Distribution muss mit IOMMU im Hinterkopf kompiliert worden sein, inklusive DMA Remapping und PCI-Stub-Treiber.

Neben einer integrierten und dedizierten GPU sollte Ihr Host-Rechner noch über mindestens 12 GiB RAM (besser sind 16 GiB) verfügen, sodass Sie der Windows VM 8 GiB Zwischenspeicher zuweisen können und das Linux-Host-System immer noch genug RAM zur Verfügung hat.

Virtuelle Maschinen unter Linux nutzen: Linux-Voodoo

Jetzt kommt der wirklich komplizierte Teil, wenn Sie einen PCI-Passthrough für Ihre virtuelle Maschine innerhalb einer Linux-Distribution einrichten möchten. Sichern Sie im Vorfeld alle Daten, denn Sie hantieren hier mit wichtigen Dateien und könnten Ihr System beschädigen.

Wenn Sie sich also sicher sind, dass Ihr Linux-Kernel und Ihre Host-Hardware alle Virtualisierungsfunktionen unterstützen, müssen Sie als Nächstes Ihre PCI-Karte der VM zuweisen. Um die ID und Adresse der PCI-Hardware zu ermitteln, nutzen Sie den "lspci"-Befehl und notieren Sie sich beide Werte. Jetzt muss Linux nur noch wissen, dass es während des Boots die PCI-Grafikkarte an die VM durchreicht und die iGPU als Grafikeinheit für das Host-System verwendet. Hierfür müssen Sie den "Grand Unified Bootloader", kurz Grub, modifizieren: Ändern Sie die Zeile "GRUB_CMDLINE_LINUX_DEFAULT" und fügen "intel_iommu=on" hinzu. Hiermit haben Sie das IOMMU-Mapping für PCI-Geräte aktiviert. Der Bootloader muss nun wissen, welche Hardware er nicht für den Host verwenden darf, sodass Sie zusätzlich noch in die oben genannte Zeile "pci-stub.ids=ermittelteID1,ermittelteID2" eintragen müssen. Fügen Sie die Module vfio, vfio_iommu_typoe1, vfio_pci und vfio_virqfd der Modules-Datei unter /etc/ hinzu, damit der Kernel beim Bootvorgang weiß, welche GPU nicht für das Host-System verwendet werden darf.

Virtuelle Maschine unter Linux nutzen: Aufwand, der sich lohnt

Mit VMs kann man seinen Rechner sicherer machen und OS-spezifische Programm ausführen oder Software testen. Mittels PCI-Passthrough - das zugegeben viel Einarbeitungszeit, Kraft und Nerven kostet, lassen sich sogar neuste Videospiele in einer Windows VM spielen, ohne dabei auf irgendwelche Annehmlichkeiten zu verzichten.

25
    • Kommentare (25)

      Zur Diskussion im Forum
      • Von lunaticx Software-Overclocker(in)
        Schicker Post / Bericht.

        Noch schickere Foreneinträge
        Nach der Doku Microsoft-Dilemma auch mal wieder ins Grübeln gekommen ... bunch of work ... aber lohnt sich wohl ...

        Und wenn das mittlerweile selbst mit Notebook-Grafikkarten und Bumblebee klappt ... fehlt mir nur noch die Zeit ... hachja ... es könnte so schön sein
      • Von lunaticx Software-Overclocker(in)
        Schicker Post / Bericht.

        Noch schickere Foreneinträge
        Nach der Doku Microsoft-Dilemma auch mal wieder ins Grübeln gekommen ... bunch of work ... aber lohnt sich wohl ...

        Und wenn das mittlerweile selbst mit Notebook-Grafikkarten und Bumblebee klappt ... fehlt mir nur noch die Zeit ... hachja ... es könnte so schön sein
      • Von tt7crocodiles Software-Overclocker(in)
        Ja, ich habe irgendwann vor 10 Jahren aufgegeben nach einer Lösung zu suchen und den Weg des geringsten Wiederstandes gewählt - Windows 7 Beta, welches mich dann irgendwann auch komplett vom Linux bekehrt hat. Wie ich jetzt überall rauslesen kann, es ist möglich und auch ziemlich komfortabel geworden.
        Solche Threads haben mich damals ins Verzweifeln getrieben ich glaube, so hab ich meine erste Kernel Panic kennengelernt.
      • Von Bunkasan
        Hätte nicht gedacht, dass inzwischen so viele Virtualisierung mit Passthrough nutzen... hat sicher aber auch viel gändert und ist sehr viel komfortabler geworden, als vor fast 8 Jahren, als sich hier im Forum ein paar wenige Verrückte damit rumgeärgert haben, und ich meinen Hypervisor noch mit selbstgeschriebenen Patches zur Arbeit überreden musste...

        EDIT: Gibt den alten Thread sogar noch, falls jemand mal drin stöbern will, was für ein Gefrickel das damals teils war... Xen und 3D
      • Von idge PC-Selbstbauer(in)
        Ich setze nun ein voll virtualisiertes Win10-System zum Daddeln seit ca einem 3/4 Jahr auf einem Manjaro(ArchLinux)-Host per KVM erfolgreich ein. Das ist ein hartes Stück Arbeit gewesen war meiner Meinung nach aber den Aufwand total wert.

        Wenn man das richtig und ohne Verrenkungen durchziehen will muss man halt was investieren, so einfach ist das. Das muss man akzeptieren und das ist einfach so - wer dazu nicht bereit ist sollte es lassen.
        Ja, eine iGPU könnte unter Umständen halt nicht genug sein. Wo ist das Problem, sich für ein paar Euro eine billige gebrauchte Office GPU zu holen und dann Ruhe zu haben. Für alles, was nicht mit Gaming zu tun hat reicht die doch locker.
        Ausnahme: wenn man mehr als 2 Bildschirme anschließt, dann holt man sich am besten eine Radeon Flex Karte, das geht unter Linux immer noch am besten. Allgemein ist eine AMD Karte für Office/Medienkonsumzwecke zu empfehlen, wegen der Treiber.

        Tastatur/Maus-Frage:
        Das native Übergeben der Peripherie an Windows zum Daddeln ist am besten, weil dann innerhalb Windows komplett latenzfrei und nicht emuliert (alle Mausbuttons verfügbar, 0 Latenz). Gleichzeitig kann man auch währenddessen Linux steuern, indem man einen Softwareschalter ("Toggle") in Synergy konfiguriert, bei mir z.B. Strg-F11/F12 für den Wechsel von der VM zum Linux Host (auf dem rechten und linken Bildschirm bei mir) wenn ich dort mal eben auf was reagieren muss während ich in Windows bin.
        Man sperrt also die Maus in Synergy in Windows auf den Bildschirm (so das der Cursor den Bildschirmrand nicht verlassen kann) und wechselt dann per Tastencombo bei Bedarf auf Linux, funktioniert wunderbar.

        Sollte die VM dann tatsächlich mal abschmieren (passiert...es ist Windows ) habe ich eine kleine Laptop Bluetooth Maus mit der ich die VM in Linux manuell abwürgen kann wenns hart auf hart kommt. Danach sind die übergebenen Geräte dann sofort wieder in Linux verfügbar. Eine extra Tastatur etc. braucht man gar nicht. Ja, auch das kostet ein paar Euro, spart einem aber einen Reboot.

        Soundfrage:
        Unterm Strich fährt man mit mit einer extra Soundkarte oder noch viel einfacher (nutze ich) einfach Sound per HDMI (ist dann garantiert lagfrei und ohne Störungen) über die Grafikkarte am besten. Die durchgereichte Grafikkarte stellt 2 PCI Geräte bereit, einmal die GPU selber und die NVidia/AMD Soundkarte halt, einfach mit durchreichen. Mein Monitor ist an einen guten Verstärker angeschlossen, bei der Wandlung gibt es keine Knackser oder starke Qualitätsverluste.

        tldr;
        - Ihr braucht immer 2 Grafikkarten, ohne wenn und aber; eine billige Office GPU für ein paar Euro reicht für Linux locker, oder halt die iGPU
        - Ein zweites Maus/Tastaturset ist nicht erfoderlich, aber eine 2. Maus ist hilfreich in Notfällen, wenn die VM abschmiert
        - Unter 16GB sollte man nicht anfangen, weniger macht keinen Sinn
        - Für lagfreien Sound solltet ihr eine 2. Soundkarte oder eine Möglichkeit haben, den Monitor als Eingangsquelle in einer Anlage wählen zu können
        - Ryzen oder ein 2011-System sind momentan die besten Platformen für absolut geschmeides PCI-Passtthrough
        - AMD GPU für Linux Betrieb als Haupt/Office-Karte aufgrund der Treibersituation empfehlenswert; ebenso für Multi-Monitor Betrieb mit mehr als 2 Bildschirmen
        - Extra PCI USB Karte für externe Peripherie (Gamepad/Joysticks etc.) erleichtert Handling, aber nicht zwingend erforderlich
        - Benutzt unbeding eine OVMF/UEFI basierte Maschine; BIOS ist out
      • Von Research Lötkolbengott/-göttin
        Hö, das wäre was für SteamOS.
      Direkt zum Diskussionsende
  • Print / Abo
    Apps
    PCGH Magazin 08/2026 PC Games 08/2026 play5 08/2026 N-Zone 08/2026 Linux Magazin 08/2026 LinuxUser 08/2026 Raspberry Pi Geek 09/2026
    PC Games Hardware PC Games Linux Magazin Raspberry Pi Geek Computec Kiosk