MacでHigh Sierra、Mac OS X 10.13をクリーンインストールしました。
いくつかのアプリ、いくつかのブラウザー、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.pkg\U201d.";
NSURL = "file://localhost/Volumes/VirtualBox/VirtualBox.pkg#VBoxKEXTs.pkg";
PKInstallPackageIdentifier = "org.virtualbox.pkg.vboxkexts";
}
私はこれをグーグルで調べ、さまざまな問題を解決するいくつかのスレッドをあちこちで見つけました。しかし、今のところ誰も私のために働いていません。
私が見つけた投稿のいくつか:
https://www.virtualbox.org/ticket/15832
macOS SierraへのVirtualbox 5.1.10のインストールエラー、「インストールに失敗しました」
https://Apple.stackexchange.com/questions/177868/virtualbox-4-3-26-on-osx-10-10-2-fails-to-install
VirtualBox 4.3.6のインストール中にkextをアンロードできません
これらのソリューションはどれも私にとってはうまくいきませんでした。
VMwareをインストールしておらず、削除する.match_kernelファイルを検索しようとしましたが、どこにも見つかりません。ディスクユーティリティでパーティションを選択するオプションがないため、ディスクのアクセス許可を修復できません。
異なるバージョンをインストールしてアンインストールし、その間にコールドブートして、それが役立つかどうかを確認しました。
助けてくれてありがとう!
この問題で何時間もハッキングした後、同僚と私は実行可能な解決策を見つけました。問題(少なくとも私にとって)は、パッケージをインストールしようとしたときにブロックされていたことでした。インストールを試みることでこれが事実かどうかを確認できます。「インストールに失敗しました」と表示されたら、セキュリティとプライバシー(システム環境設定)に移動し、「一般」タブに移動します。 Oracleアプリケーションがブロックされました。
**注:これを数回ダウンロードまたはインストールしようとした場合は、ダウンロードした.dmgファイルにあるvirtualboxアンインストールツールを使用して、まずvirtualboxをアンインストールする必要があります。また、デバイスからvirtualboxを取り出すこともできます(Finderの左パネル)。その後、次の指示に従ってください。
私はついにここからの提案でそれを解決することができました: 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 $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
Virtualboxをインストールしようとした後、このスクリプトを実行します。スクリプトが正常に実行されるまでkextの承認を続けます。
実行brew cask reinstall --force virtualbox
ソリューションについてはDan Strootに感謝します。
それを解決することができた。
以下からVirtualBoxイメージを取り出します:Finder>デバイス
VirtualBoxデバイスの削除次の例外を許可します。[システム環境設定]> [セキュリティとプライバシー]
その後、デバイスを再マウントするために、再度.dmgからインストールを試みます。今ではうまく機能しています。
だから..これについてかなり苦労した後、そしてスタックオーバーフローに多くの時間を費やした後..私はいくつかの答えを組み合わせて、私の10.13 osxにvirtualboxをインストールするようになりました。
だから:私が読んだように、Sierraにはいくつかの外部プログラムをブロックする新しいセキュリティ機能があります。 virtualboxのインストール中に、[設定]> [セキュリティとプライバシー]> [全般]を確認できます。 Oracle(virtualbox)がブロックされていることがわかります 。だから、私がやったことは:
ターミナルで次のコマンドを実行して、新しいシエラゲートキーパーを無効にします:Sudo spctl --master-disable
Virtualboxインストールプログラムを開き、unistallをクリックして、以前のインストール試行のトレースがないことを確認します。
(この後、Sudo spctl --master-enable
Lleneからの答えは私に最適です。重要なのは、すでにインストールしようとして成功しなかった場合、次の手順を正確に実行する必要があるということです。
優れたDisk Arbitrator
app、Deactivate it —アクティブの場合、すべてのマウントをブロックし、オプションでそれらを読み取り専用で再マウントします。たとえば、SpotlightがUSBドライブを破壊するのを防ぎますが、(d- uh)必要に応じてオフにすることを忘れないでください。
これまでの解決策:
わかりました、これは少し面倒ですが、私たちはそれを仕事のようなものにすることができました。
この問題は、システムが仮想ボックスのインストールからすべてのファイルを削除しないことに関連しています。
ターミナルを使用して、ファイル名にvirtualboxが含まれるファイルを検索すると、まだシステム内にある(浮浪者に関連しない)ファイルが見つかりました。
問題は、Sudoを使用してもこれらのファイルを削除できないことです。したがって、cmd + rを押してシステムを再起動し、通常のOS環境ではなく、トラブルシューティングシステムに移行する必要がありました。そこで、ターミナルを開いて「csrutil disable」を実行し、システムを再起動できます。
これにより、システムのシステム整合性保護がオフになるため、推奨されませんが、以前は削除できなかったこれらのファイルを削除するためにこれを行う必要がありました。
そのため、これらのファイルを削除した後、インストールを再度実行しましたが、動作しました!その後すぐに、私はvagrantを実行しようとしましたが、今では期待通りに機能しました。
私の最後の問題:vagrantが機能していることを確認した後、cmd + rを押してコンピューターを再起動し、ターミナルを開いて「csrutil enable」を実行し、再起動しました。
通常のOS Xに戻り、vagrantを実行してエラーを再度取得しようとします。そのため、csrutilを無効にするために再び戻る必要がありましたが、これはお勧めしませんが、この時点で唯一機能することです。
これらすべてのステップを再度実行しようとしたことはありません。
Homebrewを使用している場合は、「brew install caskroom/cask/virtualbox」を実行しますが、これは初めて失敗します。次に、上記のように[システム環境設定]> [セキュリティとプライバシー]> [全般]に移動します。下部には、ソフトウェアのインストールがブロックされているというメッセージが表示されます。このメッセージの横にある[許可]ボタンをクリックして、端末に戻ります。 homebrewコマンドを再度実行すると、今度は機能します。