Windows Recovery Partition löschen und neu erstellen

Vor etwas mehr als 8 Jahren habe ich einen Blog über das Löschen der Windows Recovery Partition geschrieben. Hey, mehr als 8 Jahre in der IT ist eine halbe Ewigkeit, vielleicht sogar mehr. Damals ging es darum, ein Problem mit dem Client-Backup des Windows Small Business Essential Server zu lösen.

Wichtig:
Die Partitionsnummern können abweichen. Achtet deshalb unbedingt darauf, dass die ermittelte Nummer verwendet und das Skript nicht nach dem Prinzip „Fire and Forget“ ausgeführt wird. Dafür ist es nämlich nicht gedacht, sondern dient lediglich als Sammlung der verwendeten Befehle.

Unten gibt es dann auch das Update wenn die Winre.wim fehlen sollte, der eigentliche Beitrag ist ja aus dem Juni 2024.

Das Problem

Heute mit Windows 11 und dem Server 2022 ist die Recovery Partition immer noch ein Thema. Meistens, wenn die Systempartition erweitert werden muss, befindet sich die Windows Recovery Partition am Ende der Festplatte.

Genau genommen sprechen wir vom Windows Recovery Environment (Windows RE), zu dem auch die Windows Recovery Partition gehört.

Die folgende Abbildung zeigt die Recovery Partition auf einem Windows Server 2022.

image

Wird die Disk nun erweitert (auf 196GB), dann sieht das wie folgt aus.

image

Natürlich gibt es eine Reihe von 3rd-Party-Tools, die hier helfen können, und einige davon sind sogar OpenSource, andere wiederum laufen in den kostenlosen Versionen nicht auf den Servern und müssen (und sollten) für den kommerziellen Einsatz bezahlt werden.

Wenn noch eine größere Anzahl von Servern oder (z.B. VMs) erweitert werden muss, ist die Unterstützung von PowerShell oder Kommandozeile (cmd.exe) hilfreich.

Die Vorgehensweise (Ablauf)

Die Erweiterung wird mit den folgenden Schritten durchgeführt.

  1. Deaktivieren von Windows RE
  2. Löschen der Windows Recovery Partition
  3. Erweitern der Systempartition (bis zum Maximum abzüglich 524MB)
  4. Erstellen der neuen Recovery Partition im freien Bereich (524MB) mit NTFS als Dateisystem und ohne Laufwerksbuchstaben
  5. Anpassen der Attribute der neuen Windows Recovery Partition
    – Partition Type = de94bba4-06d1-4d40-a16a-bfd50179d6ac
    – Partition Attribute = 0X8000000000000001
  6. Aktivieren von Windows RE

Achtung, bei MBR-Disks (die ich nicht mehr verwenden würde), lautet der Partition-Type anders, nämlich 27 und nicht de94bba4-06d1-4d40-a16a-bfd50179d6ac.

Die Schritte im Einzelnen

Vor dem ersten Schritt ist es sinnvoll, sich einen Überblick über den Zustand von Windows RE zu verschaffen und dann im Anschluss Windows RE zu deaktivieren.

image

Die grün umrandete Informationen zu Disk und Partition kann über die beiden PowerShell-Befehle Get-Disk und Get-Partition verifiziert werden.

image

Im Gegensatz zu meinem Blog zu beginn, habe ich inzwischen eine Möglichkeit gefunden, die Recovery-Partition mit PowerShell zu löschen.

image

Im Diskmanagement ist danach die Recovery Partition nicht mehr vorhanden.

image

Nun wird die Systempartition (Laufwerk C) auf die maximale Größe, abzüglich des Platzes für die Recovery Partition erweitert.

image

Was im Diskmanagement anschließend wie folgend aussieht. Wir sehen das Laufwerk C mit 195GB und 524MB freiem Platz für die Windows RE Partition.

image

Ok, jetzt die Frage Smile warum wird die Windows RE Partition mit 524MB angelegt, wenn sie doch vor dem Löschen 523MB hatte?

Grob geschätzt habe ich das bestimmt einige hundert Mal gemacht, ein einziges Mal hat Windows RE danach mit einer 523MB großen Partition nicht mehr funktioniert. Eine wirklich gute Analyse konnte ich aus Zeitgründen nicht durchführen. Der Workaround, der funktionierte, war eine Partition mit 524MB statt der ursprünglichen 523MB.

Nun geht es um den Wiederaufbau von Windows RE.

Der verbleibende Platz auf der Disk 0 (524MB) wird nun der neuen Windows RE Partition zugewiesen, darüber hinaus mit NTFS formatiert und kein Laufwerksbuchstabe verwendet.

image

Jetzt müssen wir noch die ID der Windows RE Partition und das GPT-Attribut ändern. Das ist auch der einzige Punkt, wo PowerShell keine Möglichkeit bietet.

Partition Type = de94bba4-06d1-4d40-a16a-bfd50179d6ac
Partition Attribute = 0X8000000000000001

Falls jemand von Euch eine bessere Lösung hat, bitte in die Kommentare schreiben – Danke!

image

Beide Einstellungen können mit diskpart.exe überprüft werden.

image

Sieht gut aus, würde ich sagen.

Fehlt nur noch die Aktivierung von Windows RE, vorher sollte man aber prüfen, ob Winre.wim im Verzeichnis C:\Windows\System32\recovery vorhanden ist.

image

Da Winre.wim eine versteckte Datei ist, wurde der Befehl Get-ChildItem mit der Option -Attributes h ausgeführt. Der Befehl reagentc /enable kopiert dann die Datei auf die Windows RE Partition (was ein paar Sekunden dauert).

Update 08.10.2025 – die Winre.wim fehlt …

Durchaus möglich ist, dass die Windows RE-Datei (Winre.wim) fehlt und damit reagentc das Image nicht auf die neue Recovery-Partition kopieren kann.

image

In diesem Fall empfiehlt sich die folgende Vorgehensweise.

  1. Bereitstellen einer ISO-Datei des entsprechenden Betriebssystems
    – Kopieren der ISO-Datei auf den Server
    – Ein Doppelklick mit dem Windows Explorer mounted das ISO
  2. Erstellen eines Verzeichnisses um die install.wim zu mounten
  3. Mounten der install.wim Datei nach $winDir
  4. Wechsel in das Recovery-Verzeichnis der gemounteten install.wim
  5. Kopieren der Winre.wim nach C:\Windows\System32\Recovery
  6. Aktivierung von Windows RE
  7. Unmount der install.wim

Auch hier die Schritte im Detail

Nach dem Doppelklick mit dem Windows Explorer ist das Windows Server 2022 Image auf Laufwerk G vorhanden.

image

Erstellen eines Verzeichnisses um die install.wim zu mounten und bereitstellen dieser mit dism.exe

image

Wechsel in das Recovery-Verzeichnis der gemounteten install.wim und kopieren der Winre.wim nach C:\Windows\System32\Recovery

image

Jetzt muss noch die Recovery Partition aktiviert (reagentc /enable kopiert die Winre.wim) und die install.wim wieder entfernt werden.

image

So, jetzt aber.

Natürlich gibt es alle Befehle als PowerShell-Datei zum Download.

Enjoy it und happy Recovery, b!

Synology NAS | „there is an ongoing replication…“

Die Synology SnapShot Replication dient zur Replikation von Freigaben (Ordnern) auf ein anderes Synology-NAS. Einmal eingerichtet, funktioniert diese sehr zuverlässig – mit einer Ausnahme.

Das Problem ist, wenn es zu einer Änderung der IP-Adressen kommt

Angenommen, an einem der zahlreichen Adapter einer RS822+ wird eine Konfiguration geändert, wodurch eine weitere IP-Adresse im DNS registriert wird.
Danach wird die Replikation mit dem FQDN anstatt einer IP-Adresse eingerichtet.

Unbenannt-1

Solange beide IP-Adressen funktional und erreichbar sind, ist das kein Problem. Fällt aber eine der beiden wieder weg, bleibt sie erst einmal im DNS vorhanden und wird gemäß dem Round-Robin-Mechanismus im DNS (RFC 1749) bei Abfragen zurück geliefert. Da das NAS über diese Adresse aber nicht mehr erreichbar ist, kommt die Replikation ins Stocken und schlägt fehl. Was bei einem versuchten Neustart zu der in der Überschrift gezeigten Meldung (there is an ongoing replication …) führt und diesen verhindert.

Manchmal dauert es Stunden, bis sich die Replikation wieder erholt (unter der Voraussetzung, dass der nicht mehr vorhandene DNS-Eintrag gelöscht wurde) und solange kann das NAS kann auch nicht ohne Weiteres rebootet werden.

Ein Neustart über die Weboberfläche des DSM schlägt mit der Meldung „There is an ongoing replication task …“ fehl.

Ein Neustart des NAS über SSH, nicht optimal aber möglich

Eine Lösung, wenn man nicht warten will, ist der Neustart des NAS über eine SSH-Session. Dazu muss SSH aber aktiviert werden …

Control Panel / Connectivity / Terminal & SNMP

Unbenannt-2

… und natürlich auf Apply (rechts unten) klicken, damit die Änderungen übernommen werden.
Damit ist der Zugang zum NAS per SSH aktiviert und ein „erzwungener“ Neustart mit einem Benutzer, der die entsprechenden Rechte hat, möglich.

image

Bevor man das NAS nun „abschießt“, ist es ratsam, manuell Prozesse soweit wie möglich zu stoppen. Das heißt, virtuelle Maschinen herunterzufahren eventuelle Container zu stoppen und so weiter.

Hier die entsprechenden Befehle und Möglichkeiten:

# Anmeldung
ssh admin_username@nas_ip_address

# Wechsel mit sudo in den Root-Modus (optional)
sudo -i

Für den Shutdown / Reboot gibt es die folgenden Optionen:

# Beendet Dienste vor dem Neustart ordnungsgemäß, funktioniert aber bei einer hängenden Snapshot-Replikation nicht.
sudo reboot

# Startet sofort neu, wobei einige Abschaltroutinen übersprungen werden. Hat meistens bei der Snapshot-Replikation funktioniert.
sudo shutdown -r now

# Erzwingt einen Neustart ohne Synchronisierung oder Umount des Dateisystems. Dies sollte nur verwendet werden, wenn das System nicht mehr reagiert..
sudo reboot -f

# Dadurch werden alle Shutdown-Skripte umgangen und das System wird sofort neu gestartet. Letzte Instanz 🙂
echo 1 | sudo tee /proc/sys/kernel/sysrq
echo b | sudo tee /proc/sysrq-trigger

Enjoy it, b!

Supermicro X11SSL-F | Windows Server 2022

Für das Supermicro-Motherboard X11SSL-F endet mit Windows Server 2019 der Support des Herstellers und auch der verbaute RAID-Controller (LSI MegaRAID SAS 9271-4I) hat schon einige Jahre hinter sich.

Dennoch war die Aufgabe, den Server mit Windows Server 2022 zu installieren. Da der Server bereits mit Windows Server 2019 (Hyper-V Server 2019) lief und ein Inplace-Upgrade von Microsoft unterstützt wird, lag diese Vorgehensweise nahe. Das Abenteuer endete oder begann – je nachdem, wie man es sehen will – mit einem BSOD.

74rwmoxe_ON1_Cloud

Leider wurde kein Dump geschrieben, da ich aber genau diese Hardware 2024 mit Hyper-V Server 2019 installiert hatte und damals der Treiber aus dem Betriebssystem verwendet wurde, kam mir der Verdacht das möglicher Weise der Treiber das Problem verursacht. Der storport.sys deutet ja in die Richtung der Platten.

Im Verlauf der Fehleranalyse haben sich zwei Wege für die Installation von Windows Server 2022 herauskristallisiert:

  • Inplace-Upgrade von Hyper-V Server 2019 auf Windows Server 2022 mit einem zuvor aktualisiertem Treiber für den LSI 9271-4I
  • Neuinstallation von Windows Server 2022 und Bereitstellung des Treibers für den LSI 9271-4I während der Installation

Für beide Abläufe ist der aktuellste Treiber (MR Windows Driver 6.14-6.714.05.00) notwendig, der sich hier zum Download findet.

https://docs.broadcom.com/docs/MR_WINDOWS_DRIVER_6.14-6.714.05.00-WHQL.zip

Inplace-Upgrade

Bevor das Inplace-Upgrade gestartet wird, muss zwingend der Treiber aktualisiert werden. Läuft man auf der Core-Version eines Windows Servers, so geht das am einfachsten über das Server Core App Compatibility Feature on Demand (FoD), welches nach der Installation den Device-Manager mitbringt, oder mit pnputil.exe.

# Installation der Windows Server Core App Compatibility (online)
Add-WindowsCapability -Online -Name ServerCore.AppCompatibility~~~~0.0.1.0

# Alternativ mit pnputil.exe
pnputil.exe -i -a oemdriver.inf

Zusätzlich, da dies direkt vom Betriebssystem ausgemacht werden kann,habe ich noch das BIOS des Rechners mit SUM und auch die Firmware des BMC aktualisiert.

Jetzt das Setup über eine ISO-Datei oder besser einen USB-Stick starten.

Neuinstallation

Die Neuinstallation, verläuft wie gewohnt! Nur das der Server die Volumes des LSI 9271-4I schon sieht, hier wird nun trotzdem der neue Treiber über Load driver geladen.

image

Wenn die Installation von einem USB-Stick erfolgt, kann man den Treiber gleich in entpackter Form mit drauflegen.

Für beide Wege, gibt dieser Artikel entsprechende Hinweise wenn im Device-Manager nicht erkannte Treiber vorhanden sind.

Enjoy it, b!

Synology Directory Server | Zertifikat abgelaufen

Wenn im Synology DSM das Zertifikat für den Synology Directory Server (SDS) abgelaufen ist, gibt es die Möglichkeit dieses Online wieder zu verlängern. Dazu sind die folgenden Schritte notwendig:

  1. Der Vorgang muss auf jedem Synology Directory Server (also auf jedem NAS) explizit durchgeführt werden (in diesem Netzwerk sind zwei davon vorhanden)
  2. Der DNS muss “korrekt” konfiguriert sein, was einfach bedeutet das mit dem NAS eine Verbindung in das Internet möglich ist und externe Domains aufgelöst werden
  3. Das DSM muss von außen über Port 80 (HTTP) erreichbar sein. Dazu muss auf dem Router eine Weiterleitung von Port 80 extern auf die <NAS-IP>:80 intern eingestellt werden. Danach ist diese Regel sofort wieder zu deaktivieren!

Im Detail sieht das wie folgt aus:

image

  • Issued by: domain.tld | Beispiel home.local
  • Subject Alternative Name: domain-controller.domain.tld | Beispiel mausi.home.local

Hier die Regel im Router, in diesem Fall ein Mikrotik:

image

Das hätte man auch ein wenig anders realisieren können, aber für die zwei Minuten funktioniert es sehr gut.

Nun wird im DSM unter Security / Certificate das Zertifikat ausgewählt und mit Action / Renew certificate das Renewal angestoßen.

image

Zur Sicherheit gibt das DSM nochmals einen Hinweis auf die notwendige DNS / Firewall-Konfiguration.

image

Mit  Renew Certificate dauert der Vorgang nur wenige Sekunden und es ist lediglich erforderlich, die Seite erneut zu laden.

image

Jetzt wieder Port 80 auf dem Router schließen und wir sind fertig.

Enjoy it, b!

Lenovo L470 | Entladung des Akkus im ausgeschalteten Zustand :-(

Wenn ich in der Forensik tätig werden muss, nehme ich gerne ein Laptop mit Linux als Arbeitsgerät. In infizierten Windows-Netzwerken – vor allem, wenn ich direkt beim Kunden ins Netzwerk muss – bietet dieses Betriebssystem deutlich weniger Angriffsvektoren. Das bedeutet allerdings nicht, dass Linux nicht angreifbar ist (das wäre aber eine andere Geschichte).

Darum soll es hier aber gar nicht gehen. Kürzlich wurde ein Upgrade fällig und ich konnte ein Lenovo L470 erstehen, das nicht mehr Windows 11 tauglich ist. Mit 32 GB RAM, einer 1TB-SSD und einem Intel-I7-Prozessor ist es ein mehr als üppiges Arbeitsgerät. Einzig der dicke Akku mit 44Wh störte mich. Da er schon alt war und einiges an Kapazität verloren hatte, dachte ich an einen Austausch gegen ein 24Wh No-Name-Äquivalent.

Alter Akku raus und neuer Akku rein und fertig, dachte ich!

Nach einem Tag war das Laptop leer und wollte eine Korrektur der BIOS-Einstellungen. Zunächst hatte ich natürlich den neuen Akku in Verdacht. Nachdem ich jedoch die CMOS-Batterie ausgetauscht und einen Akku eines anderen No-Name-Herstellers verwendet hatte, zeigte sich, dass der Akku in Ordnung war. Auch mit dem anderen Akku war das L490 nach einem Tag leer … doch warum?

Vor der Installation von Linux hatte ich das BIOS zurückgesetzt und die aktuelle Firmware installiert. Nach ein paar Tagen habe ich den Akku gewechselt.

Da das mehrfache Wechseln der Akkus keine Lösung brachte, bin ich auf einen Artikel von Lenovo gestoßen:

Die Batterie kann entladen werden, wenn das System ausgeschaltet oder im Energiesparmodus ist – ThinkPad, ideapad – Lenovo Support DE

BIOS

Dazu muss im BIOS die folgende Option auf “Disabled” gesetzt werden:

Charge in Battery Mode = [Disabled]

Jetzt hält der Akku und verliert so gut wie keine Kapazität im ausgeschalteten Zustand.

Enjoy it, b!

Windows 11 | Kernelisoierung

Wenn in Windows 11 aufgrund eines inkompatiblen Treibers die Speicherintegrität nicht aktiviert werden kann, kann der entsprechende Treiber deinstalliert werden, sofern er nicht verwendet wird.

Hier die Meldung von Windows 11:

image

Bevor nun der Treiber deinstalliert wird, ist es sinnvoll zu prüfen ob dieser nicht doch geladen ist. Für diesen Fall, konnte ich das schon im Vorfeld ausschließen, da es sich um mein eigenes Surface Laptop Studio handelte und ich keine WDC-Geräte im Einsatz habe.

Der folgende “One-Liner” in PowerShell zeigt, ob zum Beispiel der Treiber für “Volume Shadow Copy / volsnap” geladen ist (Quasi als Test).

# Check if volsnap\.sys is running
Get-CimInstance Win32_SystemDriver | Where-Object { $_.State -eq 'Running' -and $_.PathName -match 'volsnap\.sys' } | ForEach-Object { "Driver '$($_.Name)' is running from path: $($_.PathName)" }

image

Wie im folgenden Aufruf zu sehen, muss nun der Volsnap gegen den WDCsam64_PreWin8 ausgetauscht werden. Der Name lässt sich übrigens über die Zwischenablage kopieren. Im Gegensatz zu oben darf nun nichts angezeigt werden.

# Check if wdcsam64_prewin8\.sys is running
Get-CimInstance Win32_SystemDriver | Where-Object { $_.State -eq 'Running' -and $_.PathName -match 'wdcsam64_prewin8\.sys' } | ForEach-Object { "Driver '$($_.Name)' is running from path: $($_.PathName)" }

Jetzt kann der WDC-Treiber entfernt werden. Am einfachsten geht das mit pnputil.exe, wenn man den “Veröffentlichter Name“: oem26.inf verwendet (oben im Screenshot blau unterstrichen). Die Eingabeaufforderung dazu bitte als Administrator ausführen.

# Deleting wdcsam64_prewin8.sys driver
pnputil /delete-driver oem26.inf /uninstall /force

image

Jetzt den PC neu starten und die Speicherintegrität kann eingeschaltet werden, was aber danach einen erneuten Neustart erfordert.

image

Sieht am Ende so aus und Windows 11 ist damit auch zufrieden.

image

Enjoy it, b!

P.S. jetzt kümmere ich mich darum wieso Windows 11 glaubt, dass mein Laptop alles in DE-DE anzeigen muss, obwohl ich EN-US eingestellt habe.

Hyper-V | Konvertierung virtueller Disks

Gerade gibt es im Bereich der Virtualisierung recht viel zu tun. Ein zentrales Thema ist dabei die Konvertierung von virtuellen Disks (VHD). Da Broadcom VMware freiwillig aufs Abstellgleis geschoben hat, spielen OpenSource und Hyper-V immer mehr eine wichtige Rolle.

Ich bin schon lange ein Freund von Hyper-V, da damit auch in kleinen Umgebungen virtualisiert werden kann, wenn ohnehin schon eine Windows Server-Lizenz vorliegt. Spätestens seit QNAP und Synology ihre NAS-Systeme mit Prozessoren von AMD und Intel ausstatten und zudem Hauptspeicher von 32 GB und mehr vorhanden ist, spricht nichts dagegen, auch auf einem NAS einen Anwendungsserver zu virtualisieren.

QEMU, hin und zurück

Während sich VHDs von Hyper-V (auch VHDX genannt) unter dem Synology Virtual Machine Manager importieren lassen und dabei zu einer VMDK konvertiert werden, ist bei der Migration einer VM von einer Synology auf einen Hyper-V-Server Handarbeit erforderlich.

Wird eine VM auf einem Synology-NAS exportiert, liegt am Ende des Vorgangs eine OVA-Datei in einem Verzeichnis/Share vor.

Die OVA-Datei ist ein Container, der neben allen Festplatten der VM auch deren Konfiguration in Form einer XML-Datei beinhaltet. Letztere wurde jedoch aus „Sicherheitsgründen” mit der Endung OVF versehen.

Der Importvorgang unter Hyper-V, der im Grunde keiner ist, läuft dabei wie folgt ab:

  1. Erstellen einer VM in Hyper-V mit den passenden Parametern. Hat man sich die Konfiguration nicht gemerkt, kann man ja in der OVF-Datei nachschauen
  2. Kopieren der VHDX in den Ordner “Virtual Hard Disks”
  3. Anhängen der virtuellen Disk (VHDX ) an die VM
  4. Start der VM

Wie kommt man nun aber von der OVA zu einer VHDX -Datei?

Dazu sind die folgenden Schritte notwendig:

image

Hier die einzelnen Befehle und bitte die Namen der Disks anpassen:

::  Entpacken der OVA-Datei mit 7z
7z.exe e w11-test-02.ova

:: Konvertieren der ersten Disk aus der OVA-Datei (welche das Betriebssystem enthaelt) in das vhdx-Format
qemu-img.exe convert w11-test-02-disk1.vmdk -O vhdx -o subformat=dynamic w11-test-02.vhdx

Nachdem Microsoft den Virtual Machine Converter (MVMC) aus unerfindlichen Gründen beerdigt hat, verwende ich neben dem QEMU disk image utility noch Disk2vhd, wenn ich mich nur in der Microsoft-Welt bewege.

Update 18.06.2025
Muss eine Hyper-V VHDX für QEMU, KVM oder libvirt (zum Beispiel GNOME Boxes) konvertiert werden, erfolgt das mit folgendem Aufruf (auch hier bitte die Pfade und Namen anpassen:

::  Konvertieren einer Hyper-V VHDX für die Verwendung mit QEMU
qemu-img.exe convert -f vhdx -O qcow2 ..\Win11_24H2_English_x64-rufus.vhdx ..\..\Win11_24H2_English_x64-rufus.qcow2 -p

Enjoy it, b!

Windows Server 2016 | Update NuGet fails

Ein paar Tage hat er ja noch, der Windows Server 2016 und falls mit PowerShell neue Module geladen werden sollen kann eine Aktualisierung des NuGet-Paketproviders erforderlich sein.

Sollte diese fehlschlagen und die folgende Fehlermeldung erscheinen, kann das an einer nicht ausreichenden Transportverschlüsselung liegen.

Hier die Fehler beim Versuch ein PowerShell-Modul zu installieren, was wiederum eine Aktualisierung von NuGet notwendig machte.

image

Bei dem Versuch die Aktualisierung manuell durchzuführen.

image

Die Lösung lag in der Verwendung von TLS1.2 für .Net.

# Forcing .Net to use TLS1.2 instead of SSL3 or lower TLS versions
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12;

image

Danach hat auch die Installation des PowerShell Windows Update Modules ohne Probleme funktioniert.

Enjoy it, b!

Hyper-V | Konvertierung virtueller Disks

Gerade gibt es im Bereich der Virtualisierung recht viel zu tun. Ein zentrales Thema ist dabei die Konvertierung von virtuellen Disks (VHD). Da Broadcom VMware freiwillig aufs Abstellgleis geschoben hat, spielen OpenSource und Hyper-V immer mehr eine wichtige Rolle.

Ich bin schon lange ein Freund von Hyper-V, da damit auch in kleinen Umgebungen virtualisiert werden kann, wenn ohnehin schon eine Windows Server-Lizenz vorliegt. Spätestens seit QNAP und Synology ihre NAS-Systeme mit Prozessoren von AMD und Intel ausstatten und zudem Hauptspeicher von 32 GB und mehr vorhanden ist, spricht nichts dagegen, auch auf einem NAS einen Anwendungsserver zu virtualisieren.

QEMU, hin und zurück

Während sich VHDs von Hyper-V (auch VHDX genannt) unter dem Synology Virtual Machine Manager importieren lassen und dabei zu einer VMDK konvertiert werden, ist bei der Migration einer VM von einer Synology auf einen Hyper-V-Server Handarbeit erforderlich.

Wird eine VM auf einem Synology-NAS exportiert, liegt am Ende des Vorgangs eine OVA-Datei in einem Verzeichnis/Share vor.

Die OVA-Datei ist ein Container, der neben allen Festplatten der VM auch deren Konfiguration in Form einer XML-Datei beinhaltet. Letztere wurde jedoch aus „Sicherheitsgründen” mit der Endung OVF versehen.

Der Importvorgang unter Hyper-V, der im Grunde keiner ist, läuft dabei wie folgt ab:

  1. Erstellen einer VM in Hyper-V mit den passenden Parametern. Hat man sich die Konfiguration nicht gemerkt, kann man ja in der OVF-Datei nachschauen
  2. Kopieren der VHDX in den Ordner “Virtual Hard Disks”
  3. Anhängen der virtuellen Disk (VHDX ) an die VM
  4. Start der VM

Wie kommt man nun aber von der OVA zu einer VHDX -Datei?

Dazu sind die folgenden Schritte notwendig:

image

Hier die einzelnen Befehle und bitte die Namen der Disks anpassen:

::  Entpacken der OVA-Datei mit 7z
7z.exe e w11-test-02.ova

:: Konvertieren der ersten Disk aus der OVA-Datei (welche das Betriebssystem enthaelt) in das vhdx-Format
qemu-img.exe convert w11-test-02-disk1.vmdk -O vhdx -o subformat=dynamic w11-test-02.vhdx

Nachdem Microsoft den Virtual Machine Converter (MVMC) aus unerfindlichen Gründen beerdigt hat, verwende ich neben dem QEMU disk image utility noch Disk2vhd, wenn ich mich nur in der Microsoft-Welt bewege.

Nachdem Microsoft aus unerfindlichen Gründen den Virtual Machine Converter (MVMC) eingestellt hat, verwende ich neben dem QEMU Disk Image Utility noch Disk2VHD, wenn ich mich ausschließlich in der Microsoft-Welt bewege.

Enjoy it, b!

WSUS | Optimierung des IIS (WSUS Application Pool)

Hier auf dem Blog gibt es einige Artikel zum Thema WSUS (Windows Server Update Services) und ja, ich stimme Euch zu. Man kann ihn wirklich hassen oder lieben, doch besonders in den heutigen Zeiten bin ich mehr als froh, wenn ich auf einfache Weise ein Update zurückhalten kann. Es läuft momentan nicht optimal mit den Windows Updates Winking smile

Hier nochmals eine Aufstellung der Beiträge:

Doch worum geht es heute? Microsoft liefert einen umfangreichen Beitrag zu den Windows Server Update Services best practices, die immerhin am 02. Februar 2025 ihre letzte Überarbeitung erfahren haben.

Windows Server Update Services (WSUS) best practices – Configuration Manager | Microsoft Learn

Besonders hervorzuheben sind die notwendigen Einstellungen für den WSUS Application Pool.

image

Diese Einstellungen können auch mit der PowerShell konfiguriert werden, was insbesondere bei mehreren WSUS eine Erleichterung darstellt.

image

Zum Download gibt es den Code hier.

Enjoy it, b!