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 (and apparently, the only one working for High Sierra), 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!
- 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!)
- After the system has started (might take longer than a normal start), do not choose any of the options offered.
- Instead, choose "Terminal" from the "Utilities" menu.
- In the text window which opens, type the following (and then the newline key)
ls -la /Volumes
- 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 -> /
- 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"
- 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"
- and then
"$D/usr/bin/pico" "$D/Library/Preferences/SystemConfiguration/com.apple.Boot.plist"
- Now you are in the "pico" editor. You cannot use the mouse, but the arrow keys to move the cursor.
- 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].
- Save (press Ctrl-X, answer yes to save by pressing Y, press newline key to confirm the file name).
- 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.
This method did not work on my Macbook Pro Early 2011 with El Capitan. However, the following simpler method worked perfectly.
“Open a terminal window and type the following command:
sudo nvram boot-args=”mbasd=1”
https://discussions.apple.com/message/29489664#29489664
Thanks for the information! I am aware of that method and in fact I had it documented in earlier versions of this post. I removed it because feedback was mixed; while it worked for some users, it rendered the Mac unbootable for other. Anyway, I re-added the info about the sudo nvram method as a note in the post, including the caveat.
And a funny thing is that the optical drive in the computer is now working. Do you have any idea why? It kept spitting out CDs before. I thought it was due to the dropping of my laptop, and the lower right corner got dented. So I got an external superdrive assuming it would work without any trouble. Boy was I wrong, and it led me to your site.
In any case, I now have two working superdrive hardwares. I guess I will keep the external superdrive for the future macbook.
Thanks!
You rule dude! Thanks for the CMD-Line fix… Not only did I add two SSD drives, removed the optical drive from my MacBook Pro 13″, upgraded to OSX Sierra (http://dosdude1.com/sierrapatch.html) thanks to the dosdude, but I was able to gain access to my External Air SuperDrive. Bonus all the way. You guys rock.
It didn’t work for me, because when I hit print, some of the end code was cut off.
Funny thing too, My optical drive has started working again (built in) on my desktop mac. WTF???
Alex
Thank you very much, it works !
The formatting of the page cuts off the code you used in steps 7 and 8. Can you edit that, please?
What browser do you use? The code blocks should have a sidewards scroller when the line does not fit into the layout width. It’s not something I can change, that’s the way this standard wordpress template works.
Ah, my mistake. On chrome and safari, the side-scrolling bar shows up when you highlight the text.
Cheers for the post!
Select, copy and paste the section of text into TextEdit, and you’ll get the whole line, which is easier than side-scrolling in Safari. In fact, I did it for the whole webpage.
Awesome! It worked for me too!!!
I did “Open a terminal window and type the following command:
sudo nvram boot-args=”mbasd=1”
and now my original internal superdrive who used to spit my CDs out works perfectly again too.
Unbelievable!!!
Thank you!
(I’m running El Capitan for info)
Worked for me on Sierra – 2012 MacBook Pro (non-retina) w/ Fusion Drive
MacBook Pro late 2011, 10.12. I don’t seem to have Pico in the recovery terminal. I do if I login as normal. I’ve tried other editors like Vim, but I get errors trying to open the file. Any suggestions?
you cannot just type “pico” in the recovery console, because pico is not available in the recovery OS. However it should be available in the regular OS’ volume, that’s why the guide includes getting that volume’s path and then calling pico from there. Did you try it exactly as shown in the guide, and if yes, what error do you get at the $D/usr/bin/pico command?
“No such file or directory.” If I browse to the directory you’re calling it from, it’s not there, either.
My volumes don’t look anything like your example. It took me a while to find the one that even contains the file we are attempting to edit. It might be helpful to add double quotes on the paths you have the variable in, in case there are spaces in the name of the volume written to the variable. It took me a couple minutes to realize that was causing a problem. It didn’t fix the pico issue, though. I wonder if it has been moved somehow?
I figured it out. I had my hard drive encrypted with FileVault. After I turned FileVault off, the drive showed up in the Recovery Terminal, and I was able to complete the tutorial as outlined.
Thanks for your work on this. It was very helpful.
Hi there. n00b here… I’m trying this on a mid-2010 MBP with a 1TB SSD (and a malfunctioning internal superdrive). After entering the command line
plutil -convert xml1 $D/Library/Preferences/Syst
I get errors that seem to come from the fact that mystartdrive contains spaces? The startup disk is named MacBook Pro SSD and in the error lines that come up after entering the above command line there’s individual mentions of “MacBook”, “Pro” and “SSD” not existing. Should I just remove the spaces for it to work?
Update: just renaming by removing the spaces did the job – thanks for the tutorial!
Thanks for the hint. Indeed, a disk name containing spaces did not work the way the post was written. Putting double quotes around the file paths (I have just edited the post to add those) solves the problem. Sorry for the oversight, but I did not notice because I stopped using spaces in my start disks name decades ago to work around problems with badly written/ported software. Still, with “Macintosh HD” being the default start disk name, I should have thought about it :-(
Of course, renaming the start disk also works!
Hi Luz – firstly thanks as your post is by far the best post about the issue with the external superdrive. I have a mid 2010 17″ MBP running Sierra 10.12.2 and also swapped out my internal optical drive for an SSD. I bought the external apple superdrive maybe a year ago and got it working by opening a terminal session and entering the command sudo nvram boot-args=”mbasd=1″ followed by the password. Just recently, when I connect the superdrive I get the message ‘Apple USB Superdrive is not supported by this Mac’ . I think it may have been after I reset the PRAM but I can’t say for certain – so I tried the above command again and no good – I get the following message ‘ nvram: Error setting variable – ‘boot-args’: (iokit/common) general error’ ; I just tried your solution but made the change in a terminal session by typing the command sudo pico /Library/Preferences/SystemConfiguration/com.apple.Boot.plist followed by my password – this opened a GNU nano session and I was able to insert mbasd=1 between the and then saved and re-started – but no good I’m afraid. Any ideas what I am doing wrong? thanks in advance for any help ! SeanMc
Updated – I just went back in to Terminal and the change I made by inserting mbasd=1 between the didn’t save properly – I tried again as described above and the error I get is ” Error writing/Library/Preferences/ SystemConfiguration/com.apple.boot.plist: Operation not permitted ; I tried to make the change while in Recovery Mode but there isn’t any Utilities option in Recovery mode where I ca open a terminal session – hope I am making sense – appreciate any help. thanks
SeanMC
In recovery mode don’t look for Utilities in the window in the middle with a few options, rather look for it in the main menu. One of the sub-menu is Terminal
Thanks Tybby but unfortunately the only item on the menu bar is Language Chooser – there isn’t any other menu’s or submenu’s – it seems to be a problem in Recovery mode that is affecting other users with MBP from 2010 / 2011. Very frustrating.
Work perfectly in my MacBook Pro Middle 2012 with OS X Sierra 10.12.2. Thanks a lote. I update my MacBook Pro with a SSD as my main disk and replace the internal superdrive for a 9mm hard drive, and I disappoitmet when discover that my external superdrive didn’t work with my MacBook Pro Mid 2012. Your post, save me. Thanks a lote, from Venezuela.
none of these worked for me
when i boot in recovery and type in the above “ls -la /Volumes” it shows “MyStartUpDisk” as a wheel not admin. and though i can open terminal in recovery, nothing in this article, which is very comprehensive btw, is making my external superdrive work. i tried older methods as well. if there are any other methods, or perhaps im missing a step.
Hi, luz!
Thank you for these articles, they are really helpful!
I just updated my iMac 8,1 (from early 2008) from Snow Leopard to El Capitan 10.11.6, which is as far as my hardware will go as far as updating the OS is concerned. A little late to the game, but better late than never. My internal CD/DVD Drive hasn’t worked for years on this iMac, but I have an Apple USB SuperDrive I want to try this method on. My iMac has a SATA drive, so there’s no TRIM. I checked my com.apple.Boot.plist file, and it matches the file as you have listed it in this article. To be clear, I receive the message “USB Device Not Supported: The Apple USB SuperDrive is not supported on this Mac” when I plug in my USB SuperDrive. Before I attempt to resolve this issue I’d like to ask you the following two questions:
(1) Based on your knowledge and experience with this process, and given what I stated above, would you recommend that I make the attempt to update the com.apple.Boot.plist file? If it doesn’t work, so be it, but I’m concerned about possibly rendering my updated machine un-bootable.
(2) Even if I am able to update the file and get my iMac to recognize the drive, will this have any adverse effect on the drive itself? That is, is there any chance that this will impact my MBPro Retina and MacBook Air from being able to use the drive?
I look forward to reading your response (and those of others in similar circumstances). Cheers!
1) yes, from what you write, it looks very much like updating the com.apple.Boot.plist should work for your iMac. Of course, having a full time machine backup is important for (unlikely) worst cases. But in general, if something goes wrong editing the .plist file, this only affects the normal boot – you can always boot into recovery and re-edit the .plist back to original.
2) no, this certainly does not have any effect on the drive itself. All the change does is causing the *Mac* to use the drive in exactly the same way the officially supported MBPro and MBAs do. The Superdrive itself is not changed by this in any way.
Brilliant!! This worked perfectly for me, and it was such a simply fix. Thank you so much!
Thank you so much. This worked great for me on OSX Sierra!!! MacBook Pro (13-inch Early 2011) 2.3GHz, i5. I’m not very experienced at using Terminal so it took me a few tries to type everything without messing up. So if you keep getting error messages start over and pay very close attention to each step.
Hi – in my case, the simpler methods operating Terminal command:
sudo nvram boot-args=”mbasd=1″
worked perfectly.
The superdrive appears to be fully operational again with the only exception of DVD PLAYER not accepting the superdrive (there used to be a Hack for this too for earlier Mac OS versions); however VLC or some other player are not as difficult as Apple software and perfectly play DVD’s from the external Superdrive.
[Mac OS El Capitan 10.11.6 10.11.6 (15G1217) om MACBOOK PRO 15″ late 2011 / 1TB SSD + internal 2 TB HDD instead of Superdrive]
THANKS!
Hi,
Thanks for this advice. However, I cannot get my late 2008 Macbook Pro to open in recovery mode. When I hold those keys it just opens as normal. (I replaced the hard disk with an SSD last year and it doesn’t seem to be partitioned.
Is it possible/safe to follow your instructions *not* in recovery mode, please?
You could try the “sudo nvram” methods from normal mode. Editing the .plist however does not work without recovery mode because of SIP (system integrity protection).
Thanks. The sudo version doesn’t seem to work.. the disk(s) keep spinning and are eventually ejected, apparently unrecognized. Maybe it’s a mechanical/laser issue.
My mid 2010 17″ MBPro has worked great with the Superdrive after editing the boot.plist file. Sierra changed permissions on this file and I can’t save the edited file. Can I edit it successfully in Recovery mode, or is there another way to get the job done? Haven’t tried the sudo nvram boot-args=”mbasd=1″ option yet. Have to clone my HD first.
Yes, you can edit and save the file only from recovery mode, that’s why the post describes it that way.
Since El Capitan, large parts of the system are under SIP (system integrity protection) which means nobody and nothing can write these files after normal boot, not even the root user.
Thank you. I had a few hiccups along the way. The first being that I have filevault enabled. Rather than disable, like someone did above, I just mounted my volume in terminal using this tip: https://superuser.com/questions/834993/unlocking-filevault-encrypted-drive-from-terminal-to-allow-pasting-password.
For good measure, I also disabled SIP first (csrutil disable) [and remember to re-enable after all done with the instructions (csrutil enable)].
I then had a strange issue where I had to type out the full paths to get to everything rather than using the D=. So mine looked like:
Volumes/Macbook\ Pro\ SSD/usr/bin/pico Volumes/Macbook\ Pro\ SSD/Library/Preferences/SystemConfiguration/com.apple.Boot.plist
That finally successfully let me in to pico and I was able to edit the file following your instructions.
Re-enable SIP (csrutil enable), restart, and all works great now.
Hello there! I followed the steps shown above it worked only once. when I reconnected the usb superdrive didnt recognized it. Any suggestions, thx. I am using Sierra 10.12.5