acidanthera / bugtracker

Acidanthera Bugtracker
383 stars 44 forks source link

OpenCore Legacy Boot Unable to Load HFS+ Partitions #2389

Closed sambow23 closed 6 months ago

sambow23 commented 6 months ago

Long story short, I switched from Clover to OpenCore 0.9.9 for my Dell Latitude E6400 running macOS El Capitan, I followed the dortania guide for legacy boot systems but I'm unable to boot my existing macOS partitions. I get the following message in the OpenCore bootloader: 380:038 01:570 OCB: LoadImage failed - Volume Corrupt I tried changing to older HfsPlusLegacy drivers and downgrading my OpenCore version but the issue remains. Here is the debug boot log and OpenCore debug EFI opencore-2024-03-15-203243.txt EFI.zip

KenDxD commented 6 months ago

This is user's fault, it's just an incorrect setup of OpenCore based on the logs you upload. You enabled some Quirks that doesn't work on older BIOS or Non-UEFI system

nms42 commented 6 months ago

This is user's fault, it's just an incorrect setup of OpenCore based on the logs you upload. You enabled some Quirks that doesn't work on older BIOS or Non-UEFI system

Would You be so kind to point quirks/settings that produce "Volume Corrupt"?

KenDxD commented 6 months ago

This is user's fault, it's just an incorrect setup of OpenCore based on the logs you upload. You enabled some Quirks that doesn't work on older BIOS or Non-UEFI system

Would You be so kind to point quirks/settings that produce "Volume Corrupt"?

Config Plist

Tested on my 2 old Non-UEFI PC and can use the latest version OpenCore v0.9.9

sambow23 commented 6 months ago
  • Use any GNU/Linux distro or existing macOS for creating bootable drive (FOR NON-UEFI ONLY, Windows doesn't works well). Format the Flash Drive on ExFat MBR then use the tool on Opencorepkg OpenCore/Utilities/LegacyBoot/BootInstall_(YourCPUArch). Then put your EFI on the Flash Drive that you select on BootInstall. (Use this tool again, target the Boot Drive before moving the EFI on it. Just like what you did on Flash Drive before)
  • Always use the latest HFSPlusLegacy

Config Plist

  • Set [Booter>Quirks>AllowRelocationBlock] and [Booter>Quirks>DevirtualiseMmio] to true
  • Set [Booter>Quirks>AvoidRuntimeDefrag], [Booter>Quirks>ProvideCustomSlide], [Booter>Quirks>RebuildAppleMemoryMap] to false

I went back and made sure to use the Legacy settings in the Desktop Yonah, Conroe and Penryn Guide while also incorporating your settings, and getting the latest HFSPlusLegacy driver but I'm still getting the same error.

EFI.zip opencore-2024-03-18-154015.txt

nms42 commented 6 months ago

This is user's fault, it's just an incorrect setup of OpenCore based on the logs you upload. You enabled some Quirks that doesn't work on older BIOS or Non-UEFI system

Would You be so kind to point quirks/settings that produce "Volume Corrupt"?

* Use any GNU/Linux distro or existing macOS for creating bootable drive (FOR NON-UEFI ONLY, Windows doesn't works well). Format the Flash Drive on ExFat MBR then use the tool on Opencorepkg `OpenCore/Utilities/LegacyBoot/BootInstall_(YourCPUArch)`. Then put your EFI on the Flash Drive that you select on BootInstall. (Use this tool again, target the Boot Drive before moving the EFI on it. Just like what you did on Flash Drive before)

* Always use the latest HFSPlusLegacy

Config Plist

* Set [Booter>Quirks>AllowRelocationBlock] and [Booter>Quirks>DevirtualiseMmio] to `true`

* Set [Booter>Quirks>AvoidRuntimeDefrag], [Booter>Quirks>ProvideCustomSlide], [Booter>Quirks>RebuildAppleMemoryMap] to `false`

Tested on my 2 old Non-UEFI PC and can use the latest version OpenCore v0.9.9

* HP Pavilion (First Gen. Core i5-760)

* Lenovo ThinkCentre M90 (First Gen. Core i3-540)

Well, your recipe does not explain false(?) "volume corruption".

vit9696 commented 6 months ago

Volume corrupt means ESP FAT32 partition filesystem is likely corrupt. Since Clover uses a rather old FAT32 driver (also known to be used in APTIO IV UEFI BIOSes and earlier), which is known to corrupt FAT32 filesystems on write, it is possible that HfsPlusLegacy.efi driver was not properly written (or rather the whole filesystem does not guarantee anything can be properly written anymore).

We can consider reopening ticket if the issue manifests again, but the mentioned cause is quite likely. Please let us know if the issue persists.

KenDxD commented 6 months ago

This is user's fault, it's just an incorrect setup of OpenCore based on the logs you upload. You enabled some Quirks that doesn't work on older BIOS or Non-UEFI system

Would You be so kind to point quirks/settings that produce "Volume Corrupt"?

* Use any GNU/Linux distro or existing macOS for creating bootable drive (FOR NON-UEFI ONLY, Windows doesn't works well). Format the Flash Drive on ExFat MBR then use the tool on Opencorepkg `OpenCore/Utilities/LegacyBoot/BootInstall_(YourCPUArch)`. Then put your EFI on the Flash Drive that you select on BootInstall. (Use this tool again, target the Boot Drive before moving the EFI on it. Just like what you did on Flash Drive before)

* Always use the latest HFSPlusLegacy

Config Plist

* Set [Booter>Quirks>AllowRelocationBlock] and [Booter>Quirks>DevirtualiseMmio] to `true`

* Set [Booter>Quirks>AvoidRuntimeDefrag], [Booter>Quirks>ProvideCustomSlide], [Booter>Quirks>RebuildAppleMemoryMap] to `false`

Tested on my 2 old Non-UEFI PC and can use the latest version OpenCore v0.9.9

* HP Pavilion (First Gen. Core i5-760)

* Lenovo ThinkCentre M90 (First Gen. Core i3-540)

Well, your recipe does not explain false(?) "volume corruption".

You need to rebuild your EFI from scratch, don't just replace the bootloader and remember Clover is obsolete and don't have the same configuration with OC. I mention that quirks because I thought he/she rebuild his/her EFI but there's some Clover configuration not supported on OC and also use Propertree. If there's volume corruption error, the bootable usb he/she makes is the issue. Use mac or linux to make non-uefi bootable because you windows is not friendly for making non-uefi boot drive, use the tool BootInstall_x64.tool or i32.tool depending on your CPU architecture. The tool is found on Opencorepkg.

nms42 commented 6 months ago

You need to rebuild your EFI from scratch, don't just replace the bootloader and remember Clover is obsolete and don't have the same configuration with OC.

In my case there is no CLOVER in sight. I have "Volume Corrupt" with OpenCore only setup. All my volumes where checked on other computers and went clean. So?

KenDxD commented 6 months ago

You need to rebuild your EFI from scratch, don't just replace the bootloader and remember Clover is obsolete and don't have the same configuration with OC.

In my case there is no CLOVER in sight. I have "Volume Corrupt" with OpenCore only setup. All my volumes where checked on other computers and went clean. So?

did you use BootInstall on your USB Stick before moving your EFI and use macrecovery method? https://dortania.github.io/OpenCore-Install-Guide/installer-guide/mac-install-recovery.html

Use forum for support or join Discord, because this is not Opencore related issue

sambow23 commented 6 months ago

Volume corrupt means ESP FAT32 partition filesystem is likely corrupt. Since Clover uses a rather old FAT32 driver (also known to be used in APTIO IV UEFI BIOSes and earlier), which is known to corrupt FAT32 filesystems on write, it is possible that HfsPlusLegacy.efi driver was not properly written (or rather the whole filesystem does not guarantee anything can be properly written anymore).

  • Please consider reformatting your ESP and rebuilding the setup.
  • Make sure to use OpenDuet instead of Clover's Duet, this is where the FAT32 driver sits.
  • Avoid running Clover's Duet.

We can consider reopening ticket if the issue manifests again, but the mentioned cause is quite likely. Please let us know if the issue persists.

I have remade the EFI with a clean ESP using BootInstall and the issue still persists

speedie1337 commented 6 months ago

Can confirm I have this issue as well, trying to boot same 10.4.10 in a QEMU/KVM virtual machine with OpenCore 0.9.9. I created a loopback device from a .img and used the BootInstall_X64.tool shell script.

What I did:

10.4.10 image is attached as a separate SATA disk to the virtual machine.

System: Gentoo Linux (Linux 6.6.21-gentoo) efi.tar.gz opencore-2024-03-22-144027.txt tiger-virtual-machine.xml.txt tree.txt BootInstallOutput.txt

nms42 commented 6 months ago

The problem is the lack of technical info about the volume. I assume APFS volume affected too.

speedie1337 commented 6 months ago

Reverting to OpenCore 0.8.5 seems to fix it, at least for me. Need to use the older boot images too. I don't know if this is some BIOSes being buggy or something, or if something broke along the way.

Zormeister commented 6 months ago

Up to installing macOS on a Sandy Bridge laptop through the Dortania guide, after having used the 10.6.7 link provided alongside the ASR method I end up getting the same issue using HfsPlusLegacy

HW - Toshiba Satellite C660, Core i3.

Note: Downgraded to 0.8.5 as the above user did, the volume now boots (using OpenHfsPlus)

mikebeaton commented 6 months ago

Please upload /System/Library/CoreServices/boot.efi from any Mac OS X versions which are failing in 0.9.9 and working in 0.8.5.

speedie1337 commented 6 months ago

Sure, here's one from 10.4.10. boot.efi.tar.gz

mikebeaton commented 6 months ago

Please enable FixupAppleEfiImages quirk in your config.plist, this is required to boot older Mac OS X images in current OpenCore with new secure image loader.

I have tested and replicated, and this is the issue in at least some - hopefully/probably all - of the reports above.

yegormi commented 6 months ago

I can confirm that the solution is working. setting FixupAppleEfiImages to True fixes following error

uandco commented 5 months ago

Confirming FixupAppleEfiImages also fixes this issue when booting Monterey using HfsPlusLegacy.efi

chris1111 commented 5 months ago

Hi @mikebeaton OpenCore-1.0.0 Confirming FixupAppleEfiImages when booting Sonoma 14.5 using HfsPlusLegacy.efi OK ✅

But verry long boot from USB Install Media of Sonoma 14.5 with OpenHfsPlus.efi you need wait almost 3, 4 minutes here, see images bellow

IMG_3827

If I try FixupAppleEfiImages with HfsPlus.efi it stop here IMG_3828

Boot Normal on SSD with FixupAppleEfiImages + HfsPlusLegacy.efi Also Normal on SSD with FixupAppleEfiImages + OpenHfsPlus.efi Video

mikebeaton commented 5 months ago

If I try FixupAppleEfiImages with HfsPlus.efi it stop here

That does not seem right. Please upload full debug log of the boot where this stops, config.plist, and the version of HfsPlus.efi which you are using.

EDIT: First of all, please just confirm you definitely have the current version of HfsPlus.efi from OcBinaryData.

chris1111 commented 5 months ago

If I try FixupAppleEfiImages with HfsPlus.efi it stop here

That does not seem right. Please upload full debug log of the boot where this stops, config.plist, and the version of HfsPlus.efi which you are using.

EDIT: First of all, please just confirm you definitely have the current version of HfsPlus.efi from OcBinaryData.

No Iam using Other one But the one from OcBinaryData I have this

IMG_3829

I will try to upload full degug log

chris1111 commented 5 months ago

@mikebeaton here but not big infos Thanks

DEBUG.zip

EDIT ** Booting USB Install Media drive of macOS Sonoma 14.5 Beta

mikebeaton commented 5 months ago

@mikebeaton here but not big infos Thanks

No, I need the debug log from a debug install of OpenCore - unless you have unusual customisations (of files included in the release) you don't need to remake the ESP from scratch, but can just cp -r ~/Downloads/OpenCore-0.9.9-DEBUG/X64/EFI /Volumes/ESP (paths modified as needed).

EDIT: Please can you also send the debug log of booting up to the crash with the current HfsPlus.efi from OcBinaryData.

chris1111 commented 5 months ago

@mikebeaton here but not big infos Thanks

No, I need the debug log from a debug install of OpenCore - unless you have unusual customisations (of files included in the release) you don't need to remake the ESP from scratch, but can just cp -r ~/Downloads/OpenCore-0.9.9-DEBUG/X64/EFI /Volumes/ESP (paths modified as needed).

ok Wait I try after you read this debuging log Good news HfsPlusLegacy.efi from OcBinaryData boot fast and well on macOS Installer DEBUG.zip

mikebeaton commented 5 months ago

:-/ You need to enable debug logging. See Target config.plist setting in Configuration.pdf. Hint, try 67.

chris1111 commented 5 months ago

:-/ You need to enable debug logging. See Target config.plist setting in Configuration.pdf. Hint, try 67.

It is at 67 see my config.plist Now I try OpenCore-0.9.9-DEBUG/ HfsPlus.efi from OcBinaryData Let see wait 2 minutes please

mikebeaton commented 5 months ago

:-/ You need to enable debug logging. See Target config.plist setting in Configuration.pdf. Hint, try 67.

It is at 67 see my config.plist Now I try OpenCore-0.9.9-DEBUG/ HfsPlus.efi from OcBinaryData Let see wait 2 minutes please

Ok idk you need to send a debug log with debugging enabled using debug OC binaries, if your debug log is empty (or only has Apple debug lines, but no OC debug lines) you need to fix that - thanks

chris1111 commented 5 months ago

:-/ You need to enable debug logging. See Target config.plist setting in Configuration.pdf. Hint, try 67.

It is at 67 see my config.plist Now I try OpenCore-0.9.9-DEBUG/ HfsPlus.efi from OcBinaryData Let see wait 2 minutes please

Ok idk you need to send a debug log with debugging enabled using debug OC binaries, if your debug log is empty (or only has Apple debug lines, but no OC debug lines) you need to fix that - thanks

ok here DEBUG 3 OpenCore-1.0.0-DEBUG/ HfsPlus.efi from OcBinaryData DEBUG-3.zip Red screen again

mikebeaton commented 5 months ago

I can replicate this actually :-/ - thanks for the report, afaik it is expected that the older versions of HfsPlus.efi fail to load with Volume Corrupt, but not expected that the newer version crashes on your machine (and on ~Ovmf~ qemu+duet ...)

chris1111 commented 5 months ago

I can replicate this actually :-/ - thanks for the report, afaik it is expected that the older versions of HfsPlus.efi fail to load with Volume Corrupt, but not expected that the newer version crashes on your machine (and on Ovmf...)

Thanks anyway I find HfsPlusLegacy.efi then thats satisfy me !!!! Working verry great!

mikebeaton commented 5 months ago

@chris1111 - Okay - got it - HfsPlus is Haswell+, so HfsPlusLegacy is correct, so no problem here.

chris1111 commented 5 months ago

@chris1111 - Okay - got it - HfsPlus is Haswell+, so HfsPlusLegacy is correct, so no problem here.

You're absolutely right

No issue OC 1.0.0 HfsPlus booting my haswell UEFIrigs on Install macOS Sonoma Beta 14.5

27152849

StefanAlMare commented 5 months ago

Hey @mikebeaton! I have a few legacy machines and in the last month I used duet from OC 0.9.7, because the new versions doesn't boot. I see that it is resolved now, but, for me partially. I have 2 Asus P5Q in which enabling FixupAppleEfiImages has done the job, but I have problems in my HP wx4600. I can boot with older OC duet, but I have always "Halting on critical error" with new one. I have tried with release and debug. What should I try next?

mikebeaton commented 5 months ago

What should I try next?

Run the debug version and look in the debug log and see what the critical error is.

StefanAlMare commented 5 months ago

What should I try next?

Run the debug version and look in the debug log and see what the critical error is.

Done that, but I have no log inside EFI. Just "BOOT MISMATCH!" and "Halting on critical error" on black screen.

mikebeaton commented 5 months ago

"BOOT MISMATCH!" is when OpenCore cannot be found on the partition on which Duet was installed, but it may still be started from another partition. "Halting on critical error" is a message from the OpenCore log system. It sounds as if OpenCore is on another drive from where Duet was installed.