Ошибка установки VirtualBox в чистой OSX 10.13

Я сделал чистую установку High Sierra, Mac OS X 10.13 на моем mac.

Я установил несколько приложений, некоторые браузеры, webStorm, vagrant, skype и slack.

при попытке установить virtualBox я получаю сообщение об ошибке:

" ошибка установки. Установщик обнаружил ошибку, вызвавшую сбой установки. Обратитесь за помощью к производителю программного обеспечения."

при проверке файла журнала установщиков я получаю следующее сообщение об ошибке:

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.pkgU201d.";
    NSURL = "file://localhost/Volumes/VirtualBox/VirtualBox.pkg#VBoxKEXTs.pkg";
    PKInstallPackageIdentifier = "org.virtualbox.pkg.vboxkexts";
}

Я тут погуглил, и нашел несколько потоков здесь и там, которые решают разные проблемы. Но пока у меня ничего не вышло.

некоторые из сообщений, которые я нашел:

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

ошибка установки Virtualbox 5.1.10 на macOS Sierra, " установка не"

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

не удается выгрузить kext при установке VirtualBox 4.3.6

ни одно из этих решений работал для меня.

У меня нет установленной vmware ,и я попытался найти.match_kernel файл для удаления, но не может найти его нигде. У меня нет возможности выбрать раздел на диске утилиты так не могут сделать разрешения на ремонт диска на нем.

Я установил и удалил разные версии и холодную загрузку между ними, чтобы попытаться увидеть, поможет ли это.

Спасибо за любую помощь!

8 ответов


после нескольких часов взлома этой проблемы мой коллега и я пришли к работоспособному решению. проблема (для меня, по крайней мере) заключалась в том, что когда я пошел устанавливать пакет, он блокировался. вы можете проверить, если это так, пытаясь установить, и когда он говорит "установить не удалось" перейдите к вашей безопасности и конфиденциальности (в Системных настройках) и перейдите на вкладку "Общие" и в нижней части он скажет, что приложение oracle был заблокирован.

вот шаги, которые мы придумали ** Примечание: Если вы пытались загрузить или установить это несколько раз, как я сделал, вы хотите сначала удалить virtualbox с помощью virtualbox uninstall tool, который вы можете найти в загруженном .dmg файл. вы также захотите извлечь virtualbox из своих устройств (на левой панели finder). после этого идите вперед и следуйте этим инструкциям:

  1. скачать VirtualBox 5.2 installer
  2. запустите DMG, это создаст устройство
  3. попытка установки из .пакет файл, он потерпит неудачу на шаге проверки
  4. закройте установщик и запустите деинсталлятор.файл инструментов. НЕ УДАЛЯЙТЕ УСТРОЙСТВО УСТАНОВКИ
  5. перейдите в Системные настройки - > безопасность и конфиденциальность - > общие и одобрите заблокированное программное обеспечение от "Oracle America"
  6. запустите установку с того же самого .pkg файл, теперь он должен успешно завершить

мне, наконец, удалось решить его с предложением отсюда: https://github.com/caskroom/homebrew-cask/issues/39369#issuecomment-339118861

запустить этот скрипт:

#!/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 }' | 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 "" in
        unload|remove)
                unload
                ;;
        load)
                load
                ;;
        *|reload)
                unload
                load
                ;;
esac

запустите этот скрипт после попытки установки virtualbox. Продолжайте утверждать kexts, пока скрипт не будет работать чисто:

enter image description here

Run brew cask reinstall --force virtualbox

спасибо Дэн Stroot для решения.


решение до сих пор:

хорошо, это немного хлопот, но нам удалось сделать это вроде работы.

проблема связана с системой, не удаляющей все файлы из установки виртуального окна.

используя терминал для поиска файлов с virtualbox в имени файла, мы нашли (не связанные с vagrant) файлы, которые все еще были в системе.

проблема в том, что эти файлы не могут быть удалены даже с помощью sudo. Поэтому нам пришлось перезагрузить систему нажав cmd + r, вы попадаете в систему устранения неполадок, а не в обычную среду ОС. Там вы можете открыть терминал и запустить "csrutil disable", а затем перезагрузить систему.

Это отключает защиту целостности системы для вашей системы, поэтому не рекомендуется, но мы должны были сделать это, чтобы удалить эти файлы, которые мы не могли удалить раньше.

поэтому после удаления этих файлов мы снова запустили установку, и теперь она работала! Сразу после этого я попытался бежать. бродяга и теперь он работал, как и ожидалось.

моя последняя проблема сейчас: убедившись, что vagrant работает, я вернулся к запуску компьютера, снова нажав cmd + r, откройте терминал и запустите "csrutil enable" и перезагрузитесь.

обратно в обычную OS X я пытаюсь запустить vagrant и снова получить ошибку. Поэтому на данный момент мне пришлось снова вернуться, чтобы отключить csrutil, что не рекомендуется, но на данный момент это единственное, что работает для меня.

Я не пробовал выполнить все эти шаги снова.


ответ от llene работает идеально для меня. Ключ в том, что, когда вы уже пытались установить и не удалось, вы должны сделать именно эти шаги:

  1. запустите программу установки VirtualBox
  2. выполнить установки .файл pkg, он потерпит неудачу на шаге проверки, это нормально
  3. закройте установщик и запустите его снова, но теперь выберите uninstaller.файл инструмента, внутри (пока не удаляйте установочное устройство)
  4. извлеките virtualbox из ваших устройств (слева панель поиска)
  5. после этого перейдите в Системные настройки - > безопасность и конфиденциальность - > общие и одобрите заблокированное программное обеспечение от "Oracle America", которое появится там 6) запустите установку снова с того же самого .файл pkg. Теперь он должен успешно завершить

удалось решить.

  • извлеките изображение VirtualBox из: Finder > Devices

  • Удалить устройство VirtualBox Теперь разрешите исключение в: Системные настройки > безопасность и конфиденциальность

затем попробуйте установить от .dmg снова так, что он перемонтирует устройство. Теперь он отлично работает для меня.


для тех, кто использует homebrew, запустите "brew install caskroom/cask / virtualbox", который потерпит неудачу в первый раз. Затем перейдите в Системные настройки>безопасность и конфиденциальность>общие, как описано выше, где внизу должно быть сообщение о блокировке установки программного обеспечения. Нажмите кнопку "Разрешить" рядом с этим сообщением, затем вернитесь к терминалу. Запустите команду homebrew еще раз, и на этот раз она будет работать.


Так.. после борьбы много об этом, и после тратить много времени в переполнении стека.. Я объединил некоторые ответы и finnaly получить установить virtualbox в моем 10.13 osx.

Так: Как я читал, у Sierra есть новая функция безопасности, которая блокирует некоторые внешние программы. Во время установки virtualbox вы можете проверить настройки > безопасность и конфиденциальность > общие. Вы увидит, что Oracle (virtualbox) блокируется. Итак, что я сделал было:

  1. запустите эту команду на терминале, чтобы отключить этот новый Sierra gatekeeper:sudo spctl --master-disable

  2. Откройте программу установки virtualbox и нажмите удалить, чтобы убедиться, что нет никаких следов предыдущих попыток установки.

  3. на рабочем столе или в левой боковой панели finder (в устройствах) если есть изображение virtualbox, вы должны извлечь их.
  4. удалить предыдущие строки и скачать новый.
  5. теперь, если эти шаги работают для вас, как они работали для меня, вы сможете установить virtualbox.

(после этого вы можете повторно включить функцию gatekeeper работает sudo spctl --master-enable


при запуске excellent Disk Arbitrator app,отключить оно-когда активно оно преграждает все держатели и выборочно перемонтирует их только для чтения что, например, предотвращает Spotlight от разгрома USB-накопителей, но (d-uh) нужно не забыть выключить его, когда это уместно.