New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VirtualBox installation fails on macOS High Sierra 10.13 #417

Closed
lmakarov opened this Issue Dec 7, 2017 · 44 comments

Comments

Projects
None yet
@lmakarov
Copy link
Member

lmakarov commented Dec 7, 2017

macOS High Sierra 10.13 introduces a new feature that requires user approval before loading newly-installed third-party kernel extensions (KEXTs). When a request is made to load a KEXT that the user has not yet approved, the load request is denied. Apps or installers that treat a KEXT load failure as a hard error will need to be changed to handle this new case.

Approval is automatically granted to third-party KEXTs that were already present when upgrading to macOS High Sierra.

This issue affects anyone installing VirtualBox for the first time on a fresh macOS High Sierra 10.13.
This effectively breaks our fully automated installation process on macOS, since the user now has to perform a manual approval and then restart the installation (reboot and rerun the installation in some cases)

macos 10 13 2017-12-07 08-23-16

References:

This video covers the manual steps necessary to install VirtualBox successfully.

@gyucheonheo

This comment has been minimized.

Copy link

gyucheonheo commented Jan 9, 2018

Thanks!! You saved me :)

@lmakarov

This comment has been minimized.

Copy link
Member

lmakarov commented Jan 12, 2018

We should update installation/troubleshooting docs and reference this issue.

@andrewpurvis

This comment has been minimized.

Copy link

andrewpurvis commented Jan 23, 2018

Found this during a search for something else. Probably not viable to most, but before you install Virtual Box, if the Mac is enrolled in an MDM (any). It disables the need for user authorisation in the preference panel.
After enrolling, you can push install VB and it installs fine. Just fyi. (I've tested).

@achekulaev

This comment has been minimized.

Copy link
Member

achekulaev commented Jan 24, 2018

@andrewpurvis could you elaborate on what "enrolled in an MDM" means?

@andrewpurvis

This comment has been minimized.

Copy link

andrewpurvis commented Jan 24, 2018

MDM = Mobile device management. (such as JAMF, or MS Intune) Which is why I said it wasn't viable for most. Just thought I would leave it here in case anyone was trying multiple deployments.

@lmakarov lmakarov closed this in b3176be Feb 16, 2018

@achekulaev

This comment has been minimized.

Copy link
Member

achekulaev commented Feb 17, 2018

@lmakarov literally everyone who installs with VirtualBox will meet this issue. I think we need to update installation docs for macOS to say 1. Install VirtualBox and enable extension (screenshot) 2. curl...

@lmakarov

This comment has been minimized.

Copy link
Member

lmakarov commented Feb 18, 2018

literally everyone who installs with VirtualBox will meet this issue

Only those installing VirtualBox for the first time. There is a big warning box in the installation instructions for macOS users (http://take.ms/7puBW) with links to how to solve the issue (including a screencast of the process). Should be enough IMO and does not clutter the installation instructions.

@achekulaev

This comment has been minimized.

Copy link
Member

achekulaev commented Feb 19, 2018

@lmakarov do you have any arguments against having a documentation item to install VirtualBox and enable extension first or you just do feel like doing it?

@Ghast505

This comment has been minimized.

Copy link

Ghast505 commented Feb 27, 2018

Thank you SO much! I wasn't able to find this anywhere for the longest time!

@josejayesh

This comment has been minimized.

Copy link

josejayesh commented Mar 8, 2018

Thanks you !!!

@lmakarov lmakarov referenced this issue Mar 15, 2018

Merged

Release 1.7.0 #475

@YesThat

This comment has been minimized.

Copy link

YesThat commented Apr 3, 2018

Actually, it isn't just for the first time. I've had VirtualBox installed for quite a while.. It took a lot of steps to get to this Issue, but the short of it is this:
I had VirtualBox installed.
I upgraded to 10.13.4
I ran vagrant up on a new VM. It failed to launch.
I attempted to reinstall vagrant. I attempted to install an update for VirtualBox (which kept failing to install properly.)
I found this issue. I reinstalled the update, accepted the security exception, and now the rest is good.

TL;DR: This impacts existing installations as well.

@jen729w

This comment has been minimized.

Copy link

jen729w commented Apr 5, 2018

Should be enough IMO and does not clutter the installation instructions.

Sadly not - and I'm a reasonably careful reader-of-the-doco. But today I'm in a rush, it's the usual installer program, I just click next. Google led me here.

You need to update the process, I'm afraid.

@YesThat

This comment has been minimized.

Copy link

YesThat commented Apr 5, 2018

To add on - I understand that this cannot be automated, but it should be highlighted in the installation process. There should be a prompt to tell the user to go approve the exception. While some of us do read the docs, many do not. This is a necessary part of the installation, I'm uncertain why you'd expect the average user to not attempt the installation without scanning the docs for gotchas.

@achekulaev achekulaev assigned achekulaev and unassigned lmakarov Apr 5, 2018

@achekulaev achekulaev reopened this Apr 5, 2018

@achekulaev achekulaev modified the milestones: 1.7, 1.8 Apr 5, 2018

@achekulaev

This comment has been minimized.

Copy link
Member

achekulaev commented Apr 5, 2018

Re-opened to consider updating documentation / process.

@achekulaev

This comment has been minimized.

Copy link
Member

achekulaev commented Apr 6, 2018

Docs updated in 68a1cc1

Leaving open for possible automation to wait for kernel extension allowance

@achekulaev achekulaev removed this from the 1.8 milestone Apr 6, 2018

@lmakarov lmakarov added this to To do in Docksal 1.10.0 via automation May 31, 2018

@bchertel

This comment has been minimized.

Copy link

bchertel commented Jun 2, 2018

Clicking Allow in System Preferences after the initial install failing did not allow it and the button persisted even after several clicks. Had to reboot, use system settings authenticate before the Allow would register, and install succeeded.

@achekulaev

This comment has been minimized.

Copy link
Member

achekulaev commented Jun 13, 2018

All the leftover activities are moved into #610

@achekulaev achekulaev closed this Jun 13, 2018

Docksal 1.10.0 automation moved this from To do to Done Jun 13, 2018

@achekulaev achekulaev removed this from Done in Docksal 1.10.0 Jun 13, 2018

@graeme-winter

This comment has been minimized.

Copy link

graeme-winter commented Jun 20, 2018

@lmakarov thank you for original post 👍

@daniel-toman

This comment has been minimized.

Copy link

daniel-toman commented Jun 25, 2018

I resorted to disabling System Integrity Protection to get past this installation failure, but I later figured out what was causing my VirtualBox installation to repeatedly fail. TL;DR — remote access or ANY 3rd party mouse or keyboard software may trigger High Sierra to ignore your mouse click on the "Allow" button.

The VirtualBox installation may repeatedly fail if clicking the "Allow" button in System Preferences appears to have no effect. High Sierra seems very paranoid about only accepting mouse clicks from the local computer and will reject mouse clicks over VNC / Remote Desktop, and ALSO for locally attached mice/keyboards if any 3rd party mouse/keyboard/touchpad software is installed. In my case I believe the small keyboard app "High Sierra Media Keys" (which has no mouse-related functionality) was causing OS X High Sierra to ignore my mouse clicks on the "Allow" button. So the VirtualBox kext was never allowed and repeated installation attempts would never report success, even after rebooting. VirtualBox appeared to be installed but would fail when trying to boot a virtual machine, saying the kext was not loaded.

I was able to install VirtualBox after disabling SIP (restart from Recovery partition and run csrutil disable at the Terminal) and it remained functional after re-enabling SIP. However subsequently experiencing the same unresponsive "Allow" button when trying to install a different kext made me realize this issue was not limited to VirtualBox. Following dansanduleac's advice in this thread I was able to finally click the "Allow" button using the keyboard. Other people have had success triggering the button click with AppleScript, but that did not work for me.

If you can't get the "Allow" button to register, you probably have some mouse/keyboard software that is causing High Sierra to ignore your click!

@andrewpurvis

This comment has been minimized.

Copy link

andrewpurvis commented Jun 25, 2018

High Sierra seems very paranoid about only accepting mouse clicks from the local computer and will reject mouse clicks over VNC / Remote Desktop, and ALSO for locally attached mice/keyboards if any 3rd party mouse/keyboard/touchpad software is installed.

That's by design. Apple enabled only local mouse clicks for High Sierra inside 10.13.4 which blocks out clicking via any remote interface. So the user in front of the machine has to accept what is happening. It's annoying as crap, but I guess it's their way of stopping malware, etc..

Edit: I've also noticed that the remote block trigger sometimes gets prompted if you have some form of wacom driver installed, as I tried clicking with a wacom pen one day and it wouldn't. Switched to the mouse attached, and it went straight through.. So clearly Apple still have issues with this function.

@tristiandodd

This comment has been minimized.

Copy link

tristiandodd commented Jun 27, 2018

What if the allow doesn't pop up? I was upgrading to the latest virtual box and i'm still encountering a failure to install.

@lmakarov

This comment has been minimized.

Copy link
Member

lmakarov commented Jun 27, 2018

@tristiandodd it does not pop up on Mac. You have to manually go to System Preferences > Security & Privacy - General tab and click Allow there (as in the screenshot in this issue's description)

@tristiandodd

This comment has been minimized.

Copy link

tristiandodd commented Jun 27, 2018

I’m saying the allow button doesn’t show at all, maybe because it recognizes it from when i installed it before. I was upgrading to the latest, not installing for the first time.

@NieColon

This comment has been minimized.

Copy link

NieColon commented Jul 2, 2018

Same, I have no clue how to fix it. I really need to run paint.net on my mac but I can't figure out anything.

@PierBover

This comment has been minimized.

Copy link

PierBover commented Jul 4, 2018

That's by design. Apple enabled only local mouse clicks for High Sierra inside 10.13.4 which blocks out clicking via any remote interface. So the user in front of the machine has to accept what is happening. It's annoying as crap, but I guess it's their way of stopping malware, etc..

It's even worse.

I'm physically in this machine and I can't click the "allow" button.

allow

More info here:

https://discussions.apple.com/thread/8087342

@achekulaev

This comment has been minimized.

Copy link
Member

achekulaev commented Jul 5, 2018

"Have you tried turning off and on again?" (c) IT Crowd

@skhilko

This comment has been minimized.

Copy link

skhilko commented Jul 6, 2018

For those who are still struggling, I was able to press the button by enabling Mouse Keys in accessibility settings.

  1. Use the track pad to hover over the button. (For some reason mouse movement doesn't work for me.)
  2. Click the button using the "I" key on the keyboard.
  3. Great success.
@mattjshannon

This comment has been minimized.

Copy link

mattjshannon commented Jul 13, 2018

@skhilko thanks for this, it did the trick! Never had to use Mouse Keys before but at least it worked.

@kennymc-c

This comment has been minimized.

Copy link

kennymc-c commented Jul 15, 2018

I had the same problem as PierBover but the solution from skhilko didn't work for me. So I remembered another similar method I used when I tried to install a blocked safari extension:

  1. Open System Preferences/Keyboard/Shortcuts
  2. Activate "all controls" at the bottom
  3. Now go back to Security/General and press tab until the allow button is highlighted (maybe you have to unlock all settings first)
  4. Press Space to simulate a mouse click
  5. The allow button now should have disappeared
  6. Run brew cask reinstall virtualbox --force in Terminal or run the installation again
@st85

This comment has been minimized.

Copy link

st85 commented Jul 17, 2018

@kennymc-c, you're a life saver!

@chicken-mcnuggies

This comment has been minimized.

Copy link

chicken-mcnuggies commented Jul 20, 2018

  1. Boot into recovery using command+R
  2. Open terminal when in recovery
  3. Run csrutil disable; reboot
  4. Install VirtualBox again

This drove me nuts for hours today. I tried to install, I was prompted in Security and Privacy to allow Oracle. I allowed it to install the KEXTS, but to no avail I couldn't get it running using any known method. So I thought this really might be a VirtualBox issue, and ended up buying Parallels Desktop for Mac. That didn't work to my surprise, and contacted their support team. They told me to run that command at recovery and it worked for both Parallels and the VirtualBox installation. I cannot comment on what this implies as far as the security vulnerabilities you may be introducing to your machine, but it gets the job done.

@tristiandodd

This comment has been minimized.

Copy link

tristiandodd commented Jul 20, 2018

@ColinLaws Dude, you're a lifesaver! I've been fighting with this for weeks man! Thanks!

@daniel-toman

This comment has been minimized.

Copy link

daniel-toman commented Jul 20, 2018

if you install VirtualBox by disabling System Integrity Protection rather than the (preferable) mouse keys method, then after installation re-enable SIP by booting into recovery mode again and running csrutil enable. VirtualBox will continue to work fine and your system will be protected again.

@chicken-mcnuggies

This comment has been minimized.

Copy link

chicken-mcnuggies commented Jul 23, 2018

@daniel-toman Thanks for that, I had no idea what csrutil was doing, but I assumed that it likely was disabling some form of system protection. Thanks for the clarification.

@Gennnji

This comment has been minimized.

Copy link

Gennnji commented Jul 26, 2018

For me the solution was going to that button with Tabs and pressing Space! Omg...!

@srwiser

This comment has been minimized.

Copy link

srwiser commented Jul 27, 2018

Well nothing much to be done as mentioned above. Just copy-paste the virtualbox.pkg file to your mac directory. Then run it.

@rsimbu89

This comment has been minimized.

Copy link

rsimbu89 commented Aug 27, 2018

I could not see the Anywhere ,Mac OS version 10.13.6 (17G65)
screen shot 2018-08-27 at 3 30 14 pm

@arielfr

This comment has been minimized.

Copy link

arielfr commented Aug 27, 2018

Same problem as @rsimbu89

@achekulaev

This comment has been minimized.

Copy link
Member

achekulaev commented Aug 28, 2018

@arielfr @rsimbu89 please stop posting updates that do not solve the issue to this ticket. This repo does not control VirtualBox. We can not do anything to make it work. Please contact VirtualBox developers on the issues installing VirtualBox. Thanks.

@aditya730

This comment has been minimized.

Copy link

aditya730 commented Sep 28, 2018

on macOS High Sierra 10.13.4 i was able to install Virtualbox after csrutil disable and succesfully create a VM through vagrant but the problem with loading kexts comes up again after enabling csrutil and thus can't create a VM consequently.Any solutions ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment