How to make the MacBook Air SuperDrive work with any Mac

Note: for Mac OS X 10.11 El Capitan and later, please see this updated post instead.

(Edited/clarified Nov. 2012, Nov. 2013, Jan 2015 and June 2016)

The story is this - a while ago I replaced the built-in optical disk drive in my MacBook Pro 17" by an OptiBay (in the meantime, there are also alternatives) which allows to connect a second harddrive, or in my case, a SSD.

To be able to continue using the SuperDrive (Apple's name for the CD/DVD read/write drive), the Optibay came with an external USB case which worked fine, but was ugly. And I didn't want to carry that around, so I left it at home and bought a shiny new MacBook Air SuperDrive (by 2012, Apple USB SuperDrive) for the office.

It just didn't occur to me that this thing could possibly not just work with any Mac, so I didn't even ask before buying. I knew that many third-party USB optical drives work fine, so I just assumed that would be the same for the Apple drive. But I had to learn otherwise. This drive only works for Macs which, in their original form, do not have an optical drive.

At this point, I started to search the net, finding hints, disassembling Mac OS X USB drivers and finally patching code in a hex editor which was the first, but ugly, solution to make the superdrive work, and gave me the information to eventually find the second, much nicer solution presented below. For those interested in the nitfy details of disassembling and hex code patching, the first approach is still documented here.

For actually making the SuperDrive work in clean and easy way, just read on (but note: while it has proven to be a quite safe method, still you'll be doing this entirely on your own risk! Using sudo and editing system files incorrectly can damage things severely!).

Apparently, Apple engineers had the need to test the superdrive with non-MacBookAir computers themselves, so the driver already has an option built-in to work on officially unsupported machines! All you need to do is enable that option, as follows:

The driver recognizes a boot parameter named "mbasd" (Mac Book Air Super Drive), which sets a flag in the driver which both overrides the check for the MBA and also tweaks something related to USB power management (the superdrive probably needs more power than regular USB allows). So just editing /Library/Preferences/SystemConfiguration/com.apple.Boot.plist and inserting the "mbasd=1″ into the "Kernel Flags" does the trick:

[For OS X 10.11 El Capitan onwards please see here for updated instructions instead!]

  1. open a terminal
  2. type the following two commands (two lines, each "sudo" starting on a new line)

    sudo plutil -convert xml1 /Library/Preferences/SystemConfiguration/com.apple.Boot.plist

    sudo pico /Library/Preferences/SystemConfiguration/com.apple.Boot.plist

  3. 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 update for users of Trim Enabler (thanks boabmatic!): Since Yosemite, installation of Trim enabler puts another flag "kext-dev-mode=1" into the com.apple.Boot.plist, and, unfortunately, also converts the .plist to binary format which shows as mostly garbage in many text editors (that's what the "plutil" line in step 2 above takes care about: it converts the file back to XML so you can edit it). Note that the system will not boot any more when trim enabler is installed, but "kext-dev-mode=1" is missing! So to apply the "mdasd=1" with trim enabler active, you need to combine both flags, such that the line will read
    <string>kext-dev-mode=1 mbasd=1</string>. For details on Yosemite and Trim Enabler, see here]
    [Update: As CyborgSam pointed out in the comments, the file might not yet exist at all on some Macs. In that case, the pico editor window will initially be empty - if so, just copy and paste the entire XML block from above].

  4. Save (press Ctrl-X, answer yes to save by pressing Y, press enter to confirm the file name).
  5. Restart your machine. That's it!

I tested this [Updated:2013-11-03] on Lion 10.7.2 up to 10.7.4, Mountain Lion up to 10.8.4 and Mavericks 10.9 so far, but I expect it to work for all Mac OS versions that came after the initial release of the Macbook Air Superdrive, which is probably 10.5.3, and is likely to work with future versions of OS X. Just let me know your experience in the comments!

BTW: the boot options plist and how it works is described in the Darwin man pages

503 thoughts on “How to make the MacBook Air SuperDrive work with any Mac”

  1. Thank you so much!!! I’ve never done anything like this before… but it was so easy… and not the drive is working!!!!! I tried the update simple version first… (1) Open a Terminal, 2) type sudo nvram boot-args=”mbasd=1″) but it did not work for me w/ a 13 inch mid 2010 running 10.8.4… :( but I tried inserting the mbasd=1 and it worked!!!! so much easier than I thought!!!!

  2. Thanks for this. I tried the simpler sudo nvram boot-args=”mbasd=1″ on my 2010 27″ iMac running 10.6.8 , followed by a hard reset and it worked straightaway.
    Still p****d that Apple didn’t make it clear on their Store webpage that this drive wasn’t compatible (without these changes) with older iMacs. I’ve already had the Hard disk replaced and as it’s now out of warranty didn’t fancy paying to have the internal superdrive replaced also.

  3. Thank you so much. I’m not too good at repairing my computer or things when they go wrong, but I can follow instructions and this worked a treat. I know it’s my fault for not having checked if a Superdrive works with all Macs, but I’m incredibly glad now to have used your instructions, made the drive work, and not wasted $89.

  4. Worked great. I reblogged this and linked back here. I was able to use textedit to GUI modify the plist for those who didn’t want to use sudo pico in the terminal.

    1. Thanks! However, in your blogpost you write “TextWrangler” while you mentioned “TextEdit” here. Readers, don’t try TextEdit, it cannot edit that plist file (and will create useless duplicates)! It is true that TextWrangler and other good third party text editors can edit root owned files, but not everyone has them. “sudo pico” on the other hand is available on each and every installation of OS X, that’s why I based my description on that. Don’t be too scared about the command line :-)

  5. 1. internal dvd is dead. 2. MBA superdrive does not attache 3. used the method in the article – did not worked, went into the folder /Library/Preferences/SystemConfiguration and deleted file com.apple.Boot.plist (it was empty) file com.apple.Boot.plist.save renamed as /Library/Preferences/SystemConfiguration/com.apple.Boot.plist (cleared of word save) – now everything works – evidently, when you save cntrl-X it doe not replace the old file but creates the new save file.

    1. Thanks for describing your successful recovery via renaming the “.save” file!
      However, Ctrl-X (followed by Y to save and then Enter to confirm the filename) in pico will replace the file. The fact that you got a “.save” copy of the file means that pico created a recovery file for some reason. It does so when it thinks you would loose your work otherwise, e.g. when it is killed by another process or crashes. Anyway, glad to hear you could make your external drive work!

    1. [Update] I just verified on a MBP early 2010 – the patch works fine with OS X 10.9 Mavericks.

      Did the patch work before upgrading to Mavericks and then did not work any more after upgrading? Or did you apply the patch only after Mavericks was installed?
      Note that after restoring from a Time Machine backup or another Mac, you need to re-apply the patch – it does not migrate automatically.

  6. Do you know if this works with other drives besides the official Apple superdrive? I took the CD drive out of my 2011 Macbook pro last year and put it in an external housing. I recall I had to do some hacking to make it work at the time. Now that I’m on Mavericks its not working again, and I can’t find the article that told me how to do it last time.

    1. The mbasd=1 hack described here only applies to the official Apple superdrive, and is irrelevant for any other external drives.

      With a 2011 Macbook internal drive in an external housing, it only depends on the SATA-to-USB converter built into that housing (Mac OS X supports some of these converters out of the box, for others you might need third-party drivers). Probably you had installed a third party driver which now is missing after installing a fresh copy of Mavericks.

  7. Just wanted to say thank you.

    Mac mini, mid 2007, with OS X 10.7.5, used for reading hundreds of CDs into iTunes library. Built-in drive chokes on older CDs, sometimes crashing the whole system. Thought an external drive should fix it, didn’t read the small print.

    Your fix works perfectly and my CD treasures finally make into the next millenium.

  8. I used the first trick in Lion, and it worked like a charm. Then recently I upgraded to Mavericks & my Superdrive stopped working. Being lazy, I tried the second one ( sudo nvram boot-args=”mbasd=1″ ) restarted, and it works like a charm!

    Thank you!

  9. I’ve done everything on this (and multiple websites) with my 2008 Macbook Pro running mavericks.

    The USB Superdrive now clicks on and accepts CD’s. It also shows up in system profiler under USB devices.

    However, inserting a blank CD does nothing. Pressing the Eject key or any variation does nothing. If I try to burn a disc in iTunes, it is not an available disc burner.

    Any help?

  10. The internal drive of my macbook pro died, so i tried the sudo nvram boot-args=”mbasd=1″ into a terminal in attempts to get an external superdrive to work -it didn’t work. I’ve installed a new internal drive, but now am not able to use the dvdplayer -it just immediately crashes upon attempting to open. I’ve tried playing dvd through vlc and it won’t play them there either. Will you offer some suggestions on how to fix whatever happened after using the sudo nvram boot-args=”mbasd=1″ .

    Thank you very much!

    1. it is highly unlikely that your problems playing DVD and doing the “sudo nvram boot-args=”mbasd=1″” are in any way related. But still, you can revert that setting easily by doing “sudo nvram -d boot-args”, and reboot the machine.

Leave a Reply

Your email address will not be published. Required fields are marked *