Windows 10 Installation mittels VM in Linux nutzen

Voraussetzungen

Virtuelle Festplatte aus Laufwerk erstellen

Folgender command wird genutzt, um das gesamte Laufwerk als .vmdk (virtuelle Festplatte) nutzen zu können. XX mit dem entsprechendem Namen des Laufwerks ersetzen.

sudo vboxmanage internalcommands createrawvmdk -filename "/pfad/zum/output.vmdk" -rawdisk /dev/XX

(!Wichtig: wird nur eine Partition als Basis der virtuellen Festplatte genutzt, muss eine alternativer MBR mit den entsprechenden Einträgen dem Tool übergeben werden siehe die Option --help )

Falls nötig die .vmdk Datei mittels chown noch dem jeweilgem Nutzer zuordnen.

Anmerkung: Die VM wird nur die Partitionen der .vmdk Datei bzw. des Laufwerks lesen können, welche noch nicht im Host Linux System gemounted sind. Falls die Windows Partition in Linux gemounted ist, diese zuerst unmounten.

VM erstellen

VirtualBox öffnen und eine neue VM erstellen, Windows 10 als Operting System auswählen.

Beim Tab “Platte”, den Punkt “Vorhandene Festplatte verwenden” auswählen, neben dem Pfad auf das Icon klicken, der Vbox Disk Manger öffnet sich, dort auf “Hinzufügen” klicken und die erstellte .vmdk Datei auswählen.

Nach dem Hinzufügen einfach die entsprechende Datei auswählen.

Nun ist die VM fertig erstellt, vor dem ersten Start müssen jedoch noch einige Änderungen vorgenommen werden. Dazu die VM im Hauptmenü auswählen und “Ändern” anklicken.

Zunächst im Reiter “Massenspeicher” eine weitere virtuelle Festplatte erstellen, diese wird genutzt um darauf eine EFI System Partiton zu erstellen, in welcher der Windows Bootloader gespeichert wird.

Nun noch die Linux .iso im Laufwerk einlegen und bei Bedarf noch andere Änderungen wie z.B. CPU-Core Zahl etc. vornehmen und speichern.

Erster Start der VM und Windows Bootloader erstellen

Die VM sollte von der Linux iso booten, nun den live Modus auswählen und nach erfolgreichem Start des Systems mit gparted eine EFI Partition auf der leeren (eben neu erstellten) virtuellen Harddisk erstellen.

Nach dem Erstellen: VM herunterfahren und die Windows iso im Laufwerk einlegen.

Mit der Windows iso starten, die Spracheinstellungen bestätigen und “Computerreparaturoperationen” (unten links) auswählen.

“Problembehandlung” auswählen und danach “Eingabeaufforderung” anklicken, ein Terminal Fenster öffnet sich.

Nun das Programm diskpart starten und mit list vol alle Volumes auf allen Datenträgern anzeigen. Diese Ausgabe ist ähnlich wie im gezeigten Bild.

Ausgabe von list vol

Die Buchstaben unter “Bst” bei der NTFS und der FAT32 (eben erstellte EFI) Partition sich notieren/merken. (Wichtig: Falls die EFI Partiton des physikalischen Laufwerks unter dem Linux Host System nicht gemountet ist, muss hier aufgepasst werden, um diese nicht zu überschreiben. Einfachste Lösung: VM herunterfahren, Host EFI Partition mounten und VM starten.)

Nun folgende Befehle ausführen steht dabei für den Buchstaben der EFI (FAT32) und für den der Windows (NTFS) Partiton.

cd /d <EFI>:\EFI\Boot\Microsoft

Falls der Pfad nicht existiert die Verzeichnisse einfach mir mkdir name_des_verzeichnisses erstellen

bootrec /fixboot

Falls eine Datei mit dem Namen “BCD” existiern sollte (Auflistung des directorys mit dir) diese mittles ren zu z.B. BCD.bak umbenennen.

bcdboot <WIN>:\Windows /s <EFI>: /f ALL

Wenn alles funktioniert hat, sollte die Windows Installation erfolgreich erkannt worden sein.

Nun die VM herunterfahren, die iso aus dem Laufwerk nehmen und die VM starten.

Anmerkung 1: Falls Vbox nicht bootet, kann es daran liegen, dass es das Booten nur von der ersten Festplatte (dem “weitergeleiteten” physikalischen Laufwerk versucht. Falls dies der Fall ist, einfach beim Starten F12 drücken und die zweite Festplatte auswählen.

Anmerkung 2: Es kann sein, das Windows die Aktivierung zurücksetzt, nachdem die VM vollständig gestartet ist, da Windows Hardwareänderungen erkannt hat, dieses Problem sollte sich, zumindest nach meiner Erfahrung, jedoch beim direkten Start von Windows (ohne VM etc.) wieder beheben.