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

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

Я установил несколько приложений, некоторые браузеры, webStorm, бродягу, скайп и слабину.

При попытке установить 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.pkg\U201d.";
    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/info/177868/virtualbox-4-3-26-on-osx-10-10-2-fails-to-install

Невозможно выгрузить kext при установке VirtualBox 4.3.6

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

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

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

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

Ответы

Ответ 1

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

вот шаги, которые мы придумали ** ПРИМЕЧАНИЕ: если вы попытались загрузить или установить это несколько раз, как я, вы должны сначала удалить виртуальный бокс, используя инструмент удаления виртуальных боксов, который вы можете найти в загруженном файле .dmg, вы также захотите извлечь виртуальный бокс с ваших устройств (в левой панели искателя). после этого выполните следующие действия:

  • Загрузите установщик VirtualBox 5.2
  • Запустите DMG, это создаст устройство
  • Попытайтесь установить из файла .pkg, он не пройдет на шаге проверки
  • Закройте программу установки и запустите файл uninstaller.tool. НЕ УДАЛЯЙТЕ УСТРОЙСТВО УСТАНОВЩИКА.
  • Перейдите в Системные настройки → Безопасность и конфиденциальность → Общие и одобрите заблокированное программное обеспечение из "Oracle America"
  • Запустите установку из того же .pkg файла, она должна завершиться успешно

Ответ 2

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

Запустите этот 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

Запустите этот script после попытки установки виртуального бокса. Продолжайте утверждать kexts до тех пор, пока script не будет выполняться чисто:

введите описание изображения здесь

Выполнить brew cask reinstall --force virtualbox

Престижность Дэн Строут для решения.

Ответ 3

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

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

  • Запустите эту команду на терминале, чтобы отключить этот новый гейткипер sierra: sudo spctl --master отключения из-за
  • Откройте программу установки виртуального бокса и нажмите unistall, чтобы убедиться, что нет следов предыдущих попыток установки.
  • На рабочем столе или в левой боковой панели искателя (в устройствах), если есть изображение виртуальной машины, вы должны извлечь их.
  • Удалить предыдущую программу и загрузить новую.
  • Теперь, если эти шаги будут работать для вас, поскольку они работают для меня, вы сможете установить виртуальный бокс.

(После этого вы можете снова включить функцию гейткипера, запущенную "sudo spctl --master-enable" )

Ответ 4

Решение:

Хорошо, это немного хлопот, но нам удалось сделать такую ​​работу.

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

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

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

Это отключает защиту целостности системы для вашей системы, поэтому она НЕ РЕКОМЕНДУЕТСЯ, но мы должны были сделать это, чтобы удалить эти файлы, которые мы ранее не могли удалить.

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

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

Вернувшись в обычную ОС X, я пытаюсь запустить бродягу и снова получить ошибку. Поэтому в тот момент мне пришлось вернуться назад, чтобы отключить csrutil, который НЕ РЕКОМЕНДУЕТ, но на данный момент это единственное, что работает для меня.

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