macOS: install Oracle VirtualBox on macOS 10.13

Apple continuously enhanced the security of recent macOS versions and with High Sierra 10.13 it introduced a new feature that requires user approval before loading newly-installed third-party kernel extensions (KEXTs)

There are lots of complaints from users not being able to install applications with KEXT, like Oracle VirtualBox. The mechanism is relatively complex, but basically each developer is required to get a developer ID from Apple, and users can approve that software signed by that developer is allowed to run.

Problem

Attempts to install software with third-party kernel exptensions fail during the final install phase, with a message like:

tn2459_blocked

Apple added a new setting in System Preferences > Security & Privacy to allow software to be installed:

tn2459_approval

Unfortunatelly, on High Sierra 10.13, this mechanism some times does not function as expected.

Solution

The internet is full of unusual suggestion how to solve this, but Apple already addressed this problem in Technical Note TN2459: User-Approved Kernel Extension Loading.

If the GUI mechanism does not work, the solution is to manually add the developer ID to the system.

For Oracle VirtualBox, the commands is:

$ spctl kext-consent add VB5E2TV963

The only complication is that this command is refused, even with sudo, from the usual environment, and needs to be executed in the Recovery OS.

To enter the Recovery OS mode, hold down Command-R or one of the other macOS Recovery key combinations on your keyboard immediately after pressing the power button to turn on your Mac. Ignore the suggestions to reinstall macOS; instead, go to the Utilities menu, enter the Terminal and enter the above command.

To check if the ID was added, use:

$ spctl kext-consent list
Allowed Team Identifiers:
VB5E2TV963

Once the ID is added, reboot in the usual environment, reinstall Oracle Virtualbox and proceed as usual.

How to get the developper ID?

For those curious where the developer ID came from, click the small lock in the upper right of the install window:

Screen Shot 2018-01-27 at 15.23.50

 

Advertisements

About Liviu Ionescu (ilg)
Hi! My name is Liviu Ionescu (ilg, ilegeul or eunete for colleagues and friends) and I’m a senior IT engineer. Or should I say a real programmer?

10 Responses to macOS: install Oracle VirtualBox on macOS 10.13

  1. hello Liviu,

    i am the user with above mentioned problem.
    today i tried the procedure which you are describing i your blog.
    but i am unsuccessful.

    here is what terminal say:

    -bash-3.2# spctl kext-consent add VB5E2TV963
    -bash: spctl: command not found
    -bash-3.2#

    am i doing something wrong_?

    thank you.

  2. That worked for me. Thanks Livlu. I was completely stuck even after uninstalling an reinstalling VirtualBox.

  3. Liviu Ionescu (ilg) says:

    I recently installed VB 6.x on a macOS 10.13.6 and the Allow button in the System Preferences was functional without having to resort to the Recovery mode. Apparently Apple fixed the system.

  4. Daniel Maftei says:

    Same issue encountered on macOS 10.14.15 Mojave and fixed by adding developer ID.Thanks for recommendation Liviu.Good job ! VB6.x it’s working now.

  5. ekiwok says:

    Mate. This just saved my life. All tips over the internet say that I have to make Allow button to magically show up in Security and Privacy but because I was updating VirtualBox it was almost impossible to do this. I spent hours trying to figure this out in the middle of the night because I need to spin some provider VMs for tomorrow training. It’s 2am and I can’t believe that this SIMPLE STRAIGHTFORWARD solution isn’t top answer on stack overflow with two billions of upvotes and this blog post isn’t the top result in google search.

    If you’re ever in Poland reach to me so I can buy you a beer… or more beers.

  6. PES78 says:

    You saved my life ! Everything else failed. Thank you.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: