ASD OS v ASD EFI?

For starters, ASD stands for Apple Service Diagnostics, not Apple System Diagnostics.

Obviously I can’t comment on how you obtained the ASD files, but if it’s from a reputable source (i.e. from Apple or one of its authorised partners) then it should already contain some PDFs on the disk image to help guide you. So, if you haven’t got these PDFs I’d really be hesitant on proceeding.

Another factor is that there isn’t just one Apple Service Diagnostic. There are many versions and each one is only compatible with certain models of Mac computer, so you’d want to be sure you’re getting what you bargained for (although if it’s the wrong one, it should give you a warning that it doesn’t support the machine you’re trying to run it on - assuming of course it’s a genuine version). In your case, ASD 3S150 supports all of the mid-2012 models of MacBook Air and MacBook Pro. So, if the computer you’re wanting to test isn’t one of them, then you've got the wrong ASD version.

ASD EFI v ASD OS

The first and most obvious difference between the two is that ASD EFI runs without an operating system, while ASD OS runs on a limited version of macOS. With these factors in mind:

  • ASD EFI is better at some hardware diagnostics because it’s basically run from firmware. For example, if you’re using ASD OS then parts of RAM are being used by macOS and therefore cannot be tested, while this is not an issue with using ASD EFI.

  • ASD OS is better for running more advanced testing processes because having macOS present allows for multitasking and a higher load on some hardware.

  • ASD OS also allows for testing certain aspects of the hardware that ASD EFI can’t. For example, with ASD OS you can run tests that require user involvement, such as testing the trackpad which requires the user to actually touch it during testing, or testing for the presence of high speed USB devices in USB ports which require the user to connect a device into the port, or for testing an IR port which requires the user to press a button on an Apple Remote, and the list goes on.

There are other differences, but the above sums it up nicely in my opinion.

Sometimes you’ll need to use both, and sometimes one is enough. For example, if someone is having an issue that I suspect is related to RAM, then I just run the ASD EFI version. If that finds a problem with memory, then there’s really no need to run the ASD OS version. Likewise, if someone is having problems controlling their Mac with an Apple Remote, I’d run the ASD OS version instead to test that the IR Port is receiving a signal when the Apple Remote is being used.

In a nutshell, both have a role to play. And, depending on the scenario, they can be used independently or in conjunction with one another.