Dieser Artikel beschreibt das Vorgehen, um eine Kopie einer lokalen Windows-Maschine zur Hetzner-Cloud zu schicken. Die Schritte sind die gleichen für einen physischen Quell-Computer als auch mit einer virtuellen Quell-VM.
Schritte
- Neuen Ziel-Server in der Hetzner-Cloud mieten:
- Festplattengröße sehr wichtig.
- SSH-Key auswählen oder sinnlose Mail mit Passwort löschen.
- Betriebssystem egal.
- Den Ziel-Server ins Rescue-Betriebssystem linux64 starten. Dabei muss man einen SSH-Key auswählen.
- Quell-VM: Linux-CD einlegen und ins Linux booten; z.B. mit einer Ubuntu-CD.
- Quell-VM: den für das Rescue-Betriebssystem gewählten Private Key in die Quell-VM kopieren:
- Terminal öffnen
- Sicherstellen, dass ein SSH-Server läuft mit
apt install ssh
. - Im Hyper-V-Fenster die Datei /root/.ssh/authorized_keys um einen Public Key ergänzen.
- Private Key-Datei mit scp oder WinSCP in das Linux der Live-CD kopieren. Ich nenne sie jetzt der_private_key
- In der Quell-VM und in der Ziel-VM mit dem Befehlen
df
undlsblk
sicherstellen, dass es eine Partition /dev/sda1 gibt und die Platte /dev/sda die erwartete Größe hat. Das bedeutet, dass wir die Festplatte /dev/sda kopieren können. - In der Quell-VM folgendes Kommando ausführen:
sudo dd if=/dev/sda | pv --size=128G | gzip -1 - | ssh 12.12.12.12 -i der_private_key 'gzip -d - | dd of=/dev/sda'
Die Größenangabe impv
-Kommando dient nur für die Fortschrittsanzeige. In Wahrheit kopiert es jedes Byte der Festplatte. Statt 12.12.12.12 die IP-Adresse der Ziel-VM eingeben - die steht in der Hetzner-Website. - Ziel-VM über die Hetzner-Weboberfläche neustarten
- Die VirtIO-Treiber in der Ziel-VM laden. So geht es:
- Das neuste ISO-Image "virtio-win" über die Hetzner-Weboberfläche in die Ziel-VM einlegen
- Den Bildschirm vom Windows anzeigen. Dazu gibt es in der Hetzner-Weboberfläche den Button
>_
- Im Windows die Kommandozeile öffnen
-
drvload d:\vioscsi\w7\amd64\vioscsi.inf
ausführen (Das habe ich aus der Anleitung unter https://dae.me/blog/2357/how-to-load-virtio-storage-drivers-in-windows-system-restore/ gelernt) -
dism /image:c:\ /add-driver /driver:d:\vioscsi\w7\amd64\vioscsi.inf
ausführen (Das habe ich aus der Anleitung unter https://christian.hofstaedtler.name/blog/2013/01/using-dism-to-add-drivers.html gelernt)
- Den Treiber für die Netzwerkkarte laden. So geht's:
- Den Gerätemanager öffnen
- Treiber für die Netzwerkkarte vom VirtIO-ISO laden: D:\NetKVM\w7\amd64
- Jetzt sollte Remote Desktop funktionieren
- Treiber für das "PCI-Gerät" vom VirtIO-ISO laden: D:\Balloon\w7\amd64
- Zeitzone und IPv6 nach dieser Anleitung einstellen
- Firewall so einstellen, dass Portscanner wie nmap aus dem Internet keine Ports mehr entdecken. Dazu zum Beispiel
nmap 12.12.12.12 -Pn -p1-10000
ausführen.