Installieren von Windows ohne KVM
Markus Brunsch / June 2020
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
- Einen Dedizierten Server im Rescue System
- Mehr als 8 GB RAM im Server
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:
- Hochladen per sFTP
- Einbinden eines SMB / NFS Speichers (Storage Box)
- Das Herunterladen der ISO von Microsoft / Hetzner
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:
- Startoptionen festlegen.
- Aktion Festlegen.
- PowerShell optionen eintragen
-ExecutionPolicy Bypass -File C:\script.ps1
.
- Task optionen Übersicht.
- Sicherheitsoptionen hier sollte Eingestellt werden, dass das Script auch ohne eine Benutzeranmeldung startet.
Schritt 5 - RDP Aktivieren & Firewall Deaktivieren
Um später per RDP auf den Server zu verbinden muss diese aktiviert werden:
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.