Which EFI firmware should your Mac be using? (version 3)

Apple doesn’t provide an official list of the current EFI firmware versions which should be installed on each model of Mac. Until 30 October 2018, it provided usable version numbers in System Information, and macOS installers and updaters also gave details of any EFI firmware updates which they contained and installed.

These changed in the Mojave and Security Updates released on 30 October 2018: the version number given in System Information is now completely different to that offered by the definitive system tool eficheck, and those installers contain many EFI firmware updates which don’t reveal their version numbers (in either numbering system).

The following lists give the EFI firmware versions supported in the Mojave 10.14.6 Security Update 2020-004 amd High Sierra Security Update 2020-004 released on 15 July 2020. If you are running an earlier version of macOS, such as El Capitan, then you should refer to the previous version of this list instead. If your Mac is a running Catalina and is a more recent model, then it should be using new EFI firmware as detailed here.

That displayed in System Information uses five decimal numbers separated by dots, e.g 96.0.0.0.0, and is given below.

The numbering system used by the eficheck tool still uses the older system with two hexadecimal numbers, e.g. F000.B00. What is more, some models which share the same ‘new’ version number have different versions according to eficheck. I therefore provide those numbers, where known, in parentheses after the ‘new’ version number.

The full eficheck version number is likely to resemble
IM144.88Z.0190.B00.1809171521
This is made up from the model designator IM144 = iMac14,4, the code 88Z or sometimes AAPLEFI4 or AAPLEFI5, the version number 0190 B00, and the datestamp of that version 1809171521 = [20]18/09/17 15:21. See below for further details of how to obtain this.

iMac:

  • iMac10,1 215.0.0.0.0
  • iMac11,1 63.0.0.0.0
  • iMac11,2, iMac11,3 99.0.0.0.0
  • iMac12,1, iMac12,2 87.0.0.0.0
  • iMac13,1, iMac13,2 292.0.0.0.0
  • iMac14,1, iMac14,2 146.0.0.0.0
  • iMac14,3 146.0.0.0.0
  • iMac14,4 204.0.0.0.0
  • iMac15,1 235.0.0.0.0
  • iMac16,1 236.0.0.0.0
  • iMac16,2 236.0.0.0.0
  • iMac17,1 428.0.0.0.0
  • iMac18,1 428.0.0.0.0
  • iMac18,3 428.0.0.0.0
  • iMac19,1, iMac19,2 1037.140.50.0.0

iMac Pro:

  • iMacPro1,1 1037.147.1.0.0 (iBridge: 17.16.16065.0.0,0)

MacBook:

  • MacBook6,1 209.0.0.0.0
  • MacBook7,1 68.0.0.0.0
  • MacBook8,1 190.0.0.0.0
  • MacBook9,1 428.0.0.0.0
  • MacBook10,1 428.0.0.0.0

MacBook Air:

  • MacBookAir3,1 110.0.0.0.0
  • MacBookAir4,1, MacBookAir4,2 135.0.0.0.0
  • MacBookAir5,1, MacBookAir5,2 264.0.0.0.0
  • MacBookAir6,1, MacBookAir6,2 122.0.0.0.0
  • MacBookAir7,1, MacBookAir7,2 195.0.0.0.0
  • MacBookAir8,1 1037.147.1.0.0 (iBridge: 17.16.16065.0.0,0)

MacBook Pro:

  • MacBookPro6,1 99.0.0.0.0
  • MacBookPro7,1 68.0.0.0.0
  • MacBookPro8,1, MacBookPro8,3 87.0.0.0.0
  • MacBookPro9,1, MacBookPro9,2 233.0.0.0
  • MacBookPro10,1 262.0.0.0.0
  • MacBookPro10,2 286.0.0.0.0
  • MacBookPro11,1 162.0.0.0.0
  • MacBookPro11,2, MacBookPro11,3 162.0.0.0.0
  • MacBookPro11,4 199.0.0.0.0
  • MacBookPro12,1 192.0.0.0.0
  • MacBookPro13,1 428.0.0.0.0
  • MacBookPro13,2 428.0.0.0.0
  • MacBookPro13,3 428.0.0.0.0
  • MacBookPro14,1 428.0.0.0.0
  • MacBookPro14,2 428.0.0.0.0
  • MacBookPro14,3 428.0.0.0.0
  • MacBookPro15,1, MacBookPro15,2 1037.147.1.0.0 (iBridge: 17.16.16065.0.0,0)

Mac mini:

  • Macmini4,1 76.0.0.0.0
  • Macmini5,1, Macmini5,2 135.0.0.0.0
  • Macmini6,1, Macmini6,2 286.0.0.0.0
  • Macmini7,1 249.0.0.0.0
  • Macmini8,1 1037.147.1.0.0 (iBridge: 17.16.16065.0.0,0)

Mac Pro:

  • MacPro6,1 137.0.0.0.0

⚠️ Apple doesn’t list the MacPro5,1. See below for further information about this model.

I am extremely grateful to Pico, who provided a complete listing, to all those Mac users who have confirmed version numbers as well, and to Pico who kindly gave me a script to unscramble numbers from updates.

T2 chip models:
The iMac Pro, 2018 MacBook Pro with Touch Bar (MacBookPro15,1 and 15,2), 2018 Mac mini and 2018 MacBook Air all use a different mechanism for firmware updates, managed by their T2 chips. They also appear unable to run eficheck.

How to check your Mac’s EFI firmware version

The simplest way now is to run my free tool LockRattler 4.13 or later, from Downloads above. This now gives both the ‘new’ version number and, on Macs running High Sierra and later, that returned by eficheck too.

Alternatively, use the About This Mac command at the top of the Apple menu, and click on the System Report… button. In the Hardware Overview listing, this is given as the Boot ROM Version, and typically now looks like
123.0.0.0.0. In that, 123 is a new model identifier. The firmware version is then given in the following four numbers. For all models at present, this appears to be 0.0.0.0.

What to do if your Mac’s EFI firmware is different from that shown

There are two reasons for the major version being higher than that shown:

  • Your Mac has installed an updater which has in turn installed a newer version of the EFI firmware. This may happen if you install a beta release of macOS, or could happen after service to your Mac. It may rarely occur if you download the latest Combo updater for macOS.
  • Your Mac has installed a spurious version of the EFI firmware, such as malware. You should be able to check that in High Sierra and above: see below for instructions.

If the installed version of EFI firmware has a version which is lower than that shown, you can try installing the 10.14.1 or Security Update a second time. You may find this more effective if you download the respective standalone installer, or even download the full Mojave installer from the App Store. Then check the firmware version again. Consider upgrading to Mojave as appropriate.

EFI firmware updaters are now only distributed as part of macOS / OS X updates and upgrades: Apple does not provide them separately.

How can you check the integrity of your EFI firmware?

If you are concerned that something bad may have happened to your EFI firmware, and your Mac is running High Sierra or Mojave, you can run the eficheck tool to test this. Normally, this is run automatically every week, and you should be informed of any issues which it raises. But there’s no harm in running it if that gives you peace of mind.

Open Terminal, and in its command line type
/usr/libexec/firmwarecheckers/eficheck/eficheck --integrity-check

Once it completes, you should see a response like
EFI Version: IM171.88Z.F000.B00.1809251200
Primary allowlist version match found. No changes detected in primary hashes.

In the first line of the response, this gives the Mac model (MBP141 = MacBook Pro 14,1), the major version (F000), the minor version (B00), and the build datestamp of that version (= [20]18/09/25 12:00). This should match the version given above.

If it doesn’t, save the result immediately and contact Apple support soonest, ready to quote to them the results of that check.

Note that eficheck returns a version number which is different in format from those given by System Information, and is different in its content too. Fuller details about eficheck are given in this article.

Should you check your EFI firmware against the Allow List?

Although eficheck‘s Allow List is intended to ensure that your Mac’s EFI firmware is recent, it does not require that it is the current version, as listed above – it’s an Allow List. What it is primarily intended to do is check that nothing has tampered with your firmware. So its Allow List is content with older and newer firmware versions – it currently has more than 2,000 entries – but most importantly checks that the version installed is intact, as Apple expects it to be, and hasn’t been corrupted or altered.

Running eficheck as detailed above is the best way to perform that check. Looking through its Allow List won’t normally tell you the current version of the EFI firmware for your particular Mac, and can confuse.

What about SMC versions?

Isn’t EFI firmware complex enough for you? There is currently no way to check the integrity of other firmware, etc., and no one has even started to focus on SMC versions.

However, if you’re that curious, High Sierra and Mojave offer another firmware checker, which examines BCM5701 ethernet devices. In Terminal, type
/usr/libexec/firmwarecheckers/ethcheck/ethcheck --h
to see its usage information. The command
sudo /usr/libexec/firmwarecheckers/ethcheck/ethcheck --integrity-check
performs a check on your ethernet firmware, provided that your Mac has a real ethernet port. You can find the current version of the ethernet firmware listed in the Ethernet Cards section of System Information.

MacPro5,1

‘Cheesegrater’ Mac Pro models which are compatible with High Sierra and later, but prior to the ‘new’ Late 2013 model, with the designator MacPro5,1, are different when it comes to EFI firmware updates. As explained by Apple, you must upgrade these to High Sierra 10.13.6 before upgrading to Mojave, otherwise they will be unable to take further EFI firmware updates. However, doing that should enable them to update using the regular Software Update system in future.

Latest reports from James Elam (thank you, below) show a new-style number of 144.0.0.0.0 after the 10.14.6 update.

(Updated on 15 July 2020 with Security Update 2020-004 updates.)