Windows 10 VM hat Probleme beim booten über eine NVME auf der ein Windows schon vorhanden ist.


tobias.poppe
Go to solution Solved by alturismo,

Recommended Posts

Hallo zsm.

 

Ich bin neu im Unraid Universum, also bitte habt erbarmen.

Ich weiß, ewig lästiges Thema diese VM's aber mich hat es auch erwischt.

 

Ich habe Probleme beim booten einer Windows 10 VM von einer NVME auf der mein Hauptwindows gespeichert ist.

Ich habe mir mehrere Videos zu dem Thema angeschaut bei denen es funktioniert hat und bin genauso vorgegangen, aber ohne Erfolg.

 

Bsp.

JEDER sollte Unraid ausprobieren - Hier ist warum! | Windows 10 umziehen ohne Neuinstallation! - YouTube

 

sieht sehr einfach aus, hatte bei mir aber keine Wirkung.

 

Die VM bootet zwar, aber es wird mir andauernd angezeigt das Windows nicht richtig geladen sei und ich Wiederherstellungsoptionen zu Auswahl habe diese Ich nicht aber nutzen möchte da mein Windows ja da ist und ohne den Unraid Stick auf meinem PC auch tadellos läuft.

Wenn ich die Auswahl Beenden und zu Windows 10 Fortfahren wähle, bootet er neu und gibt mir die Meldung es gibt Probleme der PC muss neu gestartet werden. Dann lädt er bis zu 100% und macht nichts mehr. 

Habe schon ne Stunde gewartet bis sogar die Meldung kam NVME zu heiß und dann ausgeschaltet.

 

Manchmal kommen auch nur das Windows 10 Ladezeichen was hängt und es regt sich nichts mehr.

 

Windows VM läuft (NICHT) mit nem Ryzen 5 3600, hab alle logische Kerne angeklickt.

Hat 8 GB RAM bekommen.

VirtIO Driver ausgewählt, SATA BUS.

Primary Disk. Manual = /dev/nvme0n1, SATA BUS

VNC Grafikkarte ausgewählt.

als zweite meine 1080ti ausgewählt.

Soundkarte ausgewählt.

 

und fertig. läuft NICHT!

 

Habt Ihr Ideen, Ratschläge oder wisst woran es liegt!?

Wäre Ich sehr dankbar.!

 

Falls noch Infos benötigt werden bitte nicht zögern und fragen!

 

Danke euch im voraus.

 

Bleibt gesund!

 

Viele Grüße 

Tobias

 

 

Link to comment
6 hours ago, tobias.poppe said:

VNC Grafikkarte ausgewählt.

als zweite meine 1080ti ausgewählt.

 

6 hours ago, tobias.poppe said:

Falls noch Infos benötigt werden bitte nicht zögern und fragen!

 

 

eine diagostics wäre nicht verkehrt, und evtl. mal schauen was in der VM log steht ...

 

Verdacht, AMD .. macht (leider) öfters Probleme, dann scheint es so zu sein dass du nur eine GPU hast, ist diese per VFIO Bind so gesetzt dass Unraid diese nicht greifen darf, kann ... mal ohne GPU passthrough versucht ? und geschaut ob Sie so bootet (dann per RDP, VNC ... testen).

 

unraid beansprucht für sich gerne die primäre Karte, wenn jetzt die VM übernehmen will ...

Link to comment

also normalerweist liegt das an fehlenden Festplattentreibern.

Wenn Du die VM mit Defaultwerten einrichtest, dann benutzt QEMU diese "virtio" Treiber. Die kennt Dein altes Windows aber nicht und es ended mit "unaccessible boot device" auf einem BSOD (heute kaum mehr zu sehen, da Windows sofort neu startet und nach drei Fehlversuchen dann diesen "mir geht ja sooo schlecht, reparier mich!" Bildschirm bringt.

 

Bei einer Neuinstallation von Windows in der VM funktioniert das, da werden die Treiber als virtuelle CD angeboten und man kann sie beim Setup einbinden.

 

Wie man es trotzdem hinbekommt, weis ich leider auch nicht. Ich hatte mal versucht, die Treiber schon VOR der VM-isierung auf dem richtigen Windows zu installieren. Aber da gibt es ja den "Controller" noch gar nicht, deshalb passiert auch nix, leider.

 

Du kannst versuchen, die Treiberart auf SATA oder IDE zu ändern. Dann sollte QEMU "bekannte" Geräte emulieren und Windows den Boot überleben. Hat bei mir aber leider auch nicht wirklich funktioniert. Und selbst wenn es gehen würde, es wäre lahm wie Hund.

 

Ich hab dann irgendwann aufgegeben und ne neue VM installiert und später nur noch die Daten/Programme/Einstellungen rübergeholt.

 

Link to comment
1 hour ago, Michael Meiszl said:

"mir geht ja sooo schlecht, reparier mich!" Bildschirm bringt.

😂Musste auch schon leider bei einigen so vorgehen. Neue VM, mooore Speed! Allerdings bei Virtualbox oder QNAP. Unraid muss ich noch die VMs testen. Die Virtualisierung vorhandener Hardware hatte da auch nicht funktioniert. Es war sehr langsam auch mit Gasterweiterung....

Link to comment

es gibt auch noch einen anderen "Trick", den Du eventuell ausprobieren kannst:

  • Man kann eine ganze physikalische Platte durch die VM durchleiten

Das ist erstmal doof, denn Du willst ja wohl nicht Dein Originalwindows riskieren.

Aber, Du könntest ja unter Windows ein Vollbackup machen und das dann auf eine neue, temporäre, Platte zurückspielen (überprüfen, ob sie auch ordentlich booten kann!).

Dann diese Platte in den Unraid Server (mit dem Plugin "unassigned devices") rein. Den Devicenamen merken (irgendwas mit /dev/sd?), per shell gucken, wie sie richtig heißt (hab ich auch erst vor ein paar Tagen lernen müssen, diese /dev/sd? Dinger verschieben sich schon mal, mit den Namen sollte man also nicht operieren)

(muss man unter /dev/disk/by-id/... suchen, welcher link zu Deinem /dev/sd? zeigt, und DEN Pfad muss man dann bei der VM eingeben! )

Beispiel: /dev/sdc

/dev/disk/by-id/wwn-0x5000c500ace4642c -> ../../sdc

 

(ich sagte ja, ist etwas krumpelig :-))))

Den Plattentyp wieder auf SATA oder IDE stellen.

 

Die VM sollte davon dann booten können. Danach kannst Du entweder die RedHat Treiber installieren und die pysikalische Platte in eine "richtige virtuelle" konvertieren lassen, oder mit dieser Fake Platte einfach weiterarbeiten.

(ich würde für diese Versuche NICHT die originale Windows Platte nehmen wollen...!)

 

 

 

Link to comment

Hey Leute,

 

vielen Dank erstmal für die tolle Hilfe von euch, echt Mega!

 

Ich hab es dann erstmal versucht wie alturismo es geschrieben hat.

Ohne eine GPU einzufügen nur die VNC variante.

mit den alten Einstellungen.

 

Also: 

Ich hab alle logische Kerne angeklickt.

Hat 8 GB RAM bekommen.

VirtIO Driver ausgewählt, SATA BUS.

Primary Disk. Manual = /dev/nvme0n1, SATA BUS

VNC Grafikkarte ausgewählt.

 

siehe da Sie bootet und ich gelange auf den Desktop.

Läuft bis jetzt auch und über die habe Ich euch auch mal testweise hier geantwortet.

 

Dann eine zweite VM erstellt mit den gleichen Einstellungen, gespeichert.

Vorsichtshalber mal gestartet ob die erste nur Glücklicherweise gebootet ist, hat aber funktioniert. :D

Dann die Grafikkarte in der zweiten VM auf die 1080ti geändert.

VBios ausgewählt was ich gedumpt habe, gespeichert.

Diesmal habe Ich keine VNC als Grafikkarte ausgewählt.

Gestartet und per RDP angewählt, siehe da bootet und Ich gelange zum Desktop.

Erst läuft alles gut, sobald Ich aber ein bisschen rum Klicke und NVIDIA Systemsteuerrung aufrufen möchte gibt es eine Freeze.

 

@Michael Meiszl, hat Gott sei Dank auch so funktioniert. Frag mich bitte nicht wieso, Ich hab keine Ahnung! :'D

Aber Ich habe das Gefühl das die VM trotz Zuweisung aller Kerne und Installation der VirtIO Driver plus Gasteinstellungen echt ne Schnecke gegenüber dem normalen Boot von Windows über das BIOS ist.

 

@alturismo, Ich hab gesehen das man in Unraid unter TOOLS -> Systemgeräte die IOMMU Gruppen hat wo die Grafikkarte aufgelistet ist.

Hier hab Ich die Möglichkeit neben der Gruppe von der Grafikkarte ein Häkchen zu setzten und mit einem Klick auf den Button "beim booten an VFio binden" zu bestätigen, danach neustart!

Würde das was helfen? oder macht es das schlimmer.

 

Frohe Ostern!

 

Viele Grüße

Tobias

 

Hier mal mein VM Log:

wenn Ihr das damit meintet!?

 

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm' id='7'>
  <name>Windows 10 ohne GPU (läuft)</name>
  <uuid>4d0c10c1-4d4f-328f-3740-91727cc9cb48</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/>
  </metadata>
  <memory unit='KiB'>8388608</memory>
  <currentMemory unit='KiB'>8388608</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>12</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='0'/>
    <vcpupin vcpu='1' cpuset='6'/>
    <vcpupin vcpu='2' cpuset='1'/>
    <vcpupin vcpu='3' cpuset='7'/>
    <vcpupin vcpu='4' cpuset='2'/>
    <vcpupin vcpu='5' cpuset='8'/>
    <vcpupin vcpu='6' cpuset='3'/>
    <vcpupin vcpu='7' cpuset='9'/>
    <vcpupin vcpu='8' cpuset='4'/>
    <vcpupin vcpu='9' cpuset='10'/>
    <vcpupin vcpu='10' cpuset='5'/>
    <vcpupin vcpu='11' cpuset='11'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-i440fx-5.1'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/4d0c10c1-4d4f-328f-3740-91727cc9cb48_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
    <hyperv>
      <relaxed state='on'/>
      <vapic state='on'/>
      <spinlocks state='on' retries='8191'/>
      <vendor_id state='on' value='none'/>
    </hyperv>
  </features>
  <cpu mode='host-passthrough' check='none' migratable='on'>
    <topology sockets='1' dies='1' cores='6' threads='2'/>
    <cache mode='passthrough'/>
    <feature policy='require' name='topoext'/>
  </cpu>
  <clock offset='localtime'>
    <timer name='hypervclock' present='yes'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/local/sbin/qemu</emulator>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/user/isos/virtio-win-0.1.190-1.iso' index='3'/>
      <backingStore/>
      <target dev='hdb' bus='sata'/>
      <readonly/>
      <alias name='sata0-0-1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>
    <disk type='block' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source dev='/dev/nvme0n1' index='2'/>
      <backingStore/>
      <target dev='hdc' bus='sata'/>
      <boot order='1'/>
      <alias name='sata0-0-2'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>
    <disk type='block' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source dev='/dev/sdb' index='1'/>
      <backingStore/>
      <target dev='hdd' bus='sata'/>
      <alias name='sata0-0-3'/>
      <address type='drive' controller='0' bus='0' target='0' unit='3'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <alias name='usb'/>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <alias name='usb'/>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <alias name='usb'/>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'>
      <alias name='pci.0'/>
    </controller>
    <controller type='sata' index='0'>
      <alias name='sata0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:f0:87:8f'/>
      <source bridge='br0'/>
      <target dev='vnet0'/>
      <model type='virtio'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/0'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/0'>
      <source path='/dev/pts/0'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-7-Windows 10 ohne GPU /org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0' state='connected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'>
      <alias name='input0'/>
      <address type='usb' bus='0' port='1'/>
    </input>
    <input type='mouse' bus='ps2'>
      <alias name='input1'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input2'/>
    </input>
    <graphics type='vnc' port='5900' autoport='yes' websocket='5700' listen='0.0.0.0' keymap='de'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <video>
      <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </memballoon>
  </devices>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+0:+100</label>
    <imagelabel>+0:+100</imagelabel>
  </seclabel>
</domain>

Link to comment
  • Solution
3 hours ago, tobias.poppe said:

@alturismo, Ich hab gesehen das man in Unraid unter TOOLS -> Systemgeräte die IOMMU Gruppen hat wo die Grafikkarte aufgelistet ist.

Hier hab Ich die Möglichkeit neben der Gruppe von der Grafikkarte ein Häkchen zu setzten und mit einem Klick auf den Button "beim booten an VFio binden" zu bestätigen, danach neustart!

das wäre die Grundvoraussetzung ... ;)

 

aktuell versuchst du anscheinend unraid mit Gewalt die "laufende" GPU zu entwenden ... was sicherlich in die Hose geht.

 

mach mal einen screen wie das bei Dir aussieht

image.thumb.png.b4df4d6a160a8ad36a5ce89989e05cec.png

 

wenn das deine einzige GPU ist ... wird es eh kritisch ... dann musst du unraid komplett headless booten und hoffen dass das funktioniert, sprich, die GPU auch wirklich nicht vom host (unraid) beansprucht wird, auch ist Nutzung des vbios Pflicht ...

 

den Anfang mit dem Zusammenbau braucht es nicht ... mal anschauen

 

 

Link to comment

Das mit den IOMMU Gruppen hatte Ich schon mal ausprobiert. 

wahrscheinlich aber falsch!

 

hab jetzt aus nem alten PC eine GTX750 geklaut und die in den ersten Slot vom Mainboard gepackt und die 1080ti läuft jetzt im zweiten slot.

Unraid hat jetzt die GTX 750 für sich.

Und meine VM hat die 1080ti bekommen.

Das gute Stück bootet auch und in den Nvidia einstellungen ist die 1080ti hinterlegt.

Unter Geräte Manager sogar KEINEN Fehler 43.

 

Bis jetzt bin Ich soweit zufrieden.

 

Die VM läuft sogar was zackiger. 

 

Anbei mal ein Screenshot von den IOMMU Gruppen.

 

Das was Spaceinvader in dem Video gemacht hat werde Ich aufjedenfall mal ausprobieren, weil so find Ich das sogar besser.

 

Meine Frage die sich jetzt stellt, im Video bootet er seine VM über den Bildschirm der am SERVER angeschlossen ist. Das sieht man kurz weil auf dem Bildschirm die LOGIN Abfrage vom Server ist.

 

Wie zum Teufel macht Er das.

 

Das ist der Punkt den Ich noch ganz bis garnicht verstanden habe.

Ich greife auf die VM meist vom Laptop aus über das Browser Fenster oder RDP drauf zu.

 

So wie er das hat wäre das aber echt geil für meine Zwecke.

 

LG

 

Tobias

Unbenannt.PNG

Link to comment
16 minutes ago, tobias.poppe said:

Meine Frage die sich jetzt stellt, im Video bootet er seine VM über den Bildschirm der am SERVER angeschlossen ist. Das sieht man kurz weil auf dem Bildschirm die LOGIN Abfrage vom Server ist.

 

sowie ich auch ;) ist gleichzeitig mein Desktop PC ...

 

einfach ein HDMI oder DP Kabel von der Nvidia an den Monitor ... nicht vergessen, Tastatur, Maus ... braucht dann natürlich auch einen passthrough, entweder kompletten USB Controller (empfohlen) oder separat Geräte durchreichen zur VM

Link to comment

Alter, hahahahahaha😂😂😂

Ich Sitz hier grad und freu mich wie ein Schnitzel. Es läuft. Genauso wie ich es haben wollte.

 

ich Feier dich grad einfach!

du bist der erste der mir das mal sagt und in Videos hab ich das auch noch nicht gefunden, in keinem Forum nirgends.!

 

ey, ich freu mich hahaha!

danke danke danke dir vielmals, wirklich! ❤️

damit sind all meine Probleme behoben!

und das mit einem Topic im Forum.!

lg 

tobias

  • Like 1
Link to comment
10 hours ago, tobias.poppe said:

aber die Möglichkeit die du mir gezeigt hast übertrifft dann alles andere

freut mich, dann weiterhin viel Spaß dabei ;)

 

meine Kollegen sind auch ganz begeistert dass Sie an Ihrem Windows PC sitzen und man nicht merkt dass dies eine VM ist ;)

Desktop und Server an einem Platz, alles weitere dann remote, apps im Hintergrund, usw usw ...

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.