Probleme mit Virtualbox auf dem Hackintosh

  • Hallo.


    Ich versuche Virtualbox auf meinem Hackintosh zum Laufen zu bringen, leider bisher ohne Erfolg. Ich kann in VirtualBox keine VM vernünftig zum Laufen bringen. Egal ob Windows 10 oder Linux, die VMs laufen nicht. Windows landet in der Wiederherstellung und Linux loopt mit Segmentation fault. Beide VMs sind zuvor auf meinem MAcBook unter Virtualbox gelaufen.

    Sind da Probleme bekannt? Ein Test mit der Parallels-Demoversion hat dagegen funktioniert, was dafür spricht, dass es nicht grundsätzlich an der Hardware an sich liegen kann. Ich tippe auf Probleme mit der Speichervirtualisierung, habe aber keine Ahnung, inwieweit ich da unter macOS etwas anpassen kann. Evtl. liegt es auch an der OC Konfiguration.


    Vielen Dank.

    Images

    Files

    • EFI.zip

      (10.11 MB, downloaded 111 times, last: )

    Power Mac G5
    (Late 2004)



    CPU: Intel Core i9-9900K (Coffee Lake)
    Mainboard: GIGABYTE Z390 M GAMING
    Grafik: SAPPHIRE Pulse Radeon RX 580
    Bootloader: OpenCore (0.9.8)
    Operation Systems: macOS "Ventura" 13.6, macOS "Sonoma" 14.3,
    macOS "Catalina" 10.15.7
    Power Mac G4
    (Quicksilver)



    CPU: Intel Core i3-10103F (Comet Lake)
    Mainboard: ASROCK H470M-HDV/M.2
    Grafik: MSI Radeon RX 560 AERO ITX 4G OC
    Bootloader: OpenCore (0.8.7)
    Operation Systems: macOS "Ventura" 13.1, Windows 10 Professional

    Stopinprogress...

    Lenovo Thinkpad X1 Tablet Gen3 Intel Core i7-8550U, Intel® UHD Graphics 620, 16 GB LPDDR3, Thunderbolt 3, Intel Dual-Band Wireless-AC 8265, 802.11ac Dual-Band 2x2 Wi-Fi® + Bluetooth 4.2, Touchscreen & Stift

  • Hast du die Biosoption VT-D auf disabled?

    Ich hatte mit Oracle Virtualbox auch meine Probleme und bin auf VMware umgestiegen, das funktioniert tadellos. Diese gibt es in der Bucht für ein paar Euros.

  • Zu VirtualBox kann ich im Moment nix sagen, hab ich lange nicht mehr benutzt, weil es mir zu langsam war. Parallels läuft mit unterschiedlichsten Systemen unter Mojave und Catalina wunderbar. Was auch gut funktioniert, ist CrossOver.

    Systeme: Mojave 10.14.6 / Ventura 13.2

    Mainboard: GIGABYTE H370M-DS3H

    HDs: Adata M.2 1TB / Mojave 10.14.6

    1 TB SSD mit CCC-Spiegel Mojave 10.14.6

    520 GB Samsung SSD 840 PRO Series / Ventura 13.2

    + div. Daten- und BU-HDs

    CPU: Intel Core i7 9700K mit 8x 3,6GHz (Turbo 8x 4,9GHz)

    CPU-Kühler: ARCTIC Alpine

    Grafik: Radeon TRX 570 4GB OOB / Intel UHD Grafik 630

    Displays: ProLite E2710HDS - 27“ / Philips PHL BDM4350 - 43,5“ (nie wieder)

    Arbeitsspeicher: 32GB (2x 16GB) DDR4-RAM PC2666

    Netzwerk: 10/100/1000 MBit Onboard-Netzwerkkarte

    Sound: High Definition Audio 7.1-Kanal Onboard

    Auch für 2/4 und 5.1 Kanal Audio. Micro-Anschluss, Line In/Out etc..

    Gehäuse: LC-Power mit 600 Watt Netzteil


    Alles funzt perfekt


    Geekbench 4: Single-Core - 6228 / Multi-Core - 30889 [wech]

  • Bei mir läuft VirtualBox für Windows 10 ohne Probleme. Ich benutzte es allerdings nur für InternetExplorer als ILO Console.. Habe dafür VirtualBox neu installiert und die Files der VM vom alten Mac auf den Hackintosh kopiert.

  • Vielen Dank, für die Antworten. VMware und Parallels habe ich früher schon mal genutzt und habe mich immer daran gestört, dass sie soviel zusätzlichen "Müll" mitbringen, den ich nie gebraucht habe. Außerdem war quasi nach jedem macOS-Update der Kauf einer neuen Version gewünscht, damit das wieder komplett mit dem System funktioniert. Ich benötigte und benötige eigentlich nur eine einfache und vernünftige Virtualisierung. Und mit Virtualbox bin ich bisher immer gut gefahren, vor allem war es auch immer relativ einfach VMs zwischen verschiedenen Systemen (macOS, Windows, Linux) zu transferieren.


    Da ich im Moment im HomeOffice arbeite und wir in der Firma Vagant in Verbindung mit dem Virtualbox-Provider nutzen, ist helfen mir Parallels und VMware hier nicht. D.h. wenn ich auf VMware umsteige muss ich die kompletten Vagant-Skripte und -Boxen anpassen.

    Hast du die Biosoption VT-D auf disabled?

    Das kann ich bei meinem Board (ASUS P8H77-M PRO) leider nicht im BIOS deaktivieren. Dort gibt es nur die Option die Virtualisierungsoptionen komplett abzustellen. Aber ich hatte vorher auch eine CPU (Intel Core i5-3450S), die VT-d gar nicht beherrschte, da war das Problem auch schon.


    ByE...

    Power Mac G5
    (Late 2004)



    CPU: Intel Core i9-9900K (Coffee Lake)
    Mainboard: GIGABYTE Z390 M GAMING
    Grafik: SAPPHIRE Pulse Radeon RX 580
    Bootloader: OpenCore (0.9.8)
    Operation Systems: macOS "Ventura" 13.6, macOS "Sonoma" 14.3,
    macOS "Catalina" 10.15.7
    Power Mac G4
    (Quicksilver)



    CPU: Intel Core i3-10103F (Comet Lake)
    Mainboard: ASROCK H470M-HDV/M.2
    Grafik: MSI Radeon RX 560 AERO ITX 4G OC
    Bootloader: OpenCore (0.8.7)
    Operation Systems: macOS "Ventura" 13.1, Windows 10 Professional

    Stopinprogress...

    Lenovo Thinkpad X1 Tablet Gen3 Intel Core i7-8550U, Intel® UHD Graphics 620, 16 GB LPDDR3, Thunderbolt 3, Intel Dual-Band Wireless-AC 8265, 802.11ac Dual-Band 2x2 Wi-Fi® + Bluetooth 4.2, Touchscreen & Stift

  • Nachdem ich VT-d im Apple-Style (AppleVTD) aktiviert habe, läuft auch VirtualBox sauber auf dem Hackintosh! :-D

    Power Mac G5
    (Late 2004)



    CPU: Intel Core i9-9900K (Coffee Lake)
    Mainboard: GIGABYTE Z390 M GAMING
    Grafik: SAPPHIRE Pulse Radeon RX 580
    Bootloader: OpenCore (0.9.8)
    Operation Systems: macOS "Ventura" 13.6, macOS "Sonoma" 14.3,
    macOS "Catalina" 10.15.7
    Power Mac G4
    (Quicksilver)



    CPU: Intel Core i3-10103F (Comet Lake)
    Mainboard: ASROCK H470M-HDV/M.2
    Grafik: MSI Radeon RX 560 AERO ITX 4G OC
    Bootloader: OpenCore (0.8.7)
    Operation Systems: macOS "Ventura" 13.1, Windows 10 Professional

    Stopinprogress...

    Lenovo Thinkpad X1 Tablet Gen3 Intel Core i7-8550U, Intel® UHD Graphics 620, 16 GB LPDDR3, Thunderbolt 3, Intel Dual-Band Wireless-AC 8265, 802.11ac Dual-Band 2x2 Wi-Fi® + Bluetooth 4.2, Touchscreen & Stift

  • Ist VT-d nich nur zu gebrauchen wenn man PCI(e) Geräte an die VM durchreichen will?


    Bei "einfachen" VM's müsste diese Funktion also garnicht (weder im BIOS noch nach "Apple-Style?") aktiviert werden.


    Sondern nur die normale Virtualisierungstechnik im BIOS. VT-x oder so heißt die glaube ich.

  • was genau meinst du mit "VT-d im Apple-Style (AppleVTD)" und wie aktiviert man das?

    Damit VT-d von macOS vollständig genutzt werden kann, muss im ACPI ein DMA-Controller (DMAC) aktiviert sein. Hier mal ein IoReg-Screenshot von einem echten iMac

    Ist VT-d nich nur zu gebrauchen wenn man PCI(e) Geräte an die VM durchreichen will?

    Nein, es wird auch zur Absicherung von Speicherzugriffen verwendet.

    Power Mac G5
    (Late 2004)



    CPU: Intel Core i9-9900K (Coffee Lake)
    Mainboard: GIGABYTE Z390 M GAMING
    Grafik: SAPPHIRE Pulse Radeon RX 580
    Bootloader: OpenCore (0.9.8)
    Operation Systems: macOS "Ventura" 13.6, macOS "Sonoma" 14.3,
    macOS "Catalina" 10.15.7
    Power Mac G4
    (Quicksilver)



    CPU: Intel Core i3-10103F (Comet Lake)
    Mainboard: ASROCK H470M-HDV/M.2
    Grafik: MSI Radeon RX 560 AERO ITX 4G OC
    Bootloader: OpenCore (0.8.7)
    Operation Systems: macOS "Ventura" 13.1, Windows 10 Professional

    Stopinprogress...

    Lenovo Thinkpad X1 Tablet Gen3 Intel Core i7-8550U, Intel® UHD Graphics 620, 16 GB LPDDR3, Thunderbolt 3, Intel Dual-Band Wireless-AC 8265, 802.11ac Dual-Band 2x2 Wi-Fi® + Bluetooth 4.2, Touchscreen & Stift

  • atl ...... und wie aktiviert man das?

    Erst einmal muss es im BIOS aktiviert sein - dies sorgt dann auch dafür, dass es in IOReg angezeigt wird. Allerdings funktioniert das meistens nicht ohne unerwünschte Nebenwirkungen, da einige Geräte, insbesondere Netzwerkadapter, oft nicht mehr funktionieren. Aus diesem Grund gibt es in OC den Kernel-Quirk DisableIOMapper, welcher aktiviert sein sollte, wenn man VT-d für ein anderes OS im BIOS aktiviert hat - somit wird es unter MacOS geblockt.


    Damit VT-d ohne die unerwünschten Nebenwirkungen unter MacOS funktioniert, benötigt man eine SSDT, die sich ganz einfach mit MaciASL für das eigene System erstellen lässt. Dafür geht man wie folgt vor:


    1. VT-d im Bios aktivieren


    2. Kernel-Quirk DisableIOMapper in OC deaktivieren


    3. MaciASL öffnen und unter File -> New from ACPI -> DMAR - DMA Remapping Table auswählen


    4. Im neuen Fenster (Länge ist nicht immer identisch) entfernt man nun alle Reserved Memory Region Blöcke und speichert die Datei als SSDT-DMAR.aml ab und fügt sie in den ACPI-Ordner von OC ein


    5. Dann trägt man die SSDT-DMAR.aml in der OC-Config.plist unter ACPI/Add ein und aktiviert den Eintrag


    6. Unter ACPI/Delete/Add erstellen wir nun einen neuen, aktivierten Eintrag mit z. B. DMAR im Comment, 45444B3220202020 als Hexadezimalwert für EDK2 (ASCII) unter OemTableid sowie 444D4152 als Hexadezimalwert für DMAR (ASCII) unter TableSignature



    Mit der angehängten SSDT-DMAC.aml lässt sich ein DMAC-Device erstellen, welches dann auch in IOReg angezeigt wird.




    !!Es ist nicht garantiert, dass dies bei jedem problemlos funktioniert. Darum sollte man die vorgenommenen Änderungen im Hinterkopf behalten und bei auftretenden Problemen überprüfen, ob sie darauf zurückzuführen sind. Auch sollte sich jeder Fragen, ob er diese Funktion überhaupt braucht!!

    Files

    • SSDT-DMAC.aml

      (166 Byte, downloaded 111 times, last: )

    Edited 2 times, last by badbrain ().

  • Cool, klappt soweit. Intel NIC läuft, Fenvi mit BT und Wifi und Handoff läuft.

    Thnx.

  • badbrain Sehr strange. Ich hab die ssdt-dmac.aml erstellt wie due schriebst mit maciasl.

    Den Block "Reserved Memory Region" habe ich entfernt und unten die Hexadecimal und ASCII Werte eingetragen.


    Im IORegistryExplorer sehe ich allerdings kein AppleVTD:


    Meine Config schaut derweil so aus:



    Kannst du erkennen wo der fehler liegt?

    Denn aktuell installiere ich mal testweise W10 in virtualbox, was ja zu gehen scheint:

  • DisableIOMapper ist ja noch aktiv - sollte deaktiviert werden.

  • badbrain ja manchmal sieht man den Wald vor lauter bäumen nicht.

    Hab ich mal auf "NO" gestellt.

    Ich warte noch kurz bis die Installation in VBOX durch ist.

    Melde mich nach dem restart nochmal.


    Was mich wundert ist dann allerdings, warum läuft das schon so?

    Sollte doch eigentlich nicht funktionieren oder greifen die SSDTs da schon, trotz des fehlenden Eintrags in IOReg?

  • Hinweis von meiner Umsetzung:

    In meiner DMAR stand A M I in der oemtableid und das hab ich zuerst gegeb „EDK2 „ getauscht, so dass das zu dem Drop passt. Nach Anpassung des Drops an meine Dmar hat es dann geklappt.

  • Sollte doch eigentlich nicht funktionieren oder greifen die SSDTs da schon, trotz des fehlenden Eintrags in IOReg?

    Für das Erstellen und Ausführen einer VM in Virtualbox sollte lediglich die Aktivierung von VT-x im BIOS notwendig sein. VT-d ermöglicht zusätzlich den direkten Zugriff auf bestimmte Hardwareressourcen.

  • Was mich wundert ist dann allerdings, warum läuft das schon so?

    Das kommt dann vermutlich auch auf das Board an. Bei mir lief VirtualBox nicht mit oder ohne VT-d, reproduzierbar auf zwei unterschiedlichen Mainboards (IvyBridge & CoffeLake). Mit dem Nachziehen des DMAC, wie badbrain es beschrieben hat, funktioniert VirtualBox perfekt und auch Thunderbolt funktioniert und Ethernet, WiFi+Bluetooh ebenso. :-)

    Power Mac G5
    (Late 2004)



    CPU: Intel Core i9-9900K (Coffee Lake)
    Mainboard: GIGABYTE Z390 M GAMING
    Grafik: SAPPHIRE Pulse Radeon RX 580
    Bootloader: OpenCore (0.9.8)
    Operation Systems: macOS "Ventura" 13.6, macOS "Sonoma" 14.3,
    macOS "Catalina" 10.15.7
    Power Mac G4
    (Quicksilver)



    CPU: Intel Core i3-10103F (Comet Lake)
    Mainboard: ASROCK H470M-HDV/M.2
    Grafik: MSI Radeon RX 560 AERO ITX 4G OC
    Bootloader: OpenCore (0.8.7)
    Operation Systems: macOS "Ventura" 13.1, Windows 10 Professional

    Stopinprogress...

    Lenovo Thinkpad X1 Tablet Gen3 Intel Core i7-8550U, Intel® UHD Graphics 620, 16 GB LPDDR3, Thunderbolt 3, Intel Dual-Band Wireless-AC 8265, 802.11ac Dual-Band 2x2 Wi-Fi® + Bluetooth 4.2, Touchscreen & Stift

  • badbrain wenn ich den Quirk "DisableIOMapper" deaktiviere, habe ich weder Maus noch Tastatur.

    VT-D allein reicht nicht um VMs in Virtualbox zu starten, da schmiert teilweise die komplette Applikation ab.


    So habe den Quirk "DisableIOMapper" nun mal aktiviert gelassen, allerdings die ssdt-dmac.aml von dir weg gelassen.


    Siehe da es funktioniert auch so, wenn auch AppleVTD nicht im ioreg auftaucht.


    Scheint mal wieder ein Systemabhängiges Problem zu sein, wie atl auch bereits schrieb.


    Trotzdem danke dir badbrain.


    Kleiner nachtrag, die Performance einer VM in virtualbox ist recht träge. Ruckelnde fenster etc.

    Die Additions sind installiert ebenso das Extensionpack.


    Kann das jemand von euch bestätigen?