Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

acpi_bios_error when booting Windows 10 #11

Open
BenDevelopment opened this issue Nov 1, 2020 · 13 comments
Open

acpi_bios_error when booting Windows 10 #11

BenDevelopment opened this issue Nov 1, 2020 · 13 comments

Comments

@BenDevelopment
Copy link

Hi,

I'm facing a problem when booting on my Windows 10 partition. I got a BSOD with acpi_bios_error message.
It's due to the fact that OC inject ACPI for all OS, not only for MacOS.
Any idea of how to disable ACPI injection on Windows 10 boot?

@nikoelt
Copy link

nikoelt commented Nov 4, 2020

I wouldn't bother. You're better off sticking to AHCI across all partitions/drives

re-enable RAID (or whatever it was on before) and boot into windows directly (Not through opencore) then follow the steps bellow. Don't forget to re-enable AHCI at the end of the process

Click the Start Button and type cmd
Right-click the result and select Run as administrator
Type this command and press ENTER: bcdedit /set {current} safeboot minimal (ALT: bcdedit /set safeboot minimal)
Restart the computer and enter BIOS Setup
Change the SATA Operation mode to AHCI from either IDE or RAID
Save changes and exit Setup and Windows will automatically boot to Safe Mode.
Right-click the Windows Start Menu once more. Choose Command Prompt (Admin).
Type this command and press ENTER: bcdedit /deletevalue {current} safeboot (ALT: bcdedit /deletevalue safeboot)
Reboot once more and Windows will automatically start with AHCI drivers enabled.

@mbdev0
Copy link

mbdev0 commented Nov 4, 2020

Also facing the same problem as BenDevelopement, I did not change any SSDT's just the config.plist. Looking into it deeper, apparently there might be some SSDT's that may require if darwin. I only get a ACPI_BIOS_ERROR when booting onto windows 10 within opencore, one ssd has windows the other has macos.

@BenDevelopment
Copy link
Author

BenDevelopment commented Nov 6, 2020

Thanks @nikoelt for the process. The problem is due to OpenCore injecting the dsdt/ssdt for all OS (not only for Darwin). You can read more here:

There are the solutions I know:
First: adding If (_OSI ("Darwin")) in all ssdt.
Second: don't use OpenCore for boot selection.

The first one is kind of difficult.
The second one (wich I'm using), is the easier way for me. The goal is to use rEFInd instead of OpenCore for OS picker (OpenCore will still be used only to run MacOS).
Here is the process:

  1. Install rEFInd on your MacOS EFI partition as described here: https://github.com/dortania/Hackintosh-Mini-Guides/blob/master/refind.md#macos-setup (this tutorial is kind of confusing, the author looks angry about Windows booting ^^. Just follow macOS setup part).
  2. Disable OpenCore picker in plist (Misc > Boot > ShowPicker=NO). This will automatically run MacOS instead of showing OpenCore picker.
  3. Disable BootProtect in plist (Misc > Security > BootProtect=None). This will prevent OpenCore to automatically set itself as first boot item in your BIOS.
  4. Set your macOS drive as first boot device (this is the drive where your EFI partition stands, the one with rEFInd).

Now when you are booting you computer, you should have rEFInd OS picker instead of OpenCore picker. The default rEFIng configuration will show you all the availables EFI partition (displayed with an ugly theme IMO ^^).
Using rEFInd allows you to set up aditionnal picker themes easily (there are a lot of themes available for rEFInd in github: https://github.com/topics/refind-theme).
To install a theme:

  1. Create a refind/themes folder on your EFI folder (in your EFI partition) and past the theme folder in this directory.
  2. Edit the BOOT/refind.conf file like that:
    timeout 20
    
    menuentry "Windows" {
    	icon /EFI/refind/themes/theme-name/icons/os_win.png
    	volume ESP
    	loader EFI\Microsoft\Boot\bootmgfw.efi
    }
    
    menuentry "OSX" {
    	icon /EFI/refind/themes/theme-name/icons/os_mac.png
    	loader EFI/OC/Bootstrap/Bootstrap.efi
    }
    
    scanfor manual,external
    
    include /EFI/refind/themes/theme-name/theme.conf
    
  3. In your Windows menuentry, you have to specify the volume of your Windows EFI partition (you can find this name on your MacOS by mounting this partition (you will see the name on your Finder). Mine is ESP (for "EFI System Partition").
  4. Finally, you have to edit the theme.conf file (/EFI/refind/themes/theme-name/theme.conf) to update the paths to match your absolute theme folder. Example:
    banner themes/theme-name/background.png
    
    becomes
    banner /EFI/refind/themes/theme-name/background.png
    
    Now your rEFInd should be themed. You can create your own theme easily since rEFInd supports common images formats (jpg, png, ...).

@BenDevelopment
Copy link
Author

I wouldn't bother. You're better off sticking to AHCI across all partitions/drives

re-enable RAID (or whatever it was on before) and boot into windows directly (Not through opencore) then follow the steps bellow. Don't forget to re-enable AHCI at the end of the process

Click the Start Button and type cmd
Right-click the result and select Run as administrator
Type this command and press ENTER: bcdedit /set {current} safeboot minimal (ALT: bcdedit /set safeboot minimal)
Restart the computer and enter BIOS Setup
Change the SATA Operation mode to AHCI from either IDE or RAID
Save changes and exit Setup and Windows will automatically boot to Safe Mode.
Right-click the Windows Start Menu once more. Choose Command Prompt (Admin).
Type this command and press ENTER: bcdedit /deletevalue {current} safeboot (ALT: bcdedit /deletevalue safeboot)
Reboot once more and Windows will automatically start with AHCI drivers enabled.

Will this process allows Windows to boot though OpenCore? I'll try it tomorrow but I'm trying to understand what it really does before.

@mbdev0
Copy link

mbdev0 commented Nov 6, 2020

Thanks @nikoelt for the process. The problem is due to OpenCore injecting the dsdt/ssdt for all OS (not only for Darwin). You can read more here:

There are the solutions I know:
First: adding If (_OSI ("Darwin")) in all ssdt.
Second: don't use OpenCore for boot selection.

The first one is kind of difficult.
The second one (wich I'm using), is the easier way for me. The goal is to use rEFInd instead of OpenCore for OS picker (OpenCore will still be used only to run MacOS).
Here is the process:

  1. Install rEFInd on your MacOS EFI partition as described here: https://github.com/dortania/Hackintosh-Mini-Guides/blob/master/refind.md#macos-setup (this tutorial is kind of confusing, the author looks angry about Windows booting ^^. Just follow macOS setup part).
  2. Disable OpenCore picker in plist (Misc > Boot > ShowPicker=NO). This will automatically run MacOS instead of showing OpenCore picker.
  3. Disable BootProtect in plist (Misc > Security > BootProtect=None). This will prevent OpenCore to automatically set itself as first boot item in your BIOS.
  4. Set your macOS drive as first boot device (this is the drive where your EFI partition stands, the one with rEFInd).

Now when you are booting you computer, you should have rEFInd OS picker instead of OpenCore picker. The default rEFIng configuration will show you all the availables EFI partition (displayed with an ugly theme IMO ^^).
Using rEFInd allows you to set up aditionnal picker themes easily (there are a lot of themes available for rEFInd in github: https://github.com/topics/refind-theme).
To install a theme:

  1. Create a refind/themes folder on your EFI folder (in your EFI partition) and past the theme folder in this directory.

  2. Edit the BOOT/refind.conf file like that:

    timeout 20
    
    menuentry "Windows" {
    	icon /EFI/refind/themes/theme-name/icons/os_win.png
    	volume ESP
    	loader EFI\Microsoft\Boot\bootmgfw.efi
    }
    
    menuentry "OSX" {
    	icon /EFI/refind/themes/theme-name/icons/os_mac.png
    	loader EFI/OC/Bootstrap/Bootstrap.efi
    }
    
    scanfor manual,external
    
    include /EFI/refind/themes/theme-name/theme.conf
    
  3. In your Windows menuentry, you have to specify the volume of your Windows EFI partition (you can find this name on your MacOS by mounting this partition (you will see the name on your Finder). Mine is ESP (for "EFI System Partition").

  4. Finally, you have to edit the theme.conf file (/EFI/refind/themes/theme-name/theme.conf) to update the paths to match your absolute theme folder. Example:

    banner themes/theme-name/background.png
    

    becomes

    banner /EFI/refind/themes/theme-name/background.png
    

    Now your rEFInd should be themed. You can create your own theme easily since rEFInd supports common images formats (jpg, png, ...).

I downloaded rEFInd the other day via Windows rather than MacOS, was much easier than expected, i followed a guide partially:
https://github.com/dortania/Hackintosh-Mini-Guides/blob/master/refind.md

Then booted back into windows and finished the rest and the setup for refind.conf, such as redirecting rEFInd to look into the EFI partition created for opencore

When adding a menuentry add the volume as the partition GUID as your EFI partition you created when allowing opencore to boot without an USB, and all done. Made it so much better! I ended up fixing the Windows boot by disabling all SSDT's and adding each one back slowly to see which SSDT had the problem, however I found that it still installed the macOS drivers etc which didn't allow me to turn the brightness up and down, so i'd honestly recommend rEFInd to solve the issue.

@nikoelt
Copy link

nikoelt commented Nov 7, 2020

I wouldn't bother. You're better off sticking to AHCI across all partitions/drives
re-enable RAID (or whatever it was on before) and boot into windows directly (Not through opencore) then follow the steps bellow. Don't forget to re-enable AHCI at the end of the process

Click the Start Button and type cmd
Right-click the result and select Run as administrator
Type this command and press ENTER: bcdedit /set {current} safeboot minimal (ALT: bcdedit /set safeboot minimal)
Restart the computer and enter BIOS Setup
Change the SATA Operation mode to AHCI from either IDE or RAID
Save changes and exit Setup and Windows will automatically boot to Safe Mode.
Right-click the Windows Start Menu once more. Choose Command Prompt (Admin).
Type this command and press ENTER: bcdedit /deletevalue {current} safeboot (ALT: bcdedit /deletevalue safeboot)
Reboot once more and Windows will automatically start with AHCI drivers enabled.

Will this process allows Windows to boot though OpenCore? I'll try it tomorrow but I'm trying to understand what it really does before.

What I can tell you is that I boot into Windows using opencore after I made the changes. Your issue may be different, but I doubt it as I got exactly the same issue

The method makes Windows work in AHCI mode without having to do the reinstall. @BenDevelopment was partially right in his reply - OpenCore injects SSDT's - but where he is wrong is that this doesn't prevent windows from working [for me]. The error above is windows having a winge because you switched away from RAID and it doesn't have ability to use AHCI. The steps teach Windows to use AHCI so Windows doesn't winge

You may need to decrypt your drive before Windows lets you perform these tasks. I needed to do that

@BenDevelopment
Copy link
Author

BenDevelopment commented Nov 7, 2020

My BIOS is already set to AHCI (I've changed the SATA Operation mode to AHCI from RAID On Intel Rapid Storage before installing OpenCore).
I've done the process you have given without any problem but I still can't boot my Windows from OpenCore, I still have ACPI_BIOS_ERROR at startup.

@nikoelt
Copy link

nikoelt commented Nov 8, 2020

My BIOS is already set to AHCI (I've changed the SATA Operation mode to AHCI from RAID On Intel Rapid Storage before installing OpenCore).
I've done the process you have given without any problem but I still can't boot my Windows from OpenCore, I still have ACPI_BIOS_ERROR at startup.

Sorry matey. I have no idea. This entire install process is weird as fuck. Everyone is getting different errors and I can not get to the bottom of this at all. The number of times I used a different EFI, different kexts and EC's and I still have the keyboard issue that you've had in an other thread. Maybe be due to me running two NVME's? I have the stock Hynx 500gb for windows and a Samsung 512 Evo for MacOS... I am still trying to get the keyboard working consistently. Sometimes the startups are fast, sometimes they take around a minute - beats me

@BenDevelopment
Copy link
Author

My BIOS is already set to AHCI (I've changed the SATA Operation mode to AHCI from RAID On Intel Rapid Storage before installing OpenCore).
I've done the process you have given without any problem but I still can't boot my Windows from OpenCore, I still have ACPI_BIOS_ERROR at startup.

Sorry matey. I have no idea. This entire install process is weird as fuck. Everyone is getting different errors and I can not get to the bottom of this at all. The number of times I used a different EFI, different kexts and EC's and I still have the keyboard issue that you've had in an other thread. Maybe be due to me running two NVME's? I have the stock Hynx 500gb for windows and a Samsung 512 Evo for MacOS... I am still trying to get the keyboard working consistently. Sometimes the startups are fast, sometimes they take around a minute - beats me

I'm running on two NVME too. First is Micron 1Tb, second is Samsung EVO 500Gb. I can share you my EFI if you want.

Concerning my acip_bios_error, I'll try to check which SSDT causes the problem and I'll try to add the Darwin condition in the aml file.

@nikoelt
Copy link

nikoelt commented Nov 8, 2020

My BIOS is already set to AHCI (I've changed the SATA Operation mode to AHCI from RAID On Intel Rapid Storage before installing OpenCore).
I've done the process you have given without any problem but I still can't boot my Windows from OpenCore, I still have ACPI_BIOS_ERROR at startup.

Sorry matey. I have no idea. This entire install process is weird as fuck. Everyone is getting different errors and I can not get to the bottom of this at all. The number of times I used a different EFI, different kexts and EC's and I still have the keyboard issue that you've had in an other thread. Maybe be due to me running two NVME's? I have the stock Hynx 500gb for windows and a Samsung 512 Evo for MacOS... I am still trying to get the keyboard working consistently. Sometimes the startups are fast, sometimes they take around a minute - beats me

I'm running on two NVME too. First is Micron 1Tb, second is Samsung EVO 500Gb. I can share you my EFI if you want.

Concerning my acip_bios_error, I'll try to check which SSDT causes the problem and I'll try to add the Darwin condition in the aml file.

Dude. I would be so grateful. It’s been driving me up the wall

In regards to your issue. Have you tried just taping F12 on bootup and just selecting Micron and booting directly? It may not be as elegant as letting it boot into open core, but you have to use the keyboard to select windows anyway so what’s one F12 keystroke between friends on startup

@BenDevelopment
Copy link
Author

My BIOS is already set to AHCI (I've changed the SATA Operation mode to AHCI from RAID On Intel Rapid Storage before installing OpenCore).
I've done the process you have given without any problem but I still can't boot my Windows from OpenCore, I still have ACPI_BIOS_ERROR at startup.

Sorry matey. I have no idea. This entire install process is weird as fuck. Everyone is getting different errors and I can not get to the bottom of this at all. The number of times I used a different EFI, different kexts and EC's and I still have the keyboard issue that you've had in an other thread. Maybe be due to me running two NVME's? I have the stock Hynx 500gb for windows and a Samsung 512 Evo for MacOS... I am still trying to get the keyboard working consistently. Sometimes the startups are fast, sometimes they take around a minute - beats me

I'm running on two NVME too. First is Micron 1Tb, second is Samsung EVO 500Gb. I can share you my EFI if you want.
Concerning my acip_bios_error, I'll try to check which SSDT causes the problem and I'll try to add the Darwin condition in the aml file.

Dude. I would be so grateful. It’s been driving me up the wall

In regards to your issue. Have you tried just taping F12 on bootup and just selecting Micron and booting directly? It may not be as elegant as letting it boot into open core, but you have to use the keyboard to select windows anyway so what’s one F12 keystroke between friends on startup

Yes my Windows 10 boot works when I boot with rEFInd or from the BIOS directly.

But I've solved my problem! I can now boot my Windows 10 via OpenCore! The only thing I've done is replaced the SSDT-XOSI by this one: https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-XOSI.aml.

Now everything works exepted sleep on MacOS (but I can sleep from Windows).

Here is my full EFI: https://github.com/BenDevelopment/MacOS-XPS-9500-2020-OpenCore

@nikoelt
Copy link

nikoelt commented Nov 9, 2020

First of all a huge thank you to @BenDevelopment

  • I figured out what was the main driving issue by reading his EFI Branch. If, like me, you have the Hynix nvme - (even if you're booting off a different NVME like I was) then MacOS will not boot. I generated my own ECs and this is why it worked sometimes. Much like Ben I just bought a P1 (I wanted the Evo but there was no stock left) and cloned my windows installation on to it. Now MacOS boots perfectly and very fast. So folks check that your laptop only has supported drives, even if they are not the primary ones. Thank you again Ben

@BenDevelopment
Copy link
Author

My bad I've forget to mention that I've replacer my Micron NVMe by a Crucial SSD P1 NVMe because OpenCore is not compatible with Micron. I confused the two names (Micron and Crutial) in my posts! My Windows 10 NVMe is installed on Crucial SSD P1 NVMe and my OpenCore MacOS is installed on Samsung EVO 500Gb.
My bad, sorry for the wrong information!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants