Contribute
Register

[APFS] High Sierra 10.13.1 - No early logging

Status
Not open for further replies.
Why didn't you mount it?

eg.
Code:
diskutil mount disk6s1
Ok, worked that time, restarting now to see if the desired effect happens
 
I did, but it had the same result.

Show output of mount that proves you mounted it.

For example, output of mount on my system before I mount EFI:
Code:
NUC6i7KYK:~ rehabman$ mount
/dev/disk0s2 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
/dev/disk1s2 on /Volumes/Win10 (ntfs, local, read-only, noowners)
/dev/disk1s4 on /Volumes/ssd_notused4 (hfs, local, journaled)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)

Then I mount EFI (my EFI is usually disk0s1):
Code:
NUC6i7KYK:~ rehabman$ diskutil mount disk0s1
Volume EFI on disk0s1 mounted

Output of mount after EFI is mounted:
Code:
NUC6i7KYK:~ rehabman$ mount
/dev/disk0s2 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
/dev/disk1s2 on /Volumes/Win10 (ntfs, local, read-only, noowners)
/dev/disk1s4 on /Volumes/ssd_notused4 (hfs, local, journaled)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
/dev/disk0s1 on /Volumes/EFI (msdos, asynchronous, local, noowners)

Note "/dev/disk0s1 on /Volumes/EFI"...

And if I check what is on /Volumes/EFI with ls:
Code:
NUC6i7KYK:~ rehabman$ ls -l /Volumes/EFI
total 3
drwxrwxrwx  1 rehabman  staff  1024 Jan 12 06:30 CLOVER.bak
drwxrwxrwx  1 rehabman  staff   512 Apr 19 15:22 EFI
NUC6i7KYK:~ rehabman$ ls -l /Volumes/EFI/EFI
total 9
drwxrwxrwx  1 rehabman  staff   512 Mar 30 15:00 APPLE
drwxrwxrwx  1 rehabman  staff   512 Apr 19 15:22 BOOT
drwxrwxrwx  1 rehabman  staff  1536 Apr 22 14:53 CLOVER
-rwxrwxrwx  1 rehabman  staff  1832 Apr 19 15:22 Clover_Install_Log.txt
NUC6i7KYK:~ rehabman$ ls -l /Volumes/EFI/EFI/CLOVER/drivers64UEFI/
total 1342
-rwxrwxrwx  1 rehabman  staff   17280 Apr 19 12:15 AppleImageCodec-64.efi
-rwxrwxrwx  1 rehabman  staff    5312 Apr 19 12:15 AppleKeyAggregator-64.efi
-rwxrwxrwx  1 rehabman  staff    2400 Apr 19 12:15 AppleUITheme-64.efi
-rwxrwxrwx  1 rehabman  staff   25728 Apr 19 12:15 AptioMemoryFix.efi
-rwxrwxrwx  1 rehabman  staff    5696 Apr 19 12:15 DataHubDxe-64.efi
-rwxrwxrwx  1 rehabman  staff   21952 Apr 19 12:15 FSInject-64.efi
-rwxrwxrwx  1 rehabman  staff    7232 Apr 19 12:15 FirmwareVolume-64.efi
-rwxrwxrwx@ 1 rehabman  staff   24900 Apr  2  2017 HFSPlus.efi
-rwxrwxrwx  1 rehabman  staff    4480 Apr 19 12:15 SMCHelper-64.efi
drwxrwxrwx  1 rehabman  staff    1024 Feb 20 07:58 _notused
-rwxrwxrwx  1 rehabman  staff  568472 Nov  1 14:24 apfs.efi

Keep in mind the result of mount is transient. If you reboot, you must mount EFI again.
 
Last edited:
Why didn't you mount it?

eg.
Code:
diskutil mount disk6s1
That worked, no early logging at reboot! Thank you!!! And, the EFI is once again disk 0s1.
 
Yes, copy and then patch the apfs.efi file to your EFI partition with the code below:

Code:
cp /usr/standalone/i386/apfs.efi /Volumes/EFI/EFI/CLOVER/drivers64UEFI

perl -i -pe 's|\x00\x74\x07\xb8\xff\xff|\x00\x90\x90\xb8\xff\xff|sg' /Volumes/EFI/EFI/CLOVER/drivers64UEFI/apfs.efi

You could use it in a script as it seems it should work with future apfs versions.

EDIT:

I've attached a script below that can be run after an update. It will mount the EFI partition at disk0s1 if necessary then copy and patch the local apfs.efi file to drivers64UEFI if it's timestamp is more recent. It will indicate success or otherwise then unmount the EFI partition. It's quick and easy to do this if you also need to open the Terminal and rebuild your kext cache after an update.

still working on 10.13.5!

serve this man a beer :)
 
Take a look at post #91 for a better solution to the APFS driver update/patching process. The ApfsDriverLoader is now included in the official Clover package.
 
I am happy to report that this workaround still works in 10.13.6 update.
 
Yes, copy and then patch the apfs.efi file to your EFI partition with the code below:

Code:
cp /usr/standalone/i386/apfs.efi /Volumes/EFI/EFI/CLOVER/drivers64UEFI

perl -i -pe 's|\x00\x74\x07\xb8\xff\xff|\x00\x90\x90\xb8\xff\xff|sg' /Volumes/EFI/EFI/CLOVER/drivers64UEFI/apfs.efi

You could use it in a script as it seems it should work with future apfs versions.

EDIT:

I've attached a script below that can be run after an update. It will mount the EFI partition at disk0s1 if necessary then copy and patch the local apfs.efi file to drivers64UEFI if it's timestamp is more recent. It will indicate success or otherwise then unmount the EFI partition. It's quick and easy to do this if you also need to open the Terminal and rebuild your kext cache after an update.
Still works in 10.13.16. Awesome!
 

Attachments

  • apfs.efi.zip
    270.4 KB · Views: 149
This method is obsolete by now, it is recommended to use the new ApfsDriverLoader-64.efi instead of apfs.efi

You mean this one? https://github.com/acidanthera/AppleSupportPkg

But I do not understand this part:
"WARNING: Please load AppleImageLoader.efi right before ApfsDriverLoader, or just put it inside drivers64uefi folder of your Clover bootloader"
There is no AppleImageLoader.efi to be found anywhere.

The release (https://github.com/acidanthera/AppleSupportPkg/releases) only contains ApfsDriverLoader.efi.
 
Status
Not open for further replies.
Back
Top