home..

Installieren von Windows ohne KVM

Installieren von Windows auf Dediziertem Server ohne KVM Konsole

In diesem Tutorial geht es um die Installation eines Windows Betriebssystems auf dedizierter Hardware ohne den gebrauch einer KVM Konsole.

Voraussetzungen

Schritt 1 - Server Vorbereiten

Sobald sich der Server im Rescue System befindet (Linux x64), muss folgende Software installiert werden.

apt update && apt install qemu-kvm

Als nächstes muss eine Windows ISO auf den Server übertragen werden. Mögliche Optionen wären:

Auf dem Hetzner Mirror befinden sich auch Windows ISOs (diese können nur vom Hetzner Netz aus heruntergeladen werden): Windows Server 2019 (ENG): http://mirror.hetzner.de/bootimages/windows/SW_DVD9_Win_Server_STD_CORE_2019_64Bit_English_DC_STD_MLF_X21-96581.ISO

Windows Server 2016 (ENG): http://mirror.hetzner.de/bootimages/windows/SW_DVD9Win_Svr_STD_Core_and_DataCtr_Core_2016_64Bit_English-2_MLF_X21-22843.ISO

Windows Server 2012 R2 (ENG): http://mirror.hetzner.de/bootimages/windows/SW_DVD5_Windows_Svr_Std_and_DataCtr_2012_R2_64Bit_English_Core_MLF_X19-05182.iso

Anschließend muss die Systemfestplatte noch vorbereitet werden. Hier muss eine Partitionstabelle angelegt werden.

Achtung Dabei werden alle Daten der Festplatte gelöscht. Starten von parted auf der gewünschten Festplatte:

parted /dev/sdb

Erstellen der Partitionstabelle bei Festplatten kleiner 2 TB:

mklabel msdos

Erstellen der Partitionstabelle bei Festplatten größer 2 TB:

mklabel gpt

Das ganze sollte dann in etwa so aussehen:

root@rescue ~ # parted /dev/sda
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) [mklabel msdos]
Warning: The existing disk label on /dev/sda will be destroyed and all data on this disk will be
lost. Do you want to continue?
Yes/No? [yes]
(parted) [quit]
Information: You may need to update /etc/fstab.

Alle Eingaben sind mit [ ] umrandet

Schritt 2 - Herstellen eines SSH Tunnels

Um später die installation per VNC durchzuführen wird ein SSH Tunnel benötigt. Andernfalls ist die installation frei im Internet aufrufbar.

Unter Linux und Windows mit installiertem OpenSSH genügt es den folgende Befehl lokal auszuführen und sich am Server anzumelden.

ssh -L 8888:127.0.0.1:5901 root@your_host

Schritt 3 - Starten der Windows Installation

Jetzt kann mit der eigentlichen Windows Installation gestartet werden. Dazu muss nun folgender Befehl (entsprechend abgeändert) auf dem Server ausgeführt werden.

qemu-system-x86_64 -enable-kvm -smp 4 -m 4096 -boot d -cdrom en_windows_server_2019_updated_sept_2019_x64_dvd_199664ce.iso -drive file=/dev/sda,format=raw,media=disk -vnc 127.0.0.1:1
Optionen  
-smp Anzahl der CPU Kerne
-m Große des verwendeten RAMs
-cdrom Pfad zum ISO Image
-drive Festplatte auf der das System installiert werden soll
-vnc VNC Server Einstellungen

Als nächstes kann die Installation per VNC gestartet werden, dazu muss man sich mit einem VNC Viewer der wahl zur folgenden Adresse verbinden.

127.0.0.1:8888

Schritt 4 - Automatische IP Konfiguration

Damit wenn der Server von der Windows installation Bootet auch die richtige Netzwerkkonfiguration bekommt, muss ein Scheduled Task angelegt werden der das folgende PowerShell Script ausführt.

foreach($Adapter in Get-NetAdapter)
{
    New-NetIPAddress IPAddress [IPAdresse] -DefaultGateway [Gateway] -PrefixLength [CIDR] -InterfaceIndex $Adapter.InterfaceIndex
}

Die Werte in den Klammern müssen entsprechend angepasst werden und das Script sollte dann unter C:\script.ps1 abgelegt werden.

Die Einrichtung des Scheduled Tasks erfolgt anhand dieser Schritte:

  1. Startoptionen festlegen.

Task 1

  1. Aktion Festlegen.

Task 2

  1. PowerShell optionen eintragen -ExecutionPolicy Bypass -File C:\script.ps1.

Task 3

  1. Task optionen Übersicht.

Task 4

  1. Sicherheitsoptionen hier sollte Eingestellt werden, dass das Script auch ohne eine Benutzeranmeldung startet.

Task

Schritt 5 - RDP Aktivieren & Firewall Deaktivieren

Um später per RDP auf den Server zu verbinden muss diese aktiviert werden:

RDP

Um weitere Fehlerquellen zu minimierern macht es sinn die Windows Firewall vor dem Neustart zu deaktivieren (dies ist aber optional).

Nun kann Windows heruntergefahren werden und im anschluss der Server neugestartet werden. Nach ein paar minuten sollte es möglich sein sich per RDP zum Server zu verbinden.

Schritt 6 - Script Deaktivieren

Nun sollte der Scheduled Task wieder Deaktiviert werden und die Firewall entsprechend überprüft und wieder eingeschlatet werden. In den Netzwerkeinstellungen sollten auch noch DNS Server hinterlegt werden, da diese mit dem Script nicht gesetzt wurden.

Fazit

In diesem Tutorial wurde die Installation eines Windows Betriebssystems ohne den einsatz einer KVM Konsole behandelt.

© 2023 Markus Brunsch