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. Hi,

    could anyone tell me, if this would work on an iMac Late 2009?
    I want to add an external drive to use it to watch DVDs. I do not like
    to insert my original DVDs in the built-in drive.

    Regards,
    Matthias

    1. I can’t try myself (I don’t have an iMac), but I see no reason why it should not work. However to watch DVDs with external drives (no matter if Apple’s or not) you either need to use a different app (VLC for instance) or patch the Apple DVD player in addition to the trick described here.

      What I’m wondering though is what you’ll gain with an external SuperDrive (which is really much the same hardware as is built into the iMac, just in an external case). So I don’t see why the external drive should be more trustworthy for playing your original DVDs.

      1. Hi,
        i used an external dvd recorder from LG for playing DVDs, because i find it more easier to insert DVDs into an external drive than into the internal on the right side of the display, where you cannot see the slot without leaving your seat.
        But now the Mac OS X DVD Player software crashes when playing DVDs in the external drive. No crashes with the internal drive. That´s why i was thinking about an Apple drive.

        In the meantime the drive arrived and i tried your tip. And it works fine. And much more important. DVD Player does not crash with that drive.

        Thank you very much for this tip! :)

        Regards,

        Matthias

  2. Hi, i own a imac with a built in DVD player that gave up the ghost.
    I purchased an extenal super drive, but as we know it wont work with a mac with a built in DVD drive. After using the shorter of the 2 patches the drive now works great.
    Tony

  3. Hi luz,
    I have iMAC 10.6.8.
    I just bought the superdrive and tried your update 2, did not work, then I went to the 1st option.
    Did not get any errors how ever it does not work.
    Here is what it looks like after the update:

    <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple$

    Kernel
    mach_kernel
    Kernel Flags
    mbasd=1

    do you see anything unusual?

    Thanks a bunch.

    1. XML is very hard to paste in comments, so it’s difficult to say if your plist edits are ok. If you didn’t do anything else except typing “mbasd=1” (without quotes) immediately after <string> without any extra spaces, and if you did it with pico (and not some other editor, as some modify permissions on save), it should be ok.

  4. Lutz, thanks for your help.
    The only thing that I see is different from your notes, are two additional lines KEY and STRING.

    1st line: Kernel
    2nd Line: mach_kernel
    as shown bellow:

    <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple$

    Kernel
    mach_kernel
    Kernel Flags
    mbasd=1

    I don’t know if those have any effects. Do I need to ad
    “mbasd=1” n the 1st STRING?

  5. Weel, Luz, hope you can help here.
    This is what is happening when I try to login to my terminal for this hack:

    Last login: Fri Dec 28 13:20:32 on ttys000
    Brens:~ Brens$ sudo pico /Library/Preferences/SystemConfiguration/com.apple.Boot.plist
    sudo: can’t open /private/etc/sudoers: Permission denied
    sudo: no valid sudoers sources found, quitting
    Brens:~ Brens$

    I am on a MacBook Pro, running 10.7.5

    Any idea why I am being denied?

    Thanks

  6. My built-in optical drive is broken so I desperately need this to work when upgrading my OS to Snow Leopard.

    Macbook pro 2008
    OS 10.5.8

    it would surely work right?

    1. According to the comments, in most cases it works, and in some it didn’t. I can’t guarantee anything.
      One caveat however: You’ll most probably not be able to boot from the external superdrive, even if it works for normal operation. So for upgrading OS-es, it’s not a solution, and I’d recommend to use a USB key drive to install.

  7. Hi Luz.
    Like Hadi above, mine is showing two sets of keys and strings
    Kernel
    mach_kernel
    Kernel Flags

    do I ignore the first two lines and just type
    “mbasd=1” in the last one?

    1. Yes, the “mbasd=1” is a kernel flag so it must be added between the <string> and </string> that follow the <key>Kernel Flags</key>.
      Just leave everything else untouched.

  8. I had trouble getting my superdrive to work after upgrading to Lion. I tried so many different “solutions” on forums without much success but this just worked!!!

    Thanks again!!

  9. Nice. This hack/patch worked flawlessly for me on my 17″ MacBook Pro (late 2011). I had removed its optical drive to make way for a second 750 GB HD using the OWC Data Doubler. I was hoping to use my MacBook Air’s Superdrive with my MacBook Pro and this method allowed this without issues. THANKS… saved $79 as well… niceeeee.

  10. Thanks so much for this! Worked perfectly on my 2007 15″ Macbook Pro. Now I can backup my entire media library and not worry about burning out my built-in drive. I am grateful for your help.

    Thank you.

  11. I need help! I am a novice apple user and I am trying to get my superdrive to work, but after I go to terminal and put in sudo nvram boot-args=”mbasd=1″ it asks for my password and then doesn’t let me type anything in. What do I do? Thanks

    1. First, please note that the “nvram” method apparently seldom works. I’d recommend to stick with the first method which reportedly works for most users.

      Second – it’s normal that you don’t see anything when typing a password in terminal. Just type your password and press return.

  12. I have an iMac 7,1 running on 10.6.8 & I bought an as-new mb397g/a SuperDrive for £25 on ebay (I didn’t know about the restrictions). I tried the nvram method, but it didn’t work. The .plist method worked first time. Really cool.

    Many thanks!

  13. Thanks, this works great!
    I was about to take the Superdrive back to the store, it didn’t occur to me this thing might not work with other Apple devices. And why shouldn’t it work??

  14. Can’t thank you enough!! Threw a SSD in, moved my Mac HD over to the optical location and picked up a Superdrive for the once-in-a-whiles. Got to the event(in production) and an hour before the show they hand me a disc of music – no prob.. oh, sh.. found this, followed it and skipping down the yellow brick road as I type. Thanks!!

    1. It’s definitely working on mountain lion as well, and I cant imagine that the “arch=x86_64″ part is causing problems (the space separated list of kernel flags is really a generic mechanism used for various things, nothing specific to the superdrive). Still, my MBP 17” early 2010 never had the “arch” part in the flags. AFAIK Lion and newer always run in 64bit mode, so it’s probably irrelevant for ML anyway.

      But first I’d check the console for the “The MacBook Air SuperDrive is not supported on this Mac” kernel message at boot. If it is NOT there, the kernel flag was recognized and there’s another reason (insufficient USB power, maybe? Try different ports…) why the drive does not work.

Leave a Reply

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