[TUTORIAL] Kleiner Gamechanger bei der Windows Migration zu Proxmox

Dism funktioniert leider nicht mit einem laufenden Betriebssystem.
Devcon macht schon genau das richtige, nur leider ist das Tool nicht mit Windows ausgeliefert, sondern muss man extra runterladen.
Nutanix installiert den Treiber auch bootfähig, aber die haben das ganze in eine eigene .exe verpackt, wo man leider nicht nachvollziehen kann, wie die arbeiten.
Ich vermute mal, die nutzen die Funktionen von hier. Damit kann man reine Sw-Geräte anlegen (Link) und denen auch Treiber zuweisen. Für devcon hat Microsoft auch den Quellcode veröffentlicht (Link). Dort sieht man die Verwendung dieser API.
Mir gefällt ja Deine Idee, ohne Neustart auszukommen. Den Einsatz eines externen Programms (devcon oder devgen) wollte ich aber vermeiden. Via PowerShell-Skript, das nahezu vollständig mittels Claude und ChatGPT entstanden ist, kann ich das jetzt.
Das Skript fügt ein software-basiertes Gerät hinzu, sorgt für die Treiberzuweisung und entfernt das Gerät wieder. Alles ohne Neustart, lediglich der vioscsi-Treiber muss schon installiert sein oder die Inf dem Script zur Installation des Treibers übergeben werden. Getestet habe ich das nur in begrenztem Umfang, Windows Server 2025 und 2022. Theoretisch sollte es auch bei deutlich älteren Windows-Versionen (ab Win8/Server2k8) funktionieren, aber da ist das software-basierte Gerät über den Gerätemanager manuell zu entfernen.
 

Attachments

  • Like
Reactions: Johannes S
Ich vermute mal, die nutzen die Funktionen von hier. Damit kann man reine Sw-Geräte anlegen (Link) und denen auch Treiber zuweisen. Für devcon hat Microsoft auch den Quellcode veröffentlicht (Link). Dort sieht man die Verwendung dieser API.
Mir gefällt ja Deine Idee, ohne Neustart auszukommen. Den Einsatz eines externen Programms (devcon oder devgen) wollte ich aber vermeiden. Via PowerShell-Skript, das nahezu vollständig mittels Claude und ChatGPT entstanden ist, kann ich das jetzt.
Das Skript fügt ein software-basiertes Gerät hinzu, sorgt für die Treiberzuweisung und entfernt das Gerät wieder. Alles ohne Neustart, lediglich der vioscsi-Treiber muss schon installiert sein oder die Inf dem Script zur Installation des Treibers übergeben werden. Getestet habe ich das nur in begrenztem Umfang, Windows Server 2025 und 2022. Theoretisch sollte es auch bei deutlich älteren Windows-Versionen (ab Win8/Server2k8) funktionieren, aber da ist das software-basierte Gerät über den Gerätemanager manuell zu entfernen.
Das ist auch eine gute Idee, leider habe ich bei aktuellen Windows noch das Problem, dass ich die Security Policies aufweichen muss, weil das Powershell Script geblockt wird.
 
  • Like
Reactions: Johannes S
Das ist auch eine gute Idee, leider habe ich bei aktuellen Windows noch das Problem, dass ich die Security Policies aufweichen muss, weil das Powershell Script geblockt wird.
Ein einzelnes Skript lässt sich auch mit PowerShell /ExecutionPolicy Bypass /File <script> aufrufen, dann fallen zumindest die PowerShell-seitigen Beschränkungen weg.
 
Ein einzelnes Skript lässt sich auch mit PowerShell /ExecutionPolicy Bypass /File <script> aufrufen, dann fallen zumindest die PowerShell-seitigen Beschränkungen weg.
Und das wieder in eine Batch werfen. Das sollte funktionieren. ;)
 
  • Like
Reactions: ThoSo
Ich habs geschrieben, also ja

Hhhmmm, also bei github steht :
  • nearly all code in here was written by AI

sollte das dann nicht besser "HI" heissen (HumanIntelligence) wenn du das selber geschrieben hast - oder war es doch ein LLM?

Optimierungsidee:
Die Pfade sind bei allen CDs eigentlich gleicht, würde es nicht reichen hier den Laufwerksbuchstaben zu übergeben?

Jaja - ist wieder Gemecker auf seichtem Grund :cool::D
und ich bin immer noch bei der Batch, weil easy-going.
 
Last edited:
  • Like
Reactions: Johannes S
@Falk R.
Ich habe mir mal bei Yubsoft das Tool Folder2Iso heruntergeladen (https://www.yubsoft.com/folder2iso/) - Freeware, Code auf Github!
Aus deinem gebauten ISO habe ich mir alle Devcon* Dateien und die batch herausgezogen.
Lt. deiner Batch benötigt man nur den Ordner "vioscsi" - den ich mir aus der aktuellen 285iger ISO extrahiert habe.
In die Batch kommt für Windows 11 jetzt eine zusätzliche Zeile mit der Build 26200 für die 25h2.
Das Ganze habe ich mit Folder2Iso in eine neue "9660+UDF1.02"-er ISO mit ca 17Mb ausgegeben.

Hab ich etwas übersehen - oder ist das alles?

Upd. Das PS-Script von Github könnte man auch dazulegen ;)
 
Last edited:
Die Zeiten vom manuellen Eintippen von Win32-API Calls sind eben vorbei. Ich kann damit gut leben.
Ich auch, weil mir die Vibecoder meine Rente sichern werdem. So erzeugten Code würde ich trotzdem nicht produktiv einsetzen oder anderen Leuten empfehlen wollen.