How to make the MacBook Air SuperDrive work with any Mac (El Capitan onwards)

Flattr this!

This is an updated version of an earlier post, adapted for Mac OS X 10.11 El Capitan and later. It describes how to apply a simple trick to make the MacBook Air SuperDrive work with any Mac. For earlier Mac OSes (and more context), please refer to the original post.

Long time ago, I bought an external Apple USB SuperDrive for my MacBook PRO 17″ late 2010, in which I had replaced the built-in superdrive by a SSD to speed up the machine.

Only to find out, like many other people, that Apple prevents the superdrive to be used with Mac models that originally came with a built-in superdrive. Nowadays, Apple does not sell these models any more, but many of these older Macs are still very good machines, especially when upgraded to SSD like my MBP.

With some investigation and hacking back in 2011, I found out that Apple engineers apparently had the need to test the superdrive with officially not supported Macs themselves, so the driver already has an option built-in to work on any machine.

[Note: there is also a simpler method, as for example described here, which consists of just typing sudo nvram boot-args=”mbasd=1″ in a terminal – done. I had that method in my post for a long time, but removed it recently because feedback was very mixed. While it seems to work fine in many cases, some users ended up with their Mac not booting any more afterwards. Maybe it was due to other important settings already present in boot-args, so if you want to give it a try, it might be a good idea to do a check first, see last post on this page]

This option can be activated on El Capitan (10.11) and later following the procedure below. Basically, it’s a clean and safe trick that has proven working fine for many users since 2011. But still, you’ll be doing this entirely on your own risk! Using command line in recovery mode and editing system files incorrectly can damage things severely – make sure you have a backup before starting!

  1. Boot your Mac into recovery mode: Select “Restart” from the Apple menu and then hold the left  Cmd-key and the “R” key down for a while until the startup progress bar appears. (Thanks to @brewsparks for the idea to use recovery mode!)
  2. After the system has started (might take longer than a normal start), do not choose any of the options offered.
  3. Instead, choose “Terminal” from the “Utilities” menu.
  4. In the text window which opens, type the following (and then the newline key)
    ls -la /Volumes
  5. You’ll get output similar to the following, with MyStartDisk being the name of your Mac’s startup disk:
    drwxrwxrwt@  7 root  admin   238  4 Jul 21:02 .
    drwxr-xr-x  41 root  wheel  1462  4 Jul 21:04 ..
    lrwxr-xr-x   1 root  admin     1 29 Jun 19:16 MyStartDisk
    lrwxr-xr-x   1 root  admin     1 29 Jun 19:16 Recovery HD -> /
  6. Then, type the following but replace the MyStartDisk part with the actual name of your startup disk as listed by the previous command (you can copy and paste the name to make sure you don’t make a typing mistake, but don’t forget the doublequotes!):
    D="/Volumes/MyStartDisk"
  7. type the following command (note that xml1 below is 3 letters x,m,l followed by one digit 1)
    plutil -convert xml1 "$D/Library/Preferences/SystemConfiguration/com.apple.Boot.plist"
  8. and then
    "$D/usr/bin/pico" "$D/Library/Preferences/SystemConfiguration/com.apple.Boot.plist"
  9. Now you are in the “pico” editor. You cannot use the mouse, but the arrow keys to move the cursor.
  10. Insert mbasd=1 in the <string></string> value below the <key>Kernel Flags</key> (If and only if there is already something written between <string> and </string>, then use a space to separate the mbasd=1 from what’s already there. Otherwise, avoid any extra spaces!). The file will then look like:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>Kernel Flags</key>
    <string>mbasd=1</string>
    </dict>
    </plist>

    [Important note for users of Trim Enabler: make sure you have the latest version of Trim Enabler (see here) before you edit the file! Otherwise, your Mac might not start up afterwards].

  11. Save (press Ctrl-X, answer yes to save by pressing Y, press newline key to confirm the file name).
  12. Restart your machine. That’s it! (When you connect the superdrive now, you will no longer get the “device not supported” notification – because it is now supported)

I tested the above on El Capitan 10.11, but I expect it to work for macOS Sierra 10.12 and beyond. The trick has worked from 10.5.3 onwards for more than 5 years, so except Apple suddenly wants to kill that feature, it will probably stay in future OSes.

04. July 2016 by luz
Categories: Uncategorized | 56 comments

Comments (56)

  1. Sorry but it did not work for my mid-2015 MacBook Pro 13 in and Sierra 10.12.6. Guess its off to the Apple Store Repair Center. Thanks to your clear info I can say I tried everything I could do on my own. Note that it took me a while to decipher the first entry because it is not clear if the characters are L, l, I, or i. Had to work out that they are lowercase L (l) and get the spaces right. Thanks heaps!

  2. did’t get to the page where you insert mbasd=1 but there was a message that xmll wasn’t recognized. Also, how do you cut and past when you’re in recovery mode?

    • Michael, it is not very clear from the font used, but note that “xml1” is three letters followed by the number “1”, and not “x” and “m” followed by two letter “l” as it first appeared to me. Also, I don’t believe you can copy and paste in recovery mode, but it will work just to type things in, if you are careful. (Although being able to copy and paste would remove the danger of confusing “xml1” with “xmll.”

  3. Oh, thank you, thank you, thank you!!! I recently revived my 2012 MacBook Pro with an SSD after its hard drive died, but its CD drive is dead too, so today I got my shiny new Apple Superdrive in the mail, and was very p.o.’d when I realized that it would “not work with this machine.” I knew that this had to be a bogus restriction and should be easily bypassed, so thank you very much for pointing the way. (It should be pointed out that “xml1” is three letters and a number; I thought it was four letters when I read it.)

  4. Thanks for the hint about the l/1 confusion! I added a note to the text to make it clear.

  5. I tried this fix with a late 2012 mac mini running Sierra 10.12.6 equipped with a OWC MiniStack Max using a LG HLDS GA31N SL 12.7mm DVDRW which had suddenly stopped being recognised. Unfortunately all I kept getting back is “Operation not supported” error. Any ideas about what else I might try? Thank you.

  6. I must be lucky. I plugged in my MacBook Air SuperDrive (MB397G/A, Model A1270) into my MacBook Pro (Retina, 15-inch, Mid 2015) with macOS Sierra Version 10.12.6 (no internal drive) and it worked with a CD I created in 2003.

    • Being lucky always helps :-)
      But for Macs that never had an internal CD/DVD drive, which means all models of the past few years, the SuperDrive just works. Apple made it exactly for these Macs, starting with the MacBook Air. Only Macs that originally did have a built-in drive refuse to use the external Superdrive and need this trick.

      • This hack does not work anymore on High Sierra. Any suggestion?

        • I haven’t updated my MBP17″ 2010, the only computer left where this hack would apply, to High Sierra yet. So I can’t really confirm or deny this.
          But – when you say “does not work”, does that mean Hight Sierra prevents you editing the .plist, or did you apply the change and despite this, the Superdrive was not recognized?

          Because as long as Apple did not remove the “mbasd” configuration option from the driver, there will be a way to make the hack work again, even if it might need another procedure to edit the .plist now.

          • Hi,

            I have tested the hack following same approach as in Sierra… and I confirm it does not work on a MBPr 15″, as it states the Superdrive can not work connected through a Hub, instead to plug it directly to the MBP.

            Everything seems ok, but it just does not work, that is, I can edit plist file including mbas line through “vi” after disabling SIP, but it looks the system does not consider this parameter anymore.

            Help is appreciated ;-)

            BR,
            /Peter

  7. Pingback: SuperDrive on a USB hub | Danny's Lab

  8. Thanks for the write-up, it was HIGHLY appreciated. Here is some troubleshooting that may help others:

    I believe I got this working on High Sierra GM on a bootable external drive (rejection messages have stopped), on a MBP 17″ mid-2010. Original internal cd drive died, was replaced with ebay “genuine” Apple (lol). Replacement internal cd drive was never removed. Original battery failed, was replaced with ebay “genuine” Apple battery (lol2).

    Sierra on internal Hard Drive would boot into recovery, but WOULD NOT load menubar, and I could NOT get into Terminal to try. Some googling said this was a Sierra “bug”, while others claimed this was due to “non-original” battery.

    I couldn’t get Sierra backups on external drives to boot into recovery (I had a hunch this may bypass the alleged battery issue).

    I went ahead and installed High Sierra on a new external drive partition, and it allowed me into recovery mode, and into Terminal. Bad internal cd, and suspicious battery still installed.

    Questions:

    1. In your Step 5, if I am booted into an External Drive on recovery Mode, is it possible to select, my INTERNAL drive (not the drive I am currently in) as my startup drive and perform the procedure?

    2. In my slightly better that average person understanding, this looks like we are just editing a PLIST on the system in which we wish to enable the Superdrive. Is it possible to simply do this while booted on that system normally, and using a PLIST editor app? 1) save backup of target file 2) copy out file to desktop, 3) edit, 4) drag new file back in to replace current, 5) restart?

    Thanks

    • Thanks for the detailed description! This would indeed prove that Apple did not remove the “mbasd” option, but only made it more difficult to edit the .plist.

      Regarding your questions:
      1) I guess yes – I’m not sure if when booted into recovery mode, all available disks are actually mounted, but I would assume so. This means that you should also see your internal drive in result to typing “ls -la /Volumes”. Just use that in step 6.

      2) You are perfectly right, it’s just editing a .plist. However, being a system level .plist, it cannot be written to when booted normally. The main reason is SIP (System Integrity Protection) which completely prevents writing to large parts of the system when booted normally, to avoid that malware can modify the system. That’s why this edits need to be made from recovery mode.

      • SUCCESS!

        I was able to boot into Recovery mode on my High Sierra external drive, and edit the PLIST for my regular internal drive (running Sierra), using your instructions. I am booted back on the regular internal drive now, playing a DVD as I type.

        Other notes:
        I installed a fresh copy of Sierra on a different external drive, and even the FRESH copy of Sierra refused to allow me into Terminal when booted into Recovery Mode. My guess would be that High Sierra has made some change that is allowing Terminal to run in Recovery Mode, when Sierra was refusing. Again, missing Terminal may be a bug, or in my case, have something to do with my replaced battery.

    • Edit to my previous post to clarify:
      -original internal superdrive failed
      -replacement internal superdrive failed, was still installed when I bought new external superdrive accessory, and began trying to enable the external superdrive

      More testing incoming.

  9. Having performed this in High Sierra, I still get that error message and DVD player does not work (so, still, I use VLC successfully).

    As for my Boot drive, it added ‘ -> /‘
    to the end of its name (without the single quotes and including the two spaces therein.

    Are these added acharacters an issue?

    Should I have left my USB SuperDrive plugged in while performing all of this?

    • When you can play DVDs from the external Superdrive with VLC, then everything’s fine. This hack is only about making the Superdrive to work at all. Making the DVDPlayer app work with external drives is a separate issue.

      And – it does not help to leave the Superdrive plugged in. The .plist change gets active at reboot.

Leave a Reply

Required fields are marked *