12

I am using a Mid 2012 MacBook and recently upgraded it to OS X 10.11 El Capitan. I was having trouble with it's new SIP feature and wanted to disable it.

I tried to boot into OS X Internet Recovery using Cmd+R, which started Internet Recovery. When I tried csrutil disable in Terminal, it returned -bash: csrutil: command not found. Then I tried booting into Recovery HD and tried the same command in the recovery mode there to get the same error.

My question is how can I access csrutil command to disable SIP? Am I missing something?

Update I am putting the recovery terminal commands I have tried in the following screenshot. Kindly zoom it to see clearly

Terminal commands

  • how about /usr/bin/csrutil disable or /Volumes/your-OSX-10.11-disk/bin/csrutil disable? – enzo Oct 30 '15 at 11:05
  • 1
  • @patrix I have a recovery partition locally and tried to boot into that too, along with internet recovery. – noob Oct 30 '15 at 11:12
  • @maetsoh Nope still the same error. There isn't any csrutil file in both location. – noob Oct 30 '15 at 18:27
7

The netboot image loaded by booting to Internet Recovery Mode apparently doesn't contain the executable csrutil.

The OS X Base System loaded while booting to Recovery Mode should contain it though. By pressing cmdR a 2-step procedure is initiated: First the Mac is booted to Recovery HD and then after expanding BaseSystem.dmg to "OS X Base System" (which is the name of the mounted BaseSystem.dmg). If you see an animated globe after pressing cmdR your Mac probably doesn't have a Recovery HD.

Check the system version (or product version) of the Recovery HD/Base System:

To check the system version (1 in the screenshot below), boot to your main volume and enter the following in Terminal:

diskutil list #to get the disk identifier of your Recovery HD; usually it's disk0s3 with a size of ~650 MB
diskutil mount disk0s3
cat /Volumes/Recovery\ HD/com.apple.recovery.boot/SystemVersion.plist | grep -A 2 ProductVersion

Additionally you may mount BaseSystem.dmg and check the system version (2 in the screenshot below) there also:

open /Volumes/Recovery\ HD/com.apple.recovery.boot/BaseSystem.dmg
cat /Volumes/OS\ X\ Base\ System/System/Library/CoreServices/SystemVersion.plist | grep -A 2 ProductVersion

enter image description here

Download and reinstall the latest OS X El Capitan full installer if the system version of the base system is 10.10.x or lower.

  • I have tried these commands, but these also didn't work. Kindly check the updated question. – noob Nov 1 '15 at 19:49
  • @noob As stated in my answer "...enter the following in Terminal booted to your main volume..." you have to boot to your main volume and then execute the commands. – klanomath Nov 1 '15 at 19:54
  • Oh OK! I couldn't run the commands on the terminal, so I directly checked the SystemVersion.plist directly from finder. It's reporting ProductVersion as 10.10.3. So the recovery OS is older. How can I update it too? – noob Nov 1 '15 at 19:59
  • @noob Simply reinstall OS X El Capitan 10.11.1 after downloading it from the app store booted to your main volume. None of your documents or settings will be overwritten or use the tool in this answer – klanomath Nov 1 '15 at 20:02
2

Late to the party but had the same problem. Solved it by, at startup, hold down the option key, ⌥, until you can choose what to boot from and then click on the recovery one, should be Recovery-"version". Then you can follow the same steps as earlier stated - open terminal and write csrutil disable/enable.

  • Does not work!! – Iman Sep 11 '16 at 22:24
  • Yep, that solved it in my case, where I had multiple systems on several partitions and drives installled. – Thomas Tempelmann Apr 4 '17 at 17:14
0

For me it helped to do a PRAM Reset, I had rEFInd installed for dual boot. The PRAM Reset also skipped my rEFInd boot routine, but finally I could get back into normal recovery mode and not only into internet recovery.

-1

When booted into recovery mode, if the following: sudo csrutil disable returns "command not found" try /usr/bin/csrutil disable instead

  • /usr/bin is always part of the PATH in the recovery environment. – pmdj Jun 9 at 9:16
  • If "command not found" is returned, then it follows that /usr/bin was NOT part of the path. – Bikeboy Jun 10 at 12:12
  • No, it follows that csrutil is not available in the asker’s version of the macOS recovery environment, which is true for the OS X 10.10 recovery environment and older. I had this issue when trying to disable SIP on a MacBook Pro Early 2013 and it turned out it was booting into an OSX 10.8 recovery environment. Solution was to boot from a macOS 10.14 USB installer medium. – pmdj Jun 10 at 12:15
  • When I encountered the "command not found" message when trying to access csrutil in recovery mode, as the originator of this question did, I simply changed the command to /usr/bin/csrutil disable and it worked perfectly. It worked for me, and apparently others as well. It's simple, easy, and does no harm to try. So before downvoting an answer, ask yourself: Is my environment the same as everyone else's? When you answer no, as any rational person would, you will have to acknowledge that my solution may work for some, and downvoting is both irrational and irresponsible to the community. – Bikeboy Jun 11 at 13:55

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .