Import Windows Server 2008 R2

frantek

Renowned Member
May 30, 2009
185
7
83
Hallo,

ich habe einen Windows Server 2008 R2 in zwei VHDX-Files bekommen und dieser soll nun unter PVE 8.4.0 zu Archivzwecken laufen. Die Files habe ich per "qm disk import" erfolgreich in den LVM-Storage migrieren können. Meine VM sieht wie folgt aus:

Code:
boot: order=ide0
cores: 1
cpu: x86-64-v2-AES
ide0: local:iso/de_windows_server_2008_r2_standard_enterprise_datacenter_web_vl_build_x64_dvd_x15-59762.iso,media=cdrom,size=3031984K
ide2: local:iso/virtio-win-0.1.271.iso,media=cdrom,size=709474K
machine: pc-i440fx-9.2+pve1
memory: 2048
meta: creation-qemu=9.2.0,ctime=1753617979
name: test
net0: virtio=BC:24:11:AC:16:30,bridge=vmbr0,firewall=1
numa: 0
ostype: win7
scsihw: virtio-scsi-single
smbios1: uuid=e1361279-ecb8-4830-86d5-7a965bccfc77
sockets: 1
unused2: local-lvm:vm-700-disk-0
virtio0: local-lvm:vm-700-disk-1,iothread=1,size=500G
virtio1: local-lvm:vm-700-disk-2,iothread=1,size=400G
vmgenid: bcd61a92-9bb7-4ab9-9f23-511b65149757

Hier jetzt mit dem Windows-ISO als Boot-Medium.

Boote ich von der Platte bekomme ich:

1753712168693.png

Boote ich vom ISO in die Reparatur und lade die VirtIO-Treiber möchte er gleich mal reparieren, was aber schief geht:

1753711825714.png

1753711860777.png

1753711902984.png

Gehe ich noch mal über "Treiben laden" sehe ich aber die Laufwerke und kann auch drauf zugreifen:

1753711984015.png

Folglich funktioniert prinzipiell der Treiber.

Ich habe auch einige anderen Kombinationen von SATA/SCSI und Controllern getestet, ohne Erfolg.

Gibt es irgend einen Weg, das System lauffähig zu bekommen?

TIA
Matthias
 
Die importierten vHDDs bzw. das OS kennen den Treiber noch nicht. Du kannst beim Boot via ISO diese zwar laden und die Platten „sehen“, aber Windows selbst schreibt sich diese nicht in sein Image.

2 Möglichkeiten: die vHDDs auf SATA umstellen, eine zusätzliche mini vHDD vom Typ VirtIO hinzufügen. VM booten lassen, die Treiber für „vioscsi“ installieren, dann sollte das OS die zusätzliche mini vHDD sehen und bindet den Treiber ins System ein. VM runterfahren, zusätzliche vHDD löschen, die anderen wieder auf VirtIO umstellen und booten.

Die andere Variante wäre boot von der ISO, SHIFT+F10 für die shell, dann darin auf das Laufwerk mit den Treibern wechseln (bspw. D:) und zunächst den Treiber laden mittels

Bash:
drvload D:\vioscsi\<ordner-für-2008\<ordner-für-x86-oder-x64\vioscsi.inf

Danach überprüfen, ob die VirtIO VHDDs gesehen werden (E: , F: , etc.) und mittels DISM die vioscsi.inf aus dem entsprechenden Ordner ins Image von Windows einfügen (E: dient nur als Beispiel):


Bash:
dism /image:E:\ /add-driver /driver:D:\viosci\<2008>\amd64

Danach System herunterfahren mittels:


Bash:
wpeutil shutdown
 
Und für 2008 bitte ältere Virtio Tools benutzen. Für 2008er benutze ich immer 0.189 da die Version stabil mit 2008 läuft.
 
Danke so weit. Habe das hier gemacht:

View attachment 88637

Mit dem 0.189. Das Ergebnis:

View attachment 88638
Das ist ein ganz alter Fehler, wo der Fix Tausendfach im Netz steht.
Entweder machst du was da steht oder du bootest vom Windows iso und führst den Fix manuell aus. Den genauen Befehl habe ich nicht im Kopf, aber die Schalter waren /fixboot und /fixmbr.
Das passiert immer wenn man mit dism arbeitet, deshalb mache ich das auch nie so. Bin ich zu faul dafür. ;)
 
  • Like
Reactions: Johannes S
Waren VHDX Files nicht Laufwerke von Hyper-V v2 (also UEFI Mode)?
Die virtuelle Maschine hier im Proxmox steht doch auf BIOS, oder?
 
So mache ich das auch immer, hänge aber noch temporär eine Disk am virtuellen SCSI-Kontroller ein. Und zwar auf der gleichen ID, die dann die System Disk bekommen soll. Klappt immer. :)
Edit: SATA geht auch. Nur muss man hier vor dem Starten nochmal mit der Windows DVD starten, die installierte SYSTEM Registry öffnen und hier im Schlüssel MSAHCI und ATAPI den "start" Wert auf "0" setzen.
 
Last edited:
So mache ich das auch immer, hänge aber noch temporär eine Disk am virtuellen SCSI-Kontroller ein. Und zwar auf der gleichen ID, die dann die System Disk bekommen soll. Klappt immer. :)
ID ist egal, da es hier eine VM mit zwei Disks ist, braucht man keine extra einhängen.
 
Bei allen Betriebssystemen vor 2012 ist's leider nicht egal. 0x7B war dann die Antwort...
Dann wissen die vielen VMs, welche ich migriert habe, noch nix davon. Es muss nur der richtige Controller sein und manchmal muss man bei den alten Kisten im Gerätemanger nachhelfen, damit der Treiber geladen wird. Aber ID hat selbst ein Windows NT noch nie interessiert.
 
Dann hatten sich all meine Small Business Editions 2011 zickig verhalten. :D
SB2011 basiert auf 2k8R2 und ist für viele Probleme bei jeder Virtualisierung bekannt. Auch der läuft mit den Virtio 0.189 Version einigermaßen OK.
 
Ja, ich weiß. ;) Virtio 0.1.173 war die letzte Treiberversion, die ich auf den Dingern getestet habe. Lief gut und wurde nie wieder angefasst.
 
Schön, was ihr so alles macht, nur bei mir funktioniert das nicht. Boote ich mit IDE gibt es ein BSOD den ich nicht screenshoten kann, da er sofort wieder weg ist.
 
Soll die vm-700-disk-0 unused sein?

Ich habe mal kurz nachgeschaut welche Treiberversion ich auf dem 2008er nutze und das ist die 0.1-81. Ich würde als erstes mal versuchen die Platten als IDE einzubinden und dann testweise im abgesicherten Modus starten. Wenn das klappt neustarten und wenn das System dann startet die korrekten Treiber installieren.
 
Hast du denn die alten Hardwaresettings vom Hyper-V oder wenigstens einen Screenshot davon?

PS: die vm-700-disk-0 soll unused sein?
 
Hast du denn die alten Hardwaresettings vom Hyper-V oder wenigstens einen Screenshot davon?

Leider nicht. Hat jemand anderes gemacht. Ich habe nur die Images bekommen. ich kann ja mal fragen ...

PS: die vm-700-disk-0 soll unused sein?

Ja, die ist nur vom anlegen der VM übrig und leer.

Ich lade das C: Image noch mal frisch und teste noch mal IDE. Dauert, kommt von USB2.