Jump to content

Is there an opencore fix for this APFS issue?


Ginger Geek
 Share

14 posts in this topic

Recommended Posts

High Sierra also likes to modify the Preboot partitions of other macOS APFS containers. Is there anyway around that?

 

This happens even if your High Sierra partition is HFS+.


When this happens, Open Core will show the Data volume as the boot item for that macOS version instead of what was in the Preboot volume. So you will still be able to boot the later macOS versions.

 

You can look at the SystemVersion.plist file in each Preboot volume to see if it's been changed to 10.13.

 


source "/Volumes/Apps/File Utilities/diskutil pdisk fdisk gpt/DiskUtil.sh"
mountPrebootPartitions

IFS=$'\n'
for thefile in $(
    {
        find /Volumes/Preboot*/*/System/Library/CoreServices/SystemVersion.plist
        find /System/Volumes/Preboot*/*/System/Library/CoreServices/SystemVersion.plist
    } 2> /dev/null
); do
    theuuid="$(perl -pE "s|.*/([-0-9A-F]{36}).*|\1|" <<< "$thefile")"
    diskutil info "${theuuid}" | perl -nE 'if (/Volume Name:\s+(.*)/) { print $1 . "\n" }'
    echo "$thefile"
    plutil -p "$thefile"
done

Link to comment
Share on other sites

@joevt True. I had this issue once on my Desktop before. I had Big Sur installed on one SSD. And after installing High Sierra on another physical SSD, I could no longer boot into Big Sur without -no_compat_check. After re-installed Big Sur on top of the previous install it worked again. I once found a guide to fix this via Terminal, but I can't find it any more. Worst thing about it: nobody believed me at first that this is a thing.

 

A part of the Terminal command does not work:

 

"source: no such file or directory: /Volumes/Apps/File Utilities/diskutil pdisk fdisk gpt/DiskUtil.sh
zsh: command not found: mountPrebootPartition"

Edited by cankiulascmnfye
Link to comment
Share on other sites

18 hours ago, cankiulascmnfye said:

A part of the Terminal command does not work:

 

"source: no such file or directory: /Volumes/Apps/File Utilities/diskutil pdisk fdisk gpt/DiskUtil.sh
zsh: command not found: mountPrebootPartition"

You have to download DiskUtil.sh, then change that command to the path of that file.

 https://gist.github.com/joevt/6d7a0ede45106345a39bdfa0ac10ffd6

 

  • Thanks 1
Link to comment
Share on other sites

@joevt This seems to be a known quirk when dealing with multiple macOS APFS containers. Your script for checking the SystemVersion.plist in each Preboot volume is a smart approach to identifying changes.

 

I've found this other thread at 

 that seems to be related to the issue. Is it? 

Link to comment
Share on other sites

@joevt

 

After I downloaded that Utils.sh script and adjusted the path in the terminal command, another message pops-up:

 

# Download and build bless from https://github.com/joevt/bless , then update the path of directbless defined in DiskUtil.sh.

 

Can you buld something that just works by double-clicking, so that does what it's supposed to do?

 

Edited by cankiulascmnfye
Link to comment
Share on other sites

13 hours ago, cankiulascmnfye said:

@joevt

 

After I downloaded that Utils.sh script and adjusted the path in the terminal command, another message pops-up:

 

# Download and build bless from https://github.com/joevt/bless , then update the path of directbless defined in DiskUtil.sh.

 

Can you buld something that just works by double-clicking, so that does what it's supposed to do?

 

You can ignore that message since you don't need bless to mount partitions.

Anyway, that script just lists info from your Preboot partitions. You can check the info manually.

 

  • Thanks 1
Link to comment
Share on other sites

16 hours ago, ArcaneRhapsody said:

@joevt This seems to be a known quirk when dealing with multiple macOS APFS containers. Your script for checking the SystemVersion.plist in each Preboot volume is a smart approach to identifying changes.

 

I've found this other thread at 

 that seems to be related to the issue. Is it? 

I've never seen that before so I don't think it's related. It seems that just booting into High Sierra causes changes to Preboot volumes but I haven't checked time stamps and logs to see exactly when it happens. One day I'll update my macOS installs (Big Sur and later), backup their Preboot volumes and bless info, then boot into High Sierra to see what happens when.

  • Like 1
Link to comment
Share on other sites

If you will have two partitions, one with BigSur and other with HighSierra, then booting High Sierra you will see the warning as in the first post telling that High Sierra can't understand APFS features used in Big Sur.

Whatever you may do.

Link to comment
Share on other sites

I also had this issue (of High Sierra corrupting "newer" macOS APFS volumes).

Here's the thread and possible workarounds on macroumors.

Essentially, you need to backup your SystemVersion.plist, PlatformSupport.plist and the .disklables in Preboot volume of Big Sur, etc.

Then if you boot High Siera on the same system and it corrupts those files, then you simply copy back those corrupted files.

 

  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...

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.   Paste as plain text instead

  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.

 Share

×
×
  • Create New...