VBoxManage: error: ล้มเหลวในการสร้างอะแด็ปเตอร์สำหรับโฮสต์เท่านั้น


124

ฉันใช้คนจรจัด 1.4 และvirtual box 4.3 บนเครื่อง fedora 17 เมื่อฉันทำ "คนจรจัด" ฉันได้รับข้อผิดพลาดนี้:

Bringing machine 'default' up with 'virtualbox' provider...                                                                            


[default] Clearing any previously set forwarded ports...                                                                                                                
[default] Clearing any previously set network interfaces...                                                                                                             
There was an error while executing `VBoxManage`, a CLI used by Vagrant                                                                                                  
for controlling VirtualBox. The command and stderr is shown below.                                                                                                      

Command: ["hostonlyif", "create"]                                                                                                                                       

Stderr: 0%...
Progress state: NS_ERROR_FAILURE
VBoxManage: error: Failed to create the host-only adapter
VBoxManage: error: VBoxNetAdpCtl: Error while adding new interface: VBoxNetAdpCtl: ioctl failed for /dev/vboxnetctl: Inappropriate ioctl for devic
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component HostNetworkInterface, interface IHostNetworkInterface
VBoxManage: error: Context: "int handleCreate(HandlerArg*, int, int*)" at line 66 of file VBoxManageHostonly.cpp

คุณกำลังเร่ร่อนจาก fedora หรือนั่นคือระบบปฏิบัติการกล่องเร่ร่อนของคุณ?
Jeff Sisson

ฉันมีปัญหาเดียวกันและใช้งาน vagrant บน OS X นั่นคือปัญหาของ virtual box หรือไม่?
Yuan He

@adi คุณสามารถตรวจสอบคำตอบที่ถูกต้องได้หรือไม่? Tks
totophe

คำตอบ:


171

ฉันมีปัญหาเดียวกันในวันนี้ เหตุผลก็คือฉันมี VM อื่นที่ทำงานใน VirtualBox

สารละลาย:

  1. เปิด VirtualBox และปิดทุก VM ที่ทำงาน
  2. รีสตาร์ท VirtualBox
sudo "/Library/Application Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh" restart

ตอนนี้คุณควรจะสามารถเรียกใช้vagrant upหรือvagrant reloadและกำหนดค่าโฮสต์ใหม่ได้แล้ว

ดังที่ได้กล่าวไว้ในคำตอบนี้ macOS เวอร์ชันล่าสุดสามารถบล็อก VirtualBox ได้

สารละลาย:

ไปที่System Preferences > Security & Privacyจากนั้นกดปุ่ม "อนุญาต" เพื่อให้ Oracle (VirtualBox) โหลด

(ขอบคุณ@pazhyn & @lsimonettiสำหรับการชี้แจง)


2
การยืนยันว่าสิ่งนี้ใช้ได้กับ Mac ของฉัน การปิด VM อื่น ๆ ไม่เพียงพอ แต่การรีสตาร์ท VB จะใช้งานได้
Steve Bennett

1
ยังใช้งานได้สำหรับฉัน VirtualBox UI ไม่แสดง VMs แต่การรีสตาร์ทช่วยแก้ปัญหาได้ บางทีการหยุดคนจรจัดอาจไม่สำเร็จในครั้งสุดท้าย
Erich

2
คำตอบนี้ถือว่าฉันเดาว่า VirtualBox อยู่ใน StartupItems ของคุณ ถ้าไม่ใช่ให้ดูคำตอบของ @ pazhyn ด้านล่างซึ่งดูเหมือนจะกว้างกว่าและใช้ได้ผลกับฉัน
jamesplease

ไม่ทำงาน virtualbox โดยค่าเริ่มต้นจะไม่ติดตั้งที่ตำแหน่งนี้ ฉันรู้ว่าของฉันเป็นการติดตั้งเริ่มต้นและไม่ได้อยู่ใน StartupItems โปรดดูคำตอบของ @pazhyn ด้านล่าง ขอบคุณ!
บาริสต้าสมัครเล่น

1
ต้องทำสิ่งนี้แล้วคลิก "อนุญาต" ในการตั้งค่าระบบตามที่กล่าวไว้ในคำตอบอื่น ๆ หากไม่มีสิ่งนี้ "อนุญาต" ก็ไม่ปรากฏขึ้นด้วยซ้ำ
trainoasis

60

สำหรับ Mac OS X 10.9.3 และ Vagrant 1.6.3 และ VirtualBox 4.3.6 ปัญหานี้ได้รับการแก้ไขด้วยการรีสตาร์ท VirtualBox

sudo "/Library/Application Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh" restart

1
ทำงานได้อย่างสมบูรณ์แบบ! ขอบคุณ
Ashwin Balamohan

ใช้งานได้สำหรับฉัน VirtualBox 4.3.18, OS X 10.9.3 ขอบคุณ!
บาริสต้าสมัครเล่น

1
สำหรับคนใดคนหนึ่งที่มีคำถามเดียวกันใน: Mac OS 10.13 + คนจรจัด 2.2.0 + VirtualBox 5.2.20 สิ่งนี้ทำงานได้อย่างสมบูรณ์แบบสำหรับฉัน ขอบคุณมาก!
Bahman.A

ทำงานให้ฉัน OS X พร้อม VirtualBox 6.0 และ Vagrant 2.2.7
Redas Jarušaitis

ใช่. การทำลาย VM ก่อนหน้านี้ไม่ได้ทำเพื่อฉัน
Dave Hodgkinson

42

TL; DR MacOS อาจบล็อก VirtualBox ไปที่System Preferences > Security & Privacyจากนั้นกดปุ่ม "อนุญาต"

วิธีแก้ไข: ไปที่System Preferences > Security & Privacyจากนั้นกดปุ่ม "อนุญาต" เพื่อให้ Oracle (VirtualBox) โหลด

โดยค่าเริ่มต้น MacOS สามารถบล็อก kexts ไม่ให้โหลดได้ คุณต้องคลิกปุ่ม "อนุญาต" ก่อนเรียกใช้สคริปต์ VirtualBoxStartup.sh

จากนั้นเรียกใช้: sudo "/Library/Application Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh" restartเหมือนคำตอบด้านบนคำตอบดังกล่าวข้างต้น

( บทความนี้ให้ความชัดเจนมากขึ้นในการโหลดส่วนขยายเคอร์เนล MacOS)


1
ทำงานให้ฉัน! ขอบคุณ
Srdjan Marjanovic

MacOS by default can block kexts from loading. You must click the "allow" button before executing the VirtualBoxStartup.sh script. นั่นเป็นปัญหาสำหรับฉัน! ขอบคุณ!
daneczech

14

ปัญหานี้ดูเหมือนจะได้รับการแก้ไขโดยการติดตั้งรุ่นล่าสุดของกล่องเสมือน


1
กรณีของฉันคือ Vagrant 1.7.4 + Virtualbox 5.0 + Windows 10 build 10240 เวอร์ชัน 5.01 แก้ไขปัญหาได้
DevAnimal

10

ฉันมีปัญหานี้หลังจากอัปเกรดเป็น OS X El Captian การอัปเกรดเป็น VB เวอร์ชันล่าสุดช่วยแก้ปัญหาให้ฉันได้ Virtual box จะให้ลิงค์ล่าสุดถ้าคุณไปที่เมนู virtualbox ที่ด้านบนสุดของหน้าจอแล้วคลิก check for updates


10

พบข้อผิดพลาดใน Mac หลังจากอัปเดตเป็น Mojave คุณอาจมีกล่องเสมือนรุ่นเก่ากว่า

อัปเดตเป็น virtualbox เวอร์ชันล่าสุด (5.2 ในขณะที่เขียนโพสต์นี้)

แก้ไข:เพิ่มความคิดเห็นของ @ lsimonetti

นอกเหนือจากการอัปเกรดเป็น Virtualbox 5.2 แล้วคุณต้องมี Vagrant> = 2.0.1


1
นอกเหนือจากการอัปเกรดเป็น Virtualbox 5.2 แล้วคุณต้องมี Vagrant> = 2.0.1 github.com/hashicorp/vagrant/blob/v2.1.5/…
lsimonetti


7

ฉันใช้Oracle VM VirtualboxบนUbuntu 16.04 LTS

วิธีแก้ปัญหาคือการติดตั้ง virtualbox ใหม่ตามที่กล่าวไว้ที่นี่ :

sudo apt remove virtualbox virtualbox-5.0 virtualbox-4.*

sudo apt-get install virtualbox

ฉันไม่พบโฟลเดอร์การติดตั้ง VirtualBox ของฉันเนื่องจากไม่สามารถออกคำสั่ง:

$sudo /Library/StartupItems/VirtualBox/VirtualBox restart


env ในพื้นที่ของฉันหยุดตอบสนอง ไม่สามารถเร่ร่อนได้ ลบและติดตั้ง vbox แก้ไขสิ่งที่เป็นปัญหา ขอบคุณ
Nick DuBois


3

ในกรณีของฉันฉันสามารถแก้ปัญหานี้ได้โดยการติดตั้งกล่องเสมือนใหม่ ฉันพยายามใช้ที่อยู่อาศัยของ laravel และพบข้อผิดพลาดนี้ การติดตั้งใหม่ช่วยสร้างไดเร็กทอรีที่จำเป็นสำหรับกล่องเสมือนอีกครั้ง ฉันใช้เวลาหนึ่งชั่วโมงในการคิดออก


3

ฉันใช้ Debian 8 (Jessie), Vagrant 1.6.5 และ Virtual Box 4.3.x ด้วยปัญหาเดียวกัน

สำหรับฉันมันได้รับการแก้ไขการดำเนินการ:

sudo /etc/init.d/vboxdrv setup

2

ฉันใช้ Ubuntu 14.04 ฉันติดตั้ง genymotion บน virtualbox แล้ว ทุกครั้งที่ฉันเริ่ม genymotion ฉันไม่มีปัญหา แต่ทันใดนั้นมีครั้งหนึ่งมันบอกว่าไม่สามารถโหลด virtualbox engine และมันไม่เปิดขึ้น ฉันอ่านไฟล์บันทึกและพบว่าไม่สามารถสร้างเครือข่ายเฉพาะโฮสต์ใหม่ได้เนื่องจากได้สร้างเครือข่ายเฉพาะโฮสต์ที่เป็นไปได้ทั้งหมดแล้ว และปัญหาคือไม่สามารถจัดสรรหน่วยความจำสำหรับเครือข่ายใหม่ได้

แก้ไข: ไปที่ไฟล์กล่องเสมือนของคุณ -> การตั้งค่า -> เครือข่าย

คลิกแท็บเฉพาะโฮสต์และลบเครือข่ายโฮสต์เท่านั้นบางส่วนเพื่อให้คุณได้รับหน่วยความจำที่ว่างและในครั้งต่อไปสามารถสร้างเครือข่ายใหม่ได้อย่างง่ายดาย

การลบช่วยแก้ปัญหาของฉัน


ขอบคุณสำหรับสิ่งนี้. ฉันมีปัญหาเดียวกัน
Tihomir Meščić

ขอบคุณสำหรับสิ่งนี้. ฉันใช้ Virtual Box บน windows และมีปัญหาเดียวกันทุกประการ คำแนะนำในการตรวจสอบค่ากำหนดของเครือข่ายช่วยฉันแก้ปัญหานี้ได้
user1501382

1

ฉันแก้ไขข้อผิดพลาดนี้โดยการติดตั้ง VirtualBox 4.2 แทน 4.3 ฉันคิดว่าเวอร์ชันล่าสุดของ vagrant และ VB 4.3 ไม่สามารถใช้ร่วมกันได้บนระบบ fedora


1
$sudo /Library/StartupItems/VirtualBox/VirtualBox restart

ทำงานได้ดีสำหรับฉันบน Mac โดยปกติจะเกิดขึ้นเมื่อฉันปิดคอมพิวเตอร์โดยไม่ต้องทำงาน

$vagrant suspend

1
  • CentOS Linux รีลีส 7.2.1511 (Core)
  • VirtualBox-5.0

ฉันเจอดอกยางนี้ขณะค้นหา Google ว่า ... VBoxManage: ข้อผิดพลาด: ไม่สามารถสร้างอะแดปเตอร์เฉพาะโฮสต์ได้

ฉันใช้ VirtualBox-5.0 เพื่อทดสอบเครื่องเสมือนบางตัวที่สร้างด้วย Vagrant และตั้งค่าเครือข่ายส่วนตัวใน Vagrantfile ของฉัน web.vm.network "private_network", ip: "192.168.10.2"

เมื่อเรียกใช้คำสั่ง$ vagrant ขึ้นฉันจะได้รับข้อผิดพลาดดังกล่าวข้างต้นพร้อมกับ/ dev / vboxnetcrl ไม่มีอยู่ไม่อยู่

ดูเหมือนว่า VirtualBox เวอร์ชันของฉันไม่มีโมดูลเคอร์เนลที่ถูกคอมไพล์สำหรับ Linux เวอร์ชันของฉันและอุปกรณ์ / dev / vboxnetcrl ไม่ได้รับการสร้างขึ้น

เนื่องจากฉันต้องการทดสอบเครื่องเสมือนและไม่ได้แก้ปัญหา VirtualBox วิธีแก้ไขของฉัน (ไม่ใช่วิธีแก้ปัญหา) คือ:

 # yum remove VirtualBox-5.0
 # yum install VirtualBox-4.3 

หลังจากนั้นฉันก็สามารถสร้างเครื่องเสมือนด้วยโฮสต์อะแด็ปเตอร์ที่ระบุ และแน่นอนว่าภายใต้ VirtualBox-4.3 นั้น / dev / vboxnetcrl ก็อยู่ที่นั่น

ตอนนี้กำลังทดสอบ VM ของฉัน และเมื่อฉันมีเวลาฉันจะดูว่าฉันจะทำให้มันทำงานภายใต้ VirtualBox 5.0 ได้หรือไม่


1

หากคุณใช้Linux :

sudo service virtualbox restart

2
ไม่พบบริการ :( แม้ว่าจะมีการติดตั้งกล่องเสมือน
Rubinum

1

Windows 10 Pro VirtualBox 5.2.12

ในกรณีของฉันฉันต้องแก้ไข Host Only Ethernet Adapter ใน VirtualBox GUI คลิก Global Tools -> Host Network Manager -> เลือกอีเธอร์เน็ตอะแดปเตอร์จากนั้นคลิก Properties Mine ถูกตั้งค่าให้กำหนดค่าโดยอัตโนมัติและที่อยู่ IP ที่พยายามใช้นั้นแตกต่างจากที่ฉันพยายามใช้กับ drupal-vm และคนเร่ร่อน ฉันต้องเปลี่ยนเป็นคู่มือและแก้ไขที่อยู่ IP ฉันหวังว่านี่จะช่วยคนอื่นได้



1

ฉันประสบปัญหานี้บน mac

ฉันทำสิ่งต่อไปนี้ไปที่: Launcher-> Virtualbox

คลิกไอคอนเพื่อเปิด Virtualbox

เริ่ม Virtualbox ด้วยปุ่มที่ปรากฏขึ้นเมื่อ Virtualbox เริ่มทำงาน รอจนกระทั่งหน้าต่างเทอร์มินัลแจ้งให้คุณทราบ

นักเทียบท่า @ boot2docker

จากนั้นลองเปิดนักเทียบท่า หวังว่าจะได้ผล!


0

สิ่งที่ช่วยฉันใน Opensuse 42.1 คือการติดตั้ง VirtualBox และ Vagrant จาก RPM อย่างเป็นทางการแทนที่จะมาจากที่เก็บ Opensuse


0

ฉันพบปัญหานี้ใน Windows 8.1, VirtualBox 5.1.18 และ Vagrant 1.9.3

การลบอะแด็ปเตอร์อีเทอร์เน็ตเฉพาะโฮสต์ VirtualBox จาก VirtualBox Preferences (เครือข่าย -> เครือข่ายโฮสต์เท่านั้น) แก้ไขสิ่งนี้ให้ฉันและvagrant upสามารถดำเนินการต่อและเริ่ม VM ได้



0

ฉันมีปัญหาเดียวกันขณะทำตามบทช่วยสอนเกี่ยวกับการตั้งค่า Laravel Homestead สำหรับ Windows 10 บทช่วยสอนนี้มีตัวอย่างที่อยู่ IP ที่192.168.10.10จะใช้สำหรับเซิร์ฟเวอร์ ปัญหาเกี่ยวกับ IP ตัวอย่างของพวกเขาคือถ้าคุณมีการตั้งค่า VirtualBox Host-Only Adapter อยู่แล้ว IP ที่คุณใช้สำหรับเซิร์ฟเวอร์ vagrant ของคุณจะต้องมีที่อยู่ IP สามส่วนแรกของอะแด็ปเตอร์ปัจจุบันของคุณเหมือนกัน

คุณสามารถตรวจสอบว่าที่อยู่ IP ของ Virtualbox Host-Only Adapter ปัจจุบันของคุณคืออะไรโดยเรียกใช้ipconfig(windows) ifconfig(mac / linux) และค้นหาที่อยู่ IPv4 ของ VirtualBox Host-Only Adapter 192.168.56.1เป็นของฉัน โดยปกติถ้าโฮสต์ IP เป็น192.168.56.1แล้วผู้เข้าพักจะได้รับ IP 192.168.56.101ดังนั้นแทนที่จะใช้ตัวอย่าง IP 192.168.56.102ผมใช้ IP ใด ๆ ที่อยู่ภายใน192.168.56.*ที่ยังไม่ได้ใช้ควรใช้งานได้ได้

หลังจากนี้homestead upทำงานได้อย่างสมบูรณ์แบบสำหรับฉัน

TL; DR - หาก IP ของอะแดปเตอร์ VirtualBox Host-Only ปัจจุบันของคุณคือ 192.168.56.1 ให้กำหนด IP ของเซิร์ฟเวอร์ Vagrant เป็น 192.168.56.102


0

ฉันมีปัญหาเดียวกันในตอนนี้และได้รับการแก้ไขโดยเพียงแค่ติดตั้ง VirtualBox เวอร์ชันล่าสุด

สำหรับผู้ที่ใช้ Mac OS High Sierra - การติดตั้งอาจล้มเหลวในตอนแรก แต่คุณต้องไปที่ System Preferences> Security & Policy และคลิกที่ปุ่ม "Allow" เพื่ออนุญาตให้ Oracle ติดตั้งซอฟต์แวร์


0

หากคุณใช้ macOS High Sierra หรือเวอร์ชันบนคุณจะพบสคริปต์ทุบตีที่ตำแหน่ง:

sudo /Library/Application\ Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh restart

ดังนั้นหากคุณได้รับข้อผิดพลาดประเภทนี้:

/ Library / Application Support / VirtualBox / VBoxDrv.kext ล้มเหลวในการโหลด - นโยบายระบบ (libkern / kext) ป้องกันการโหลด ตรวจสอบบันทึกระบบ / เคอร์เนลเพื่อหาข้อผิดพลาดหรือลองใช้ kextutil (8)

คุณสามารถแก้ไขได้ผ่านSystem Preferences > Security & Privacyส่วนและAllowVirtualBox


0

ทางออกของฉัน

การตั้งค่าระบบ -> ความเป็นส่วนตัวด้านความปลอดภัยของระบบ -> อนุญาต oracle.xxxx; จากนั้นติดตั้ง virtualBox ใหม่


0

ฉันอยากจะพูดถึงเรื่องนั้น

เปิด VirtualBox และปิดทุก VM ที่ทำงาน

การปิดเครื่องควรปิดเครื่อง

และหาก virtualbox ของคุณถูกเพิ่มใน Path ใน linux (Mine คือ Ubuntu) คุณสามารถใช้คำสั่ง: virtualbox restart


0

ลองสิ่งเหล่านี้:

sudo modprobe vboxnetadp

sudo modprobe vboxnetflt

sudo modprobe vboxdrv


ฉันสงสัยว่าสิ่งนี้ช่วยได้หรือแม้กระทั่งได้ผลเลย หากต้องการโน้มน้าวฉันเป็นอย่างอื่นโปรดอธิบายวิธีการทำงานและเหตุใดจึงควรช่วย
Yunnosch

ฉันติดตั้ง virtualbox บนเคอร์เนลที่แตกต่างจากที่ฉันมีตอนนี้ (4.19 และตอนนี้ 5.4) เพื่อหลีกเลี่ยงการอัปเดตระบบทั้งหมดฉันใช้วิธีแก้ปัญหานี้เพื่อเปิดใช้งานอินเทอร์เฟซ vboxnet0 ที่มีอยู่แล้ว มันใช้งานได้และยังคงทำเมื่อเริ่ม virtualbox
andremtsilva

ตอนนี้ฉันเห็นว่าโพสต์นี้เกี่ยวกับ Mac Os ไม่ใช่ Linux ขอโทษด้วยกับเรื่องนั้น.
andremtsilva

ประเด็นก็คือนี่เป็นคำตอบแบบใช้รหัสอย่างเดียวที่ไม่สามารถอธิบายได้ซึ่งได้รับความทุกข์ทรมานจากการขาดความเข้าใจและความช่วยเหลือที่แท้จริง ความคิดเห็นของคุณช่วยปรับปรุงสิ่งต่าง ๆ เล็กน้อย แต่ควรแก้ไขเป็นคำตอบเอง และมันก็ยังไม่ใช่คำอธิบายจริงๆ ฉันต้องการวลีเช่น "... เพราะ .... ", "... เพื่อ ... ", "... , ซึ่ง caues .... ". นอกจากนี้พื้นหลังบางส่วนเช่น "ตามที่อธิบายไว้ในเอกสาร (ลิงก์) นี้ .... " "... และด้วยเหตุนี้จึงช่วยแก้ปัญหาตามที่ OP อธิบายไว้"
Yunnosch

0

ฉันมาที่นี่ทำงานกับห้องครัว -CI และมีปัญหากับคนเร่ร่อน หลังจาก (re-) ย้าย "~ / .kitchen" - ไดเร็กทอรีkitchen convergeก็ประสบความสำเร็จอีกครั้ง


0

ลองใช้วิธีแก้ปัญหาหลายวิธี แต่ลำดับด้านล่างใช้ได้กับฉัน

กล่องเสมือน: 5.2.34 Vagrant: 2.2.5 Mac OSX: 10.14.6

ขั้นแรกอนุญาตให้เข้าถึง Oracle inc:

ไปที่ System Preferences> Security & Privacy จากนั้นกดปุ่ม "Allow" เพื่อให้ Oracle (VirtualBox) โหลด

จากนั้นรีสตาร์ท VBox โดยคำสั่งนี้:

sudo /Library/Application\ Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh restart

ตอนนี้ลอง Vagrant อีกครั้ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.