Get Rewarded! We will reward you with up to €50 credit on your account for every tutorial that you write and we publish!

Installieren von Windows ohne KVM

profile picture
Author
Markus
Published
2023-01-31
Time to read
7 minutes reading time

Einführung

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 2022 (ENG): https://mirror.hetzner.de/bootimages/windows/SW_DVD9_Win_Server_STD_CORE_2022_2108.15_64Bit_English_DC_STD_MLF_X23-31801.ISO

Windows Server 2019 (ENG): https://mirror.hetzner.de/bootimages/windows/SW_DVD9_Win_Server_STD_CORE_2019_1809.11_64Bit_English_DC_STD_MLF_X22-51041.ISO

Windows Server 2016 (ENG): https://mirror.hetzner.de/bootimages/windows/SW_DVD9_Win_Server_STD_CORE_2016_64Bit_English_-4_DC_STD_MLF_X21-70526.ISO

Das Image kann mit wget oder curl heruntergeladen werden:

wget <image>

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

Achtung bei folgenden Schritten werden alle Daten der Festplatte gelöscht.

Wenn der Server eine Nvme Festplatte verbaut hat, kann der Name der Festplatte zum Beispiel /dev/nvme0n1 sein statt /dev/sda. Der Name der Festplatte kann mit lsblk geprüft werden.

Starten von parted auf der gewünschten Festplatte:

parted /dev/sda

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.

Prüfe erst, ob der Server beim Booten UEFI oder BIOS verwendet:

[ -d "/sys/firmware/efi" ] && echo "UEFI" || echo "BIOS"

Führe nun einen der folgenden Befehle (entsprechend abgeändert) auf dem Server aus:

  • Mit BIOS:

    qemu-system-x86_64 -enable-kvm -smp 4 -m 4096 -boot d -cdrom SW_DVD9_Win_Server_STD_CORE_2022_2108.15_64Bit_English_DC_STD_MLF_X23-31801.ISO -drive file=/dev/sda,format=raw,media=disk -vnc 127.0.0.1:1
  • Mit UEFI:

    qemu-system-x86_64 -bios /usr/share/ovmf/OVMF.fd -enable-kvm -smp 48 -m 16g -boot d -cdrom SW_DVD9_Win_Server_STD_CORE_2022_2108.15_64Bit_English_DC_STD_MLF_X23-31801.ISO -drive file=/dev/sda,format=raw,media=disk -vnc 127.0.0.1:1
Optionen
-smp Anzahl der CPU Kerne
-m Größ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 man die richtige Netzwerkkonfiguration bekommt, wenn der Server von der Windows Installation bootet, 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

  2. Aktion Festlegen.

    Task 2

  3. PowerShell Optionen eintragen -ExecutionPolicy Bypass -File C:\script.ps1.

    Task 3

  4. Task Optionen Übersicht.

    Task 4

  5. In den Sicherheitsoptionen sollte eingestellt werden, dass das Script auch ohne eine Benutzeranmeldung startet.

    Task

Schritt 5 - Netzwerk Treiber installieren

Es kann die Möglichkeit bestehen, dass Windows nicht mit den erforderlichen Netzwerktreibern ausgeliefert wird, sodass der Server nach dem Booten nach wie vor kein Internet haben kann.

  1. Um dieses Problem zu umgehen, sollte man zunächst den Namen des Netzwerkadapters herausfinden: Robot_Hardware In diesem Fall heißt der Adapter 1 Gbit I219-LM von Intel. Anschließend muss das komplette Treiberpaket für alle Netzwerkadapter für Ethernet von der offiziellen Internetseite von Intel heruntergeladen und dieses Treiberpaket entpackt werden.
  2. Nun kann der Geräte-Manager geöffnet werden. Unter dem Reiter "Netzwerkadapter" befindet sich der aktuell genutzte Netzwerkadapter. Dieser kann von dem im Bild gezeigten Namen abweichen. Klicke mit der rechten Maustaste auf diesen Adapter, um das Kontextmenü zu öffnen. Wähle "Treiber aktualisieren" aus. Geraete-Manager
  3. Wähle nun "Auf meinem Computer nach Treibern suchen" aus. TreiberSchritt2
  4. Wähle anschließend "Aus einer Liste verfügbarer Treiber auf meinem Computer auswählen" aus.
  5. Klicke auf "Datenträger" und wähle "Durchsuchen" aus.
    • Navigiere zu dem Treiberpaket, das in Schritt 5.1 heruntergeladen und entpackt wurde.
    • Gehe für Intel und einen 1-GBit-Netzwerkadapter zum Ordner "Pro1000", dann zum Unterordner "Winx64".
    • In dem Ordner "Winx64" sind für die jeweiligen Windows-Versionen die einzelnen Treiber.
  6. Um den passenden Treiber für die entsprechende Windows-Version zu finden, öffne das heruntergeladene Treiberpaket in einem neuen Fenster und lese die Readme.txt-Datei. Darin steht die verwendete Windows-Version und ob für diese Windows-Version der Treiber für die Netzwerkadapter vorhanden ist. TreiberSchritt3
  7. Nimm gegebenenfalls den Haken für "Kompatible Hardware anzeigen" heraus.
  8. Finde die passenden Treiber für die Netzwerkkarte des dedizierten Servers. TreiberSchritt4
  9. Drücke auf "Weiter", auch wenn Windows sagt, dass es nicht kompatibel ist. Diese Meldung kann ignoriert werden, da der aktuelle Adapter nur emuliert ist.

Schritt 6 - RDP Aktivieren & Firewall Deaktivieren

Um sich später per RDP mit dem Server zu verbinden, muss diese aktiviert werden:

RDP

Um weitere Fehlerquellen zu minimieren, 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 mit dem Server zu verbinden.

Schritt 7 - Script Deaktivieren

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

Ergebnis

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

License: MIT
Want to contribute?

Get Rewarded: Get up to €50 in credit! Be a part of the community and contribute. Do it for the money. Do it for the bragging rights. And do it to teach others!

Report Issue

Discover our

Dedicated Servers

Configure your dream server. Top performance with an excellent connection at an unbeatable price!

Want to contribute?

Get Rewarded: Get up to €50 credit on your account for every tutorial you write and we publish!

Find out more