- Joined
- Mar 6, 2013
- Messages
- 266
- Motherboard
- Gigabyte X299X Designare 10G
- CPU
- i9-10980XE
- Graphics
- AMD 6900XT
- Mobile Phone
I've started the process of investigating booting Windows from OpenCore. What I learned is that SSDTs need to be edited so they only apply to macOS, because OpenCore will apply the ACPI folder to any and all operating systems it boots.
My first test was to boot Windows 10 from OpenCore using a config which disables all SSDTs. I expected this to boot OK, and then I'd re-enable the SSDTs one by one to confirm if they all needed to be edited.
But I immediately hit a problem: Windows still gave me an ACPI_BIOS_ERROR blue screen even with all SSDTs disabled.
So then I tried a test config in which I also removed all of the ACPI->Patches in dolgarrenan's config.plist, eg where _OSI is renamed to XOSI and PC00 to PCI0. These will also be applied to any and all operating systems.
And that worked, I got Windows booted from OpenCore. But of course this config would then fail completely with macOS.
I think that's why dolgarrenan was using n-d-k's fork of OpenCore, because it had special changes that meant it didn't apply any ACPI stuff to non-macOS operating systems. As far as I am aware, these features are not in OpenCore.
So now I'm investigating whether it's possible to remove the ACPI patches and replace them with SSDTs, which would enable adding the necessary If statement to make them run only for macOS.
I'd also like to understand what these renames are for exactly and whether they're all actually necessary.
Bottom line: it's definitely already possible to dual-boot macOS and Windows if you put up with only being able to load Windows via the BIOS Boot Override menu.
But I think it won't be possible to boot Windows from OpenCore without editing the SSDTs and the ACPI->Patches section. Or there's also the possibility of the BootCamp method, ie booting Windows as if you were booting a real Mac. There's details about that in the OpenCore guides but I've not investigated it myself yet.
If anyone has already done this work and managed a working OpenCore dual-boot using mainline OpenCore, I'd love to see your EFI.
Did you make any progress with this @Walterfilms?
My first test was to boot Windows 10 from OpenCore using a config which disables all SSDTs. I expected this to boot OK, and then I'd re-enable the SSDTs one by one to confirm if they all needed to be edited.
But I immediately hit a problem: Windows still gave me an ACPI_BIOS_ERROR blue screen even with all SSDTs disabled.
So then I tried a test config in which I also removed all of the ACPI->Patches in dolgarrenan's config.plist, eg where _OSI is renamed to XOSI and PC00 to PCI0. These will also be applied to any and all operating systems.
And that worked, I got Windows booted from OpenCore. But of course this config would then fail completely with macOS.
I think that's why dolgarrenan was using n-d-k's fork of OpenCore, because it had special changes that meant it didn't apply any ACPI stuff to non-macOS operating systems. As far as I am aware, these features are not in OpenCore.
So now I'm investigating whether it's possible to remove the ACPI patches and replace them with SSDTs, which would enable adding the necessary If statement to make them run only for macOS.
I'd also like to understand what these renames are for exactly and whether they're all actually necessary.
Bottom line: it's definitely already possible to dual-boot macOS and Windows if you put up with only being able to load Windows via the BIOS Boot Override menu.
But I think it won't be possible to boot Windows from OpenCore without editing the SSDTs and the ACPI->Patches section. Or there's also the possibility of the BootCamp method, ie booting Windows as if you were booting a real Mac. There's details about that in the OpenCore guides but I've not investigated it myself yet.
If anyone has already done this work and managed a working OpenCore dual-boot using mainline OpenCore, I'd love to see your EFI.
EDIT : talked too soon, multiboot isn't working properly with windows... working to edit the ACPI so opencore passes them straight to windows.
Did you make any progress with this @Walterfilms?
Last edited: