Hallo Zusammen
ich habe hier einen Windows XP Rechner mit sterbender Hardware. Daher soll er virtualsiert werden. Niemand weiß noch, wie die Software installiert und konfiguriert wird. Er wird zum Verwalten einer Tankstelle über RS-232 verwendet (Berechtigung/Logging). Im besten Fall merkt der Endnutzer/Verwalter nicht einmal etwas vom Tausch.
Als Hardware soll ein PC mit i3 7100 + 500GB SSD und 8GB RAM dienen. Als dedizierte GPU eine P1000 für direkte Displayausgabe auf einen Monitor.
Ich habe mal testweise eine Windows 10 Maschine (BIOS/CSM/MBR) mit disk2vhd virtualisiert und konnte diese dann auch in Proxmox booten und über VNC anzeigen. Nur leider liefer die Maschine, sobald die Grafikkarte als "Primary GPU" ausgewählt wird kein Bild für den angeschlossenen Monitor. Sowohl in q35 als auch in i440fx.
Aktuelle Konfig:
1. GRUB-Konfiguration (/etc/default/grub)
2. VFIO-PCI-Modulkonfiguration (/etc/modprobe.d/vfio.conf)
3. IOMMU-Status (dmesg | grep -e DMAR -e IOMMU)
4. NVIDIA-GPU-Details (lspci -v)
5. NVIDIA-Geräte-IDs (lspci -nn | grep NVIDIA)
6. VFIO-Modulstatus (lsmod | grep vfio)
7. Treiber-Blacklist (/etc/modprobe.d/blacklist.conf)
[code bash]
blacklist nvidiafb
blacklist nouveau
[/code]
8. Automatisch ladende Kernelmodule (/etc/modules)
9. Proxmox-VM-Konfiguration (/etc/pve/qemu-server/102.conf)
#Ohne PCI 01:00.0 alle Funktionen
PCI ohne alle Funktionen
Gibt für diese Anwendung eine besser Lösung? Ich komm nicht weiter...
ich habe hier einen Windows XP Rechner mit sterbender Hardware. Daher soll er virtualsiert werden. Niemand weiß noch, wie die Software installiert und konfiguriert wird. Er wird zum Verwalten einer Tankstelle über RS-232 verwendet (Berechtigung/Logging). Im besten Fall merkt der Endnutzer/Verwalter nicht einmal etwas vom Tausch.
Als Hardware soll ein PC mit i3 7100 + 500GB SSD und 8GB RAM dienen. Als dedizierte GPU eine P1000 für direkte Displayausgabe auf einen Monitor.
Ich habe mal testweise eine Windows 10 Maschine (BIOS/CSM/MBR) mit disk2vhd virtualisiert und konnte diese dann auch in Proxmox booten und über VNC anzeigen. Nur leider liefer die Maschine, sobald die Grafikkarte als "Primary GPU" ausgewählt wird kein Bild für den angeschlossenen Monitor. Sowohl in q35 als auch in i440fx.
Aktuelle Konfig:
1. GRUB-Konfiguration (/etc/default/grub)
Bash:
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(. /etc/os-release && echo ${NAME})"
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"
GRUB_CMDLINE_LINUX=""
2. VFIO-PCI-Modulkonfiguration (/etc/modprobe.d/vfio.conf)
Bash:
options vfio-pci ids=10de:1cb1,10de:0fb9 vfio_iommu_type1 allow_unsafe_interrupts=1
3. IOMMU-Status (dmesg | grep -e DMAR -e IOMMU)
Code:
[ 0.007820] ACPI: DMAR 0x0000000086B08D88 0000C8 (v01 INTEL KBL 00000001 INTL 00000001)
[ 0.007839] ACPI: Reserving DMAR table memory at [mem 0x86b08d88-0x86b08e4f]
[ 0.029153] DMAR: IOMMU enabled
... (gekürzt) ...
[ 0.297968] DMAR: Intel(R) Virtualization Technology for Directed I/O
4. NVIDIA-GPU-Details (lspci -v)
Code:
01:00.0 VGA compatible controller: NVIDIA Corporation GP107GL [Quadro P1000] (rev a1)
Subsystem: NVIDIA Corporation Device 11bc
Flags: fast devsel, IRQ 16, IOMMU group 2
Memory at ee000000 (32-bit, non-prefetchable) [size=16M]
Memory at 2fe0000000 (64-bit, prefetchable) [size=256M]
Memory at 2ff0000000 (64-bit, prefetchable) [size=32M]
I/O ports at e000
Expansion ROM at ef000000 [disabled] [size=512K]
Kernel driver in use: vfio-pci
Kernel modules: nvidiafb, nouveau
5. NVIDIA-Geräte-IDs (lspci -nn | grep NVIDIA)
Code:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP107GL [Quadro P1000] [10de:1cb1] (rev a1)
01:00.1 Audio device [0403]: NVIDIA Corporation GP107GL High Definition Audio Controller [10de:0fb9] (rev a1)
6. VFIO-Modulstatus (lsmod | grep vfio)
Code:
vfio_pci 16384 2
vfio_pci_core 86016 1 vfio_pci
irqbypass 12288 2 vfio_pci_core,kvm
vfio_iommu_type1 49152 1
vfio 65536 9 vfio_pci_core,vfio_iommu_type1,vfio_pci
iommufd 110592 1 vfio
7. Treiber-Blacklist (/etc/modprobe.d/blacklist.conf)
[code bash]
blacklist nvidiafb
blacklist nouveau
[/code]
8. Automatisch ladende Kernelmodule (/etc/modules)
Code:
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
9. Proxmox-VM-Konfiguration (/etc/pve/qemu-server/102.conf)
Bash:
balloon: 0
boot: order=ide3
cores: 2
cpu: x86-64-v2-AES
hostpci0: 0000:01:00.0,rombar=0,x-vga=1
hostpci1: 0000:01:00.1
ide0: local:iso/virtio-win-0.1.271.iso,media=cdrom,size=709474K
ide1: local-lvm:vm-102-disk-0,size=476944M
ide2: none,media=cdrom
ide3: local-lvm:vm-102-disk-1,size=228940M
machine: pc-i440fx-5.1
memory: 4096
meta: creation-qemu=10.0.2,ctime=1754660534
name: P2871bios
numa: 0
ostype: win10
scsihw: virtio-scsi-single
smbios1: uuid=e242cb42-33aa-4bd2-8c35-e48589d4ccaf
sockets: 1
vga: none
vmgenid: 114dc5f2-56b0-4fa2-b475-bf47015b797c
#Ohne PCI 01:00.0 alle Funktionen
Code:
root@pve:~# qm start 102
error writing '1' to '/sys/bus/pci/devices/0000:01:00.0/reset': Inappropriate ioctl for device
failed to reset PCI device '0000:01:00.0', but trying to continue as not all devices need a reset
Code:
root@pve:~# qm monitor 102
Entering QEMU Monitor for VM 102 - type 'help' for help
qm> info pci
Bus 0, device 0, function 0:
Host bridge: PCI device 8086:1237
PCI subsystem 1af4:1100
id ""
Bus 0, device 1, function 0:
ISA bridge: PCI device 8086:7000
PCI subsystem 1af4:1100
id ""
Bus 0, device 1, function 1:
IDE controller: PCI device 8086:7010
PCI subsystem 1af4:1100
BAR4: I/O at 0xf0a0 [0xf0af]
id ""
Bus 0, device 1, function 2:
USB controller: PCI device 8086:7020
PCI subsystem 1af4:1100
IRQ 11, pin D
BAR4: I/O at 0xf080 [0xf09f]
id "uhci"
Bus 0, device 1, function 3:
Bridge: PCI device 8086:7113
PCI subsystem 1af4:1100
IRQ 9, pin A
id ""
Bus 0, device 5, function 0:
PCI bridge: PCI device 1b36:0001
IRQ 10, pin A
BUS 0.
secondary bus 1.
subordinate bus 1.
IO range [0xe000, 0xefff]
memory range [0xfe400000, 0xfe5fffff]
prefetchable memory range [0x7070000000, 0x707fffffff]
BAR0: 64 bit memory at 0x7000000000 [0x70000000ff]
id "pci.3"
Bus 0, device 16, function 0:
VGA controller: PCI device 10de:1cb1
PCI subsystem 10de:11bc
IRQ 11, pin A
BAR0: 32 bit memory at 0xfd000000 [0xfdffffff]
BAR1: 64 bit prefetchable memory at 0x7040000000 [0x704fffffff]
BAR3: 64 bit prefetchable memory at 0x7080000000 [0x7081ffffff]
BAR5: I/O at 0xf000 [0xf07f]
id "hostpci0"
Bus 0, device 17, function 0:
Audio controller: PCI device 10de:0fb9
PCI subsystem 10de:11bc
IRQ 10, pin B
BAR0: 32 bit memory at 0xfe600000 [0xfe603fff]
id "hostpci1"
Bus 0, device 30, function 0:
PCI bridge: PCI device 1b36:0001
IRQ 10, pin A
BUS 0.
secondary bus 2.
subordinate bus 2.
IO range [0xd000, 0xdfff]
memory range [0xfe200000, 0xfe3fffff]
prefetchable memory range [0x7060000000, 0x706fffffff]
BAR0: 64 bit memory at 0x7000001000 [0x70000010ff]
id "pci.1"
Bus 0, device 31, function 0:
PCI bridge: PCI device 1b36:0001
IRQ 11, pin A
BUS 0.
secondary bus 3.
subordinate bus 3.
IO range [0xc000, 0xcfff]
memory range [0xfe000000, 0xfe1fffff]
prefetchable memory range [0x7050000000, 0x705fffffff]
BAR0: 64 bit memory at 0x7000002000 [0x70000020ff]
id "pci.2"
PCI ohne alle Funktionen
Code:
qm start 102
device '0000:01:00.1' assigned more than once
Gibt für diese Anwendung eine besser Lösung? Ich komm nicht weiter...
Last edited: