2017-10-19 45 views
19

Tôi đã cài đặt sạch Sierra High, Mac OS X 10.13 trên máy Mac của mình.Cài đặt VirtualBox không thành công trong OSX 10.13

Tôi đã cài đặt một vài ứng dụng, một số trình duyệt, webStorm, lang thang, skype và chùng.

Khi cố gắng để cài đặt VirtualBox tôi nhận được một thông báo lỗi nói:

". Quá trình cài đặt thất bại Trình cài đặt gặp một lỗi mà gây ra quá trình cài đặt thất bại Hãy liên lạc với nhà sản xuất phần mềm để được giúp đỡ."

Khi kiểm tra những phần cài đặt đăng nhập tập tin tôi nhận được mesage lỗi sau:

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"; 
} 

Tôi đã googled này, và tìm thấy một vài bài ở đây và ở đó mà giải quyết vấn đề khác nhau. Nhưng cho đến nay không ai làm việc cho tôi.

Một số bài viết tôi đã tìm thấy:

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

Không ai trong số các giải pháp này làm việc cho tôi.

Tôi chưa cài đặt vmware và đã thử tìm tệp .match_kernel để xóa nhưng không thể tìm thấy ở bất cứ đâu. Tôi không có tùy chọn để chọn một phân vùng trên các tiện ích đĩa vì vậy không thể làm một điều khoản đĩa sửa chữa trên đó.

Tôi đã cài đặt và gỡ cài đặt các phiên bản khác nhau và khởi động nguội ở giữa để tìm hiểu xem điều đó có hữu ích hay không.

Cảm ơn bạn đã trợ giúp!

+0

Đã thêm tiền thưởng vì tôi gặp phải vấn đề tương tự. –

+0

@DriesVints, giả sử bạn đang thử phiên bản mới nhất của VirtualBox từ trang web của họ? –

+0

@TarunLalwani Tôi đã cố gắng cài đặt cả phiên bản 5.2 (mới nhất) và một vài phiên bản vá khác nhau của 5.1 –

Trả lời

16

sau nhiều giờ hack tại vấn đề này đồng nghiệp của tôi và tôi đã đến một giải pháp khả thi. vấn đề (đối với tôi ít nhất) là khi tôi đã đi để cài đặt gói nó đã bị chặn. bạn có thể kiểm tra xem trường hợp này có cố gắng cài đặt hay không và khi thông báo 'cài đặt không thành công', hãy truy cập bảo mật của bạn (trong tùy chọn hệ thống) và chuyển đến tab 'chung' và gần phía dưới nó sẽ nói rằng một ứng dụng oracle đã bị chặn.

dưới đây là các bước chúng tôi đã đưa ra ** LƯU Ý: nếu bạn đã thử tải xuống hoặc cài đặt vài lần như vậy, bạn sẽ muốn gỡ cài đặt virtualbox đầu tiên bằng công cụ gỡ cài đặt ảo mà bạn có thể tìm thấy trong tệp .dmg đã tải xuống. tập tin. bạn cũng sẽ muốn đẩy hộp thoại ảo ra khỏi thiết bị của mình (trong bảng điều khiển bên trái của công cụ tìm). sau đó đi trước và làm theo hướng dẫn sau:

  1. Tải VirtualBox 5.2 cài đặt
  2. Chạy DMG, điều này tạo ra một thiết bị
  3. Cố gắng để cài đặt từ file pkg, nó sẽ thất bại ở bước xác nhận
  4. Đóng trình cài đặt và chạy tệp uninstaller.tool. KHÔNG XÓA THIẾT BỊ CÀI ĐẶT
  5. Chuyển đến Tùy chọn Hệ thống -> Bảo mật và Quyền riêng tư -> Chung và phê duyệt phần mềm bị chặn từ 'Oracle America'
  6. Chạy cài đặt từ cùng một tệp .pkg, bây giờ sẽ hoàn tất thành công
+1

Cảm ơn @Ilene đã làm việc cho tôi. Tuy nhiên, đối với tôi, tôi phải thực hiện bước 5 sau bước 6. Ví dụ, làm theo các bước tương tự cho đến bước 4, bỏ qua bước 5 bây giờ, thực hiện bước 6 cho đến tab Cài đặt vị trí trước khi bạn nhấn "Cài đặt", sau đó làm Bước 5 trước khi cài đặt nó. Nếu tôi không làm điều này thì việc xác thực vẫn thất bại! – projeqht

0

Giải pháp cho đến thời điểm này:

Ok, đây là một chút rắc rối nhưng chúng tôi đã cố gắng làm cho nó hoạt động tốt.

Sự cố liên quan đến hệ thống không xóa tất cả các tệp khỏi cài đặt hộp ảo.

Sử dụng thiết bị đầu cuối để tìm kiếm tệp có hộp ảo trong tên tệp, chúng tôi đã tìm thấy tệp (không liên quan đến âm hộ) vẫn còn trong hệ thống.

Sự cố là không thể xóa các tệp này ngay cả khi sử dụng sudo. Vì vậy, chúng tôi đã phải khởi động lại hệ thống cách nhấn cmd + r để bạn đi vào một hệ thống xử lý sự cố và không phải là môi trường hệ điều hành bình thường. Trong đó, bạn có thể mở terminal và chạy "csrutil disable", sau đó khởi động lại hệ thống.

Điều này sẽ tắt Bảo vệ tính toàn vẹn hệ thống cho hệ thống của bạn, vì vậy nó KHÔNG ĐƯỢC ĐỀ XUẤT, nhưng chúng tôi phải thực hiện việc này để xóa các tệp mà chúng tôi không thể xóa trước đó.

Vì vậy, sau khi xóa các tệp này, chúng tôi đã chạy lại cài đặt và bây giờ nó đã hoạt động! Ngay lập tức sau đó tôi đã cố gắng chạy lang thang và bây giờ nó đã làm việc như mong đợi.

Vấn đề cuối cùng của tôi bây giờ: sau khi đảm bảo rằng âm thanh đang hoạt động, tôi quay trở lại để khởi động lại máy tính, nhấn cmd + r, mở terminal và chạy "csrutil enable" và khởi động lại.

Quay lại OS X bình thường Tôi cố gắng chạy lang thang và gặp lại lỗi. Vì vậy, tại thời điểm này tôi đã phải quay trở lại một lần nữa, để vô hiệu hóa các csrutil, đó là không được đề nghị, nhưng nó là của thời điểm này là điều duy nhất mà làm việc cho tôi.

Tôi chưa thử chạy lại tất cả các bước này.

2

Cuối cùng tôi quản lý để giải quyết nó với một đề nghị từ đây: https://github.com/caskroom/homebrew-cask/issues/39369#issuecomment-339118861

Chạy kịch bản này:

#!/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 

Chạy kịch bản này sau khi bạn cố gắng để cài đặt VirtualBox. Giữ phê duyệt kexts cho đến khi kịch bản chạy sạch:

enter image description here

Run brew cask reinstall --force virtualbox

Kudos để Dan Stroot cho các giải pháp.

0

Vì vậy .. sau khi đấu tranh rất nhiều về điều này, và sau khi dành nhiều thời gian trong ngăn xếp tràn. Tôi kết hợp một số câu trả lời và finnaly có được cài đặt VirtualBox trong 10.13 osx của tôi.

Vì vậy: Khi tôi đọc, Sierra có tính năng bảo mật mới chặn một số chương trình bên ngoài. Trong khi cài đặt VirtualBox, bạn có thể chọn Preferences> Security & Privacy> General. Bạn will see that Oracle (virtualbox) is being blocked. Vì vậy, những gì tôi đã làm là:

  1. Chạy lệnh này tại nhà ga để vô hiệu hóa mà mới sierra gatekeeper: sudo spctl --master-disable
  2. Mở VirtualBox cài đặt chương trình, và nhấn unistall để đảm bảo không có dấu vết của các lần cài đặt trước đó.
  3. Trong màn hình nền hoặc trong thanh công cụ tìm bên trái (trong thiết bị) nếu có bất kỳ hình ảnh hộp thư ảo nào, bạn phải đẩy chúng.
  4. Xóa chương trình ảo trước đâytải xuống phiên bản mới.
  5. Bây giờ, nếu các bước này phù hợp với bạn khi họ làm việc cho tôi, bạn sẽ có thể cài đặt hộp ảo.

(Sau này bạn có thể kích hoạt lại tính năng gatekeeper chạy "sudo spctl --master kích hoạt")

0

Câu trả lời từ llene hoạt động hoàn hảo cho tôi. Điều quan trọng là, khi bạn đã cố gắng để cài đặt và không thành công, bạn phải thực hiện chính xác này bước:

  1. Chạy VirtualBox cài đặt
  2. Chạy cài đặt từ file pkg, nó sẽ thất bại ở bước xác nhận, đó là ok
  3. cài đặt gần và chạy nó một lần nữa, nhưng bây giờ chọn tập tin uninstaller.tool, bên trong (không xóa các tHIẾT bỊ iNSTALLER chưa)
  4. eject VirtualBox từ các thiết bị của bạn (trong bảng điều khiển bên trái của công cụ tìm)
  5. Sau , đi đến Tùy chọn hệ thống -> Bảo mật và quyền riêng tư -> Chung và phê duyệt bị chặn ftware từ ‘Oracle America’, sẽ xuất hiện ở đó 6) Chạy lại cài đặt từ cùng một tệp .pkg. Bây giờ, bạn cần hoàn tất thành công
Các vấn đề liên quan