Newen F
Newen F

Reputation: 253

VirtualBox install failed in a clean OSX 10.13

I did a clean install of High Sierra, Mac OS X 10.13 on my mac.

I've installed a few apps, some browsers, webStorm, vagrant, skype and slack.

When trying to install virtualBox I get an error message saying:

"The installation failed. The installer encountered an error that caused the installation to fail. Contact the software manufacturer for assistance."

When checking the installers log file I get the following error mesage:

Oct 19 16:22:42 newens-mbp installd[519]: PackageKit: Install Failed: Error Domain=PKInstallErrorDomain Code=112 "An error occurred while running scripts from the package “VirtualBox.pkg”." UserInfo={NSFilePath=./postflight, NSURL=file://localhost/Volumes/VirtualBox/VirtualBox.pkg#VBoxKEXTs.pkg, PKInstallPackageIdentifier=org.virtualbox.pkg.vboxkexts, NSLocalizedDescription=An error occurred while running scripts from the package “VirtualBox.pkg”.} {
    NSFilePath = "./postflight";
    NSLocalizedDescription = "An error occurred while running scripts from the package \U201cVirtualBox.pkg\U201d.";
    NSURL = "file://localhost/Volumes/VirtualBox/VirtualBox.pkg#VBoxKEXTs.pkg";
    PKInstallPackageIdentifier = "org.virtualbox.pkg.vboxkexts";
}

I've googled this, and found a few threads here and there that solve different problems. But so far none has worked for me.

Some of the posts I've found:

https://www.virtualbox.org/ticket/15832

Error installing Virtualbox 5.1.10 on macOS Sierra, "The installation failed"

https://apple.stackexchange.com/questions/177868/virtualbox-4-3-26-on-osx-10-10-2-fails-to-install

Can't unload kext while installing VirtualBox 4.3.6

None of these solutions worked for me.

I don't have vmware installed, and have tried searching for the .match_kernel file to delete, but can't find it anywhere. I don't have the option of selecting a partition on disk utilities so can't do a repair disk permissions on it.

I've installed and uninstalled different versions and cold booted in between to try to see if that would help.

Thanks for any help!

Upvotes: 24

Views: 7562

Answers (8)

Devon
Devon

Reputation: 1093

When running the excellent Disk Arbitrator app, Deactivate it — when active it blocks all mounts and optionally remounts them read-only which, e.g., prevents Spotlight from trashing USB drives but (d-uh) gotta remember to turn it off when appropriate.

Upvotes: 0

Susana Isabel Santos
Susana Isabel Santos

Reputation: 559

So.. after struggling a lot about this, and after spend a lot of time in stack overflow.. I combined some answers and finnaly get to install virtualbox in my 10.13 osx.

So: As I read, Sierra has a new security feature that blocks some external programs. During virtualbox installations you can check Preferences > Security & Privacy > General. You will see that Oracle (virtualbox) is being blocked. So, what I did was:

  1. Run this command at terminal to disable that new sierra gatekeeper: sudo spctl --master-disable

  2. Open the virtualbox install program, and click unistall to make sure there is no trace of the previous installation attempts.

  3. In the desktop, or in the finder left sidebar (in devices) if there is any virtualbox image, you have to eject them.
  4. Delete the previous virtualbox program and download a new one.
  5. Now, if these steps work for you as they worked for me, you will be able to install virtualbox.

(After this you can re-enable the gatekeeper feature running sudo spctl --master-enable

Upvotes: 0

Jason DeMorrow
Jason DeMorrow

Reputation: 699

For those using homebrew, run 'brew install caskroom/cask/virtualbox', which will fail the first time. Then go to System Preferences>Security & Privacy>General as described above, where, at the bottom, there should be a message about the software install being blocked. Click the 'Allow' button next to this message, then go back to your terminal. Run the homebrew command again and this time it will work.

Upvotes: 0

Neha
Neha

Reputation: 3640

Managed to solve it.

  • Eject the VirtualBox image from: Finder > Devices

  • Remove VirtualBox device Now allow the exception in: System Preferences > Security & Privacy

Then try to install from the .dmg again so that it remounts the device. Now its working fine for me.

Upvotes: 0

Ricardo
Ricardo

Reputation: 1

The answer from llene works perfect for me. The key is that, when you already tried to install and not succeed, you have to do exactly this steps:

  1. Run VirtualBox installer
  2. Run install from .pkg file, it will fail at the validation step, it's ok
  3. close installer and run it again, but now choose uninstaller.tool file, inside (DO NOT DELETE THE INSTALLER DEVICE yet)
  4. eject virtualbox from your devices (in the left panel of finder)
  5. After, go to System Preferences -> Security and Privacy -> General and approve the blocked software from ‘Oracle America’, that will appear there 6) Run install again from the same .pkg file. Now it should complete successfully

Upvotes: 0

Ilene
Ilene

Reputation: 484

after hours of hacking at this issue my coworker and i came to a workable solution. the issue (for me at least) was that when i went to install the package it was getting blocked. you can check to see if this is the case by attempting to install, and when it says 'install failed' go to your security & privacy (in system preferences) and go to the 'general' tab and near the bottom it will say that an oracle application was blocked.

here are the steps we came up with **NOTE: if you tried downloading or installing this a few times like i did you will want to first uninstall virtualbox using the virtualbox uninstall tool which you can find in the downloaded .dmg file. you will also want to eject virtualbox from your devices (in the left panel of finder). after that go ahead and follow these instructions:

  1. Download VirtualBox 5.2 installer
  2. Run the DMG, this creates a device
  3. Attempt to install from .pkg file, it will fail at the validation step
  4. Close installer and run the uninstaller.tool file. DO NOT DELETE THE INSTALLER DEVICE
  5. Go to System Preferences -> Security and Privacy -> General and approve the blocked software from ‘Oracle America’
  6. Run the install from the same .pkg file, it should now complete successfully

Upvotes: 31

Dries Vints
Dries Vints

Reputation: 639

I finally managed to solve it with a suggestion from here: https://github.com/caskroom/homebrew-cask/issues/39369#issuecomment-339118861

Run this script:

#!/bin/bash

unload() {
        if [ `ps -ef | grep -c VirtualBox$` -ne 0 ]
        then
                echo "VirtualBox still seems to be running. Please investigate!!"
                exit 1;
        elif [ `ps -ef | grep -c [V]ir` -gt 0 ]
        then
                echo "Stopping running processes before unloading Kernel Extensions"
                ps -ef | grep [V]ir | awk '{print $2}' | xargs kill
        fi
        echo "Unloading Kernel Extensions"
        kextstat | grep "org.virtualbox.kext.VBoxUSB" > /dev/null 2>&1 && sudo kextunload -b org.virtualbox.kext.VBoxUSB
        kextstat | grep "org.virtualbox.kext.VBoxNetFlt" > /dev/null 2>&1 && sudo kextunload -b org.virtualbox.kext.VBoxNetFlt
        kextstat | grep "org.virtualbox.kext.VBoxNetAdp" > /dev/null 2>&1 && sudo kextunload -b org.virtualbox.kext.VBoxNetAdp
        kextstat | grep "org.virtualbox.kext.VBoxDrv" > /dev/null 2>&1 && sudo kextunload -b org.virtualbox.kext.VBoxDrv
}

load() {
        echo "Loading Kernel Extentions"
        sudo kextload "/Library/Application Support/VirtualBox/VBoxDrv.kext" -r "/Library/Application Support/VirtualBox/"
        sudo kextload "/Library/Application Support/VirtualBox/VBoxNetAdp.kext" -r "/Library/Application Support/VirtualBox/"
        sudo kextload "/Library/Application Support/VirtualBox/VBoxNetFlt.kext" -r "/Library/Application Support/VirtualBox/"
        sudo kextload "/Library/Application Support/VirtualBox/VBoxUSB.kext" -r "/Library/Application Support/VirtualBox/"
}

case "$1" in
        unload|remove)
                unload
                ;;
        load)
                load
                ;;
        *|reload)
                unload
                load
                ;;
esac

Run this script after you attempt to install virtualbox. Keep approving the kexts until the script runs cleanly:

enter image description here

Run brew cask reinstall --force virtualbox

Kudos to Dan Stroot for the solution.

Upvotes: 2

Newen F
Newen F

Reputation: 253

Solution so far:

Ok, this is a bit of a hassle but we did manage to make it kind of work.

The issue is related to the system not deleting all files from the virtual box installation.

Using the terminal to search for files with virtualbox in the name of the file, we found (non vagrant related) files that were still in the system.

Problem is these files cannot be deleted even using sudo. So we had to reboot the system pressing cmd + r so you go into a troubleshooting system and not the normal OS environment. In there, you can open the terminal and run "csrutil disable", then reboot the system.

This turns off System Integrity Protection for your system so it is NOT RECOMMENDED, but we had to do this in order to delete these files that we couldn't delete before.

So after deleting these files, we ran the install again and now it worked! Immediately afterwards I tried running vagrant and now it worked as expected.

My final problem now: after making sure that vagrant is working, I went back to starting the computer again pressing cmd + r, open the terminal and run "csrutil enable" and reboot.

Back in the normal OS X I try to run vagrant and get an error again. So at the moment I had to go back again, to disable the csrutil, which is NOT RECOMMENDED, but it's as of this moment the only thing that works for me.

I have not tried running all these steps again.

Upvotes: 0

Related Questions