Ein echtes OS unter VirtualBox?

Um das direkt zu klären, natürlich ist ein OS, welches man in einer virtuellen Umgebung installiert, ebenfalls ein echtes OS. Hier soll es aber darum gehen, ein OS, welches nativ auf einem Computer installiert wurde, in einer virtuellen Umgebung auszuführen. Deshalb sage ich “echtes OS”.

Warum sollte man?

Warum sollte man ein “echtes OS” in einer virtuellen Umgebung starten wollen? Eine gute Frage, denn wenn es ja auf einem richtigen Computer installiert wurde, kann man es doch auch dort benutzen, oder?

Ja, im Prinzip ist das richtig. Dennoch gibt es da Gründe, warum man gerne ein echtes OS in eine virtuelle Umgebung zwingen möchte. Ich habe zumindest für mich einen solchen Grund gefunden.

Auslöser daran ist Epic mit ihren gratis Spielen jede Woche. Zum Beispiel ARK, oder Civilisation VI. Da konnte ich einfach nicht widerstehen. Gut, ARK spiele ich eigentlich mit Steam unter Linux, doch Civilisation wollte einfach nicht unter Linux laufen. Keine Chance, egal was ich versucht habe. Was also tun?

Nun, ich habe aus meinem NetBook einst die Festplatte gegen eine SSD getauscht. Die alte Platte lag von da an auf dem Regal. Die habe ich jetzt einfach in ein externes Gehäuse gesteckt und unter Windows 10 (zweites OS auf meinem Laptop) Windows 10 Pro als “Windows to go” installiert. Ergo, ich habe jetzt auch ein natives Windows, mit dem ich zum Beispiel Civilisation spielen kann.

Problem an der Sache, natürlich wollte Windows Updates und was weiss ich. Ergo, in der Zeit war ich nicht in der Lage, mit meinem Linux etwas zu arbeiten. Eine echt bescheidene Situation, wie ich finde. Da kam für mich die Frage auf, kann ich denn nicht das installierte Windows virtualisieren?

Und es startet doch!

Ich bin ja bekannt dafür ein Noob zu sein, was Suchmaschinen angeht. Von daher ist es vielleicht für einige unverständlich, warum ich mich bei der Suche nach einer Lösung so schwer getan habe.

Die Quintessenz von dem, was ich da so auf Anhieb gefunden habe war einfach. Es funktioniert nicht, da sowohl qemu wie auch VirtualBox keine physischen Festplatten verwenden können. Damit wollte ich mich aber nicht abfinden!

Ich habe gesucht und leider muss ich sagen, Ergebnisse habe ich nur für VirtualBox gefunden, dabei laufen die meisten meiner virtuellen Maschinen doch unter qemu. Aber egal, VirtualBox benutze ich schliesslich auch.

Also hab ich angefangen zu experimentieren. So habe ich herausgefunden, dass man einen physikalischen USB-Stick tatsächlich als Laufwerk in VirtualBox einbinden kann und siehe da, so habe ich schlussendlich auch die Kiste ins Rollen gebracht.

Eine nicht physische physische Festplatte

Ein Knackpunkt an der Geschichte war, wie kriegt man eine physische Festplatte so gebogen, dass VirtualBox sie benutzen kann? Nun, eigentlich ist das gar nicht so schwer.

Aber! VirtualBox steht ja im Ruf vorwiegend von denen benutzt zu werden, die lieber mit der Mouse arbeiten, also nicht so gerne tippen. Das wird hier aber nicht funktionieren. Hier muss man in den Terminal.

Schritt 1: Hinsetzen

Das ist eine kleine Anspielung auf den Film “Die tollkühnen Männer in ihren fliegenden kisten”.

Schritt 2: Die ID der Festplatte herausfinden

Das ist bei mir ziemlich einfach. Ich habe zwar einige Platten eingebaut, aber nur eine sitzt am USB.

ls -l /dev/disk/by-id/ | grep usb

Die ID der kompletten Platte ist wichtig, nicht einzelner Partitionen! Also das, was ich rot umrahmt habe.

Wer jedoch keine USB-Platte verwendet, sondern eine fest installierte, der muss

| grep usb

weglassen. Das “|” ist übrigens kein i, oder l, sondern das Zeichen welches man mit “STRG + <” bekommt!

Die ID haben wir jetzt also, jetzt müssen wir daraus etwas basteln, was VirtualBox auch versteht.

Schritt 3: Physische Platte für VirtualBox verwendbar machen

Achtung! Hierfür braucht man Administrator-Rechte!

Zuerst wechsel ich mal in das Verzeichnis, wo die Datei später auch sein soll. Das erspart mir die Eingabe eines Pfades. Wo man die Datei schliesslich speichert, ist völlig egal.

Jetzt brauchen wir das Programm “vboxmanage”, welche bei der Installation von VirtualBox dabei ist. Der Befehl sieht dann so aus:

sudo vboxmanage internalcommands createrawvmdk -filename usbdisk.vmdk -rawdisk /dev/disk/by-id/usb-SAMSUNG_HM160HC_5812271602C2-0\:0

Für jene, die nicht so gerne tippen, hier eine Variante, die ihr kopieren und einfügen könnt. Ihr müsst lediglich die ID, die ihr bei Schritt 2 kopieren könnt, einfügen.

sudo vboxmanage internalcommands createrawvmdk -filename usbdisk.vmdk -rawdisk 

Wichtig, ihr müsst auch das Leerzeichen am Ende mitkopieren, oder nach dem Einfügen selbst einsetzen!

Hat alles geklappt, dann sieht das so aus. Wir haben also aus der physischen Festplatte eine VMDK Datei gemacht. Die wird aber wirklich nur dafür gebraucht, um für VirtualBox eine Datei bereitzustellen. Gearbeitet wird definitiv direkt auf dem physischen Laufwerk!

Schritt 4: VirtualBox einrichten

Zuerst startet man VirtualBox. Aber ich denke, soweit ist wohl jeder schon selbst gekommen. Aber, man muss VirtualBox mit Administrator-Rechte öffnen, da man ansonsten nicht auf die Festplatte zugreifen kann.

sudo VirtualBox

Hat man das, klickt man oben auf “Neu”

Ich nenne die virtuelle Maschine einfach RealWin10. Der Name ist aber völlig egal, da kann jeder so kreativ sein wie er will.

Speicher kriegt das gute Ding 4GB, sollte ja für mein Anliegen reichen.

Jetzt wird es ein bisschen kniffliger. Aber nicht viel. Wir müssen hier jetzt die erstellte VMDK einfügen. Also erst wählen wir aus, dass eine bestehende Platte genutzt werden soll und dann hinten auf den kleinen Ordner klicken. Beides von mir rot umrahmt.

Hier dann auf “Hinzufügen” klicken, da die Datei wohl kaum schon einmal eingefügt worden ist.

Hier muss man dann die VMDK Datei auswählen, die wir erstellt haben. Wer sich nun wundert, dass auf einmal die zuvor gesehenen Platten weg sind, den kann ich beruhigen. Die Bilder bis hier her habe ich gemacht und selbst vergessen VirtualBox mit Root-Rechten zu starten. Also keine Sorge, wenn ihr hier eine VMDK Datei einfügt, verschwindet nicht automatisch alles andere!

Soweit so gut. Bis hier hin hat dann ja alles geklappt, aber ein paar Dinge sind noch einzustellen.

Windows 10 wird ja immer so installiert, dass es UEFI zum booten benutzt. Also muss auch VirtualBox das berücksichtigen. Einfach ein Haken bei “EFI sktiveren (nur spezielle Gäste)”.

Ausserdem scheint es doch von Vorteil zu sein, mindestens 2 CPUs einzustellen.

So. Hat jetzt alles geklappt? Dann sollte man die Kiste ja starten können, oder?

Geil, oder? Warum da jetzt aber VirtualBox steht und nicht Windows, ist mir ein Rätsal. Auch die komischen Meldungen oben kann man eigentlich getrost ignorieren. Aber man baucht doch etwas Geduld.

Yeah! Hat geklappt! Jetzt noch schnell einloggen!

Geil, oder? Auch wenn das Fenster hier recht klein ist und die Icons links am Rand, wenn ich Windows dann wieder direkt boote ist die alte Auflösung wieder da und die Icons dort, wo ich sie haben will.

Toll! Und jetzt?

Also, spielen würde ich damit nicht. Ich habe es spasseshalber mal versucht, Civilisation startet auch, aber schön ist anders.

Was man aber durchaus problemlos machen kann sind zum Beispiel Updates. Oder irgendwas installieren. Eben all so zeug, wo selbstständig abläuft. Das kann man nun bequem virtualisiert erledigen, ohne damit den Rechner zu blockieren. Finde ich persönlich echt praktisch!

Ich kann mir auch gut vorstellen, dass wenn man beruflich zum Beispiel Programme nutzen muss, die unter Linux einfach nicht laufen wollen, man selbst aber eigentlich Linux bevorzugt, man so mit den Programmen auch arbeiten kann, während man eigentlich unter Linux unterwegs ist.

Generell denke ich aber, die Möglichkeiten, die sich hier bieten, sind gross!

2 Kommentare

  1. Super das hab ich genauso verzweifelt gesucht wie Du!
    Ich habe eine externe SSD mit einem OS und einer Anwendung drauf,
    die ich gerne wieder verwenden können will.
    Vileicht klappt es ja so. Wäre toll!
    Gruß
    Oliver Ziegler

Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert