L'installation de VirtualBox a échoué dans un OSX propre 10.13
j'ai fait une installation propre de High Sierra, Mac OS X 10.13 sur mon mac.
j'ai installé quelques applications, certains navigateurs, webStorm, vagabond, skype et mou.
lors de l'installation de virtualBox je reçois un message d'erreur disant:
" l'installation a échoué. L'installateur a rencontré une erreur qui a causé la défaillance de l'installation. Contactez le fabricant du logiciel pour obtenir une assistance."
lors de la vérification du les installateurs de fichier journal j'ai le mesage d'erreur:
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";
}
j'ai googlé ceci, et j'ai trouvé quelques fils ici et là qui résolvent différents problèmes. Mais jusqu'à présent, aucun n'a fonctionné pour moi.
Certains des posts que j'ai trouvé:
https://www.virtualbox.org/ticket/15832
erreur d'installation de Virtualbox 5.1.10 sur macOS Sierra, "l'installation a échoué"
https://apple.stackexchange.com/questions/177868/virtualbox-4-3-26-on-osx-10-10-2-fails-to-install
ne peut pas décharger kext lors de L'installation de VirtualBox 4.3.6
Aucune de ces solutions n'a fonctionné pour moi.
Je n'ai pas VMware installé, et j'ai essayé de chercher le .match_kernel fichier à supprimer, mais ne peut pas le trouver n'importe où. Je n'ai pas ont l'option de sélectionner une partition sur les utilitaires disque donc ne peut pas faire une permissions disque de réparation sur elle.
j'ai installé et désinstallé différentes versions et démarré à froid entre les deux pour essayer de voir si cela pourrait aider.
Merci pour votre aide!
8 réponses
après des heures de piratage à ce problème mon collègue et moi sommes venus à une solution réalisable. le problème (du moins pour moi) c'est que quand je suis allé à installer le paquet il était bloqué. vous pouvez vérifier pour voir si c'est le cas en essayant de l'installer, et quand il dit "installation échouée" allez à votre sécurité et la vie privée (dans les préférences du système) et allez à l'onglet "Général" et près du bas il dira qu'une application oracle a été bloquée.
voici les étapes que nous si vous avez essayé de télécharger ou d'installer ceci quelques fois comme je l'ai fait, vous voudrez d'abord désinstaller virtualbox en utilisant l'outil de désinstallation virtualbox que vous pouvez trouver dans le téléchargement .dossier dmg. vous souhaitez également éjecter virtualbox de vos appareils (dans le panneau gauche de finder). après cela, allez-y et suivez ces instructions:
- Download VirtualBox 5.2 installer
- exécuter le DMG, cela crée un dispositif
- Tentative d'installation .fichier pkg, il échouera à l'étape de validation
- Fermer l'installateur et exécuter le désinstalleur.fichier de l'outil. NE PAS SUPPRIMER LE DISPOSITIF D'INSTALLATION
- aller à Préférences Système - > Sécurité et vie privée - > général et approuver le logiciel BLOQUÉ de 'Oracle America’
- exécuter l'installation à partir du même .fichier pkg, il devrait maintenant être complété avec succès
j'ai finalement réussi à le résoudre avec une suggestion d'ici: https://github.com/caskroom/homebrew-cask/issues/39369#issuecomment-339118861
exécutez ce 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 }' | 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
exécutez ce script après avoir essayé d'installer virtualbox. Continuez à approuver les kexts jusqu'à ce que le script fonctionne correctement:
Run brew cask reinstall --force virtualbox
Bravo à Dan Stroot pour la solution.
Solution à ce jour:
Ok, c'est un peu compliqué, mais nous avons réussi à faire ce genre de travail.
le problème est lié au fait que le système ne supprime pas tous les fichiers de l'installation de la boîte virtuelle.
en utilisant le terminal pour rechercher des fichiers avec virtualbox dans le nom du fichier, nous avons trouvé des fichiers (non errants) qui étaient encore dans le système.
problème est que ces fichiers ne peuvent pas être supprimés même l'utilisation de sudo. Nous avons donc dû redémarrer le système en appuyant sur cmd + r pour entrer dans un système de dépannage et non dans l'environnement OS normal. Là-bas, vous pouvez ouvrir le terminal et exécuter "csrutil disable", puis redémarrer le système.
cela éteint la Protection de L'intégrité du système pour votre système il N'est donc pas recommandé, mais nous avons dû le faire afin de supprimer ces fichiers que nous ne pouvions pas supprimer avant.
donc après avoir supprimé ces fichiers, nous avons lancé l'installation encore et maintenant ça a marché! Tout de suite après j'ai essayé de courir vagrant et maintenant ça a fonctionné comme prévu.
mon dernier problème maintenant: après m'être assuré que vagrant fonctionne, je suis retourné redémarrer l'ordinateur en appuyant à nouveau sur cmd + r, ouvrir le terminal et lancer "csrutil enable" et redémarrer.
de retour dans L'OS X normal j'essaie de courir vagrant et d'obtenir une erreur à nouveau. Donc, au moment où j'ai dû revenir en arrière, pour désactiver le csrutil, ce qui N'est pas recommandé, mais à partir de maintenant, c'est la seule chose qui fonctionne pour moi.
Je n'ai pas essayé d'exécuter toutes ces étapes à nouveau.
la réponse de llene est parfaite pour moi. La clé est que, quand vous déjà essayé d'installer et de ne pas réussir, vous devez faire exactement cela suit:
- Exécuter VirtualBox installation", 151940920"
- Exécuter l'installation .fichier pkg, il va échouer à l'étape de validation, il est ok
- fermer l'installateur et l'exécuter à nouveau, mais maintenant choisir désinstaller.tool file, à l'intérieur (ne pas supprimer le périphérique D'installation encore)
- éjecter virtualbox de vos appareils (dans le panneau gauche de finder)
- après, allez à Préférences Système - > Sécurité et confidentialité - > général et approuver le logiciel BLOQUÉ de ' Oracle America’, qui apparaîtra là 6) exécuter l'installation de nouveau à partir du même .fichier pkg. Maintenant, il devrait compléter avec succès
a Réussi à le résoudre.
-
éjecter L'image VirtualBox de: Finder > Devices
-
supprimer le périphérique VirtualBox Maintenant, permettez l'exception dans: Préférences de Système > Sécurité et vie privée
alors essayer d'installer à partir de la .dmg à nouveau de sorte qu'il remount l'appareil. Maintenant sa fonctionne très bien pour moi.
pour ceux qui utilisent homebrew, exécutez 'brew install caskroom/cask / virtualbox', qui échouera la première fois. Ensuite, allez à Préférences Système>Sécurité et confidentialité>Généralités comme décrit ci-dessus, où, au bas, il devrait y avoir un message sur l'installation du logiciel étant bloqué. Cliquez sur le bouton "Autoriser" à côté de ce message, puis retournez à votre terminal. Exécutez la commande homebrew à nouveau et cette fois, ça va marcher.
So.. après avoir lutté beaucoup à ce sujet, et après avoir passer beaucoup de temps dans le débordement de la pile.. J'ai combiné quelques réponses et finalement j'installe virtualbox dans mon osx 10.13.
So: Comme je l'ai lu, Sierra a une nouvelle fonctionnalité de sécurité qui bloque certains programmes externes. Pendant les installations virtualbox, vous pouvez vérifier les préférences > Sécurité et confidentialité > Généralités. Vous verrez que Oracle (virtualbox) est bloqué . Donc, ce que j'ai fait:
-
exécuter cette commande à terminal pour désactiver ce nouveau sierra gatekeeper:
sudo spctl --master-disable
-
ouvrez le programme d'installation de virtualbox et cliquez sur unistall pour vous assurer qu'il n'y a aucune trace des tentatives d'installation précédentes .
- sur le bureau, ou dans la barre latérale gauche du finder (dans les périphériques) s'il y a une image virtualbox, vous devez les éjecter .
- Supprimer l'ancienne virtualbox programme et télécharger un nouveau .
- maintenant, si ces étapes fonctionnent pour vous comme elles ont fonctionné pour moi, vous pourrez installer virtualbox.
(après cela, vous pouvez réactiver la fonctionnalité gatekeeper en lançant sudo spctl --master-enable
lors de l'exécution de l'excellente Disk Arbitrator
app, désactiver it-quand actif il bloque tous les supports et peut éventuellement les remounts en lecture seule
qui, par exemple, empêche Spotlight de détruire les clés USB mais (d-uh)
je dois l'éteindre quand c'est approprié.