Wiederherstellung eines Windows-Backups in Proxmox – Problem mit VirtIO-Treibern

Jun 3, 2020
16
1
23
43
Hallo zusammen,

ich hoffe, ihr könnt mir weiterhelfen, denn ich bin mittlerweile etwas ratlos.

Ich habe ein Backup eines physischen PCs (Bare Metal) mit Synology Active Backup for Business erstellt. Anschließend habe ich in Proxmox 8.3.3 eine virtuelle Maschine eingerichtet, deren Konfiguration weitestgehend mit der ursprünglichen Hardware übereinstimmt.

Nach dem Start des Bootmediums von Synology Active Backup for Business habe ich das gesicherte Windows-System auf die virtuelle Festplatte der VM zurückgespielt. Der anschließende Bootvorgang schlug jedoch fehl – es wurde kein Bootmedium gefunden, und Windows zeigte einen Bluescreen an.

Mir ist bewusst, dass dieses Verhalten in Proxmox zu erwarten ist, da – anders als bei VMware – standardmäßig keine VirtIO-Treiber in Windows vorinstalliert sind. Das stellt jedoch ein erhebliches Problem dar, da es mir in meinem Szenario nicht möglich ist, die Treiber bereits vor der Sicherung auf dem Quell-System zu installieren.

Ich habe verschiedene Ansätze ausprobiert, um Windows nach der Wiederherstellung zum Booten zu bewegen:
  • Bereitstellen der Treiber mit Hiren’s BootCD:
    Ich konnte nach dem Start von Hiren’s BootCD den SCSI-Treiber manuell installieren. Dadurch wurde die wiederhergestellte Festplatte zwar erkannt, aber Windows ließ sich trotzdem nicht starten.
  • Manuelles Einbinden des Treibers in die Windows-Registry:
    Ich habe versucht, die Registry der wiederhergestellten Windows-Installation zu laden und die Treiber dort zu hinterlegen, jedoch ohne Erfolg.
Interessant ist, dass Proxmox beim Import von VMware ESXi-basierten virtuellen Maschinen die Option "Prepare for VirtIO-SCSI" anbietet. Ich vermute, dass genau diese Anpassungen erforderlich wären, um Windows in Proxmox erfolgreich zu starten – nur weiß ich nicht, wie ich dies nachträglich, also von außerhalb des nicht bootfähigen Systems, umsetzen kann.

Hat jemand eine Idee, wie ich in dieser Situation vorgehen kann? Gibt es eine Möglichkeit, die erforderlichen Treiber so einzubinden, dass Windows die VirtIO-Festplatte erkennt und erfolgreich bootet?

Vielen Dank für eure Unterstützung!

Viele Grüße
Sandro
 
Hallo Sandro,

hast du schon versucht Windows mal mit komplett lowlevel Hardware zu starten? Das funktioniert meist sehr gut. Danach erst die VirtIO Treiber installieren und das VirtIO/SCSI Bootimage umstellen [0], [1].

Damit meine ich die Bootdisk verwendet SATA und den Default LSI-Controller. Als Netzwerkkarte die RTL8139. Hier meine Beispielconfig:

Code:
bios: ovmf
boot: order=sata0;ide2;net0
cores: 4
cpu: x86-64-v2-AES
efidisk0: SSD-vmdata:vm-177-disk-0,efitype=4m,pre-enrolled-keys=1,size=1M
ide2: none,media=cdrom
machine: pc-q35-9.0
memory: 4096
meta: creation-qemu=9.0.2,ctime=1740755009
name: test
net0: rtl8139=AC:21:21:46:3B:3E,bridge=vlan11,firewall=1
numa: 0
ostype: win10
sata0: SSD-vmdata:vm-177-disk-1,size=32G
smbios1: uuid=21da726c-ea39-4162-ba05-8a279e11966b
sockets: 1
tpmstate0: SSD-vmdata:vm-177-disk-2,size=4M,version=v2.0

Um welches Windows handelt es sich denn? Post doch auch mal deine VM-Config mit "qm config <vmid>".

[0] https://pve.proxmox.com/wiki/Migrate_to_Proxmox_VE
[1] https://pve.proxmox.com/wiki/Paravirtualized_Block_Drivers_for_Windows
 
Hallo zusammen,

ich hoffe, ihr könnt mir weiterhelfen, denn ich bin mittlerweile etwas ratlos.

Ich habe ein Backup eines physischen PCs (Bare Metal) mit Synology Active Backup for Business erstellt. Anschließend habe ich in Proxmox 8.3.3 eine virtuelle Maschine eingerichtet, deren Konfiguration weitestgehend mit der ursprünglichen Hardware übereinstimmt.

Nach dem Start des Bootmediums von Synology Active Backup for Business habe ich das gesicherte Windows-System auf die virtuelle Festplatte der VM zurückgespielt. Der anschließende Bootvorgang schlug jedoch fehl – es wurde kein Bootmedium gefunden, und Windows zeigte einen Bluescreen an.

Mir ist bewusst, dass dieses Verhalten in Proxmox zu erwarten ist, da – anders als bei VMware – standardmäßig keine VirtIO-Treiber in Windows vorinstalliert sind. Das stellt jedoch ein erhebliches Problem dar, da es mir in meinem Szenario nicht möglich ist, die Treiber bereits vor der Sicherung auf dem Quell-System zu installieren.

Ich habe verschiedene Ansätze ausprobiert, um Windows nach der Wiederherstellung zum Booten zu bewegen:
  • Bereitstellen der Treiber mit Hiren’s BootCD:
    Ich konnte nach dem Start von Hiren’s BootCD den SCSI-Treiber manuell installieren. Dadurch wurde die wiederhergestellte Festplatte zwar erkannt, aber Windows ließ sich trotzdem nicht starten.
  • Manuelles Einbinden des Treibers in die Windows-Registry:
    Ich habe versucht, die Registry der wiederhergestellten Windows-Installation zu laden und die Treiber dort zu hinterlegen, jedoch ohne Erfolg.
Interessant ist, dass Proxmox beim Import von VMware ESXi-basierten virtuellen Maschinen die Option "Prepare for VirtIO-SCSI" anbietet. Ich vermute, dass genau diese Anpassungen erforderlich wären, um Windows in Proxmox erfolgreich zu starten – nur weiß ich nicht, wie ich dies nachträglich, also von außerhalb des nicht bootfähigen Systems, umsetzen kann.

Hat jemand eine Idee, wie ich in dieser Situation vorgehen kann? Gibt es eine Möglichkeit, die erforderlichen Treiber so einzubinden, dass Windows die VirtIO-Festplatte erkennt und erfolgreich bootet?

Vielen Dank für eure Unterstützung!

Viele Grüße
Sandro
Hi, das ist ein bekanntes Problem von Windows.
Die OS Disk der VM einfach per IDE oder SATA einhängen. Wenn die VM nur eine Disk hat, eine kleine Dummy Disk per SCSI anbinden.
Dann Windows starten und VirtIO Treiber installieren.
Windows herunterfahren, eventuelle Dummydisk löschen und die OS Disk aushängen und per SCSI einhängen.
(Bootreihenfolge beachten)