Не удалось установить VirtualBox в Windows Bash - Ubuntu (Windows 10)

Я пытаюсь установить VirtualBox внутри Windows Bash (Beta), но я получил следующее сообщение об ошибке:

somasundaram@host:~/kernel34$ VBoxManage --version
WARNING: The character device /dev/vboxdrv does not exist.
         Please install the virtualbox-dkms package and the appropriate
         headers, most likely linux-headers-3.4.0+.

         You will not be able to start VMs until this problem is fixed.

4.3.36_Ubuntur105129

Я также попытался установить заголовки linux для 3.4.1 и перенастроить с помощью

somasundaram@host:~/kernel34$ sudo dpkg-reconfigure virtualbox-dkms

, но безрезультатно.

1
задан 24 August 2016 в 21:00

3 ответа

Bash в Windows не имеет ядра Linux, которое требуется виртуальной коробке. Все это делает, он предоставляет аналогичные функциональные возможности, которые можно использовать как инструменты, ожидаемые от ядра Linux.

Более конкретно Bash на Windows просто предоставляет некоторые инструменты GNU для работы под подсистемой Windows, подражающей ядру Linux.

Поскольку ядра нет, модулей Virtual Box не будет. Таким образом, он потерпит неудачу, не будет установлен.

3
ответ дан 23 May 2018 в 06:50

Windows Bash не Linux. Windows Bash - это в основном эмуляция API, которая позволяет запускать некоторые исполняемые файлы Linux, при условии, что они не делают ничего особенного. Другими словами, Windows эмулирует более часто используемые части Linux ABI, достаточно для простых вещей, таких как открытие файла, чтение и запись материала и работа с сетевым вводом-выводом. Тем не менее, такие вещи, как взаимодействие с оборудованием (что обычно делает VirtualBox) или даже взаимодействие с каким-то фреймбуфером (необходимо для X и, следовательно, для Unity, однако вы можете обойти это), не эмулируются и не сработают. VirtualBox хочет построить драйвер устройства - это просто невозможно с помощью этой модели эмуляции, так как нет ядра, для которого вы могли бы его построить. Таким образом, установка заголовков ядра или модулей dkms не удастся.

TLDR: Windows Bash в Windows - это Linux, поскольку в Linux Linux - это Windows.

2
ответ дан 23 May 2018 в 06:50

Я понимаю, что это старый вопрос, но кажется, что есть обходной путь, если вы используете Vagrant. Согласно Vagrant, если вы устанавливаете Vagrant в WSL, он может работать с вашей обычной установкой Windows Virtualbox. В частности, они указывают

Vagrant будет обнаруживать, когда он запускается в WSL, и настраивать, как он находит и выполняет сторонние исполняемые файлы. Например, при использовании провайдера VirtualBox Vagrant будет взаимодействовать с VirtualBox, установленным в системе Windows, а не внутри WSL. Важно убедиться, что любой необходимый исполняемый файл Windows доступен в вашем PATH, чтобы позволить Vagrant получить к ним доступ.

В статье, которую я связал, содержится гораздо больше.

0
ответ дан 23 May 2018 в 06:50

Другие вопросы по тегам:

Похожие вопросы: