Não é possível instalar o VirtualBox no Windows Bash - Ubuntu (Windows 10)

3

Estou tentando instalar o VirtualBox dentro do Windows Bash (Beta), mas segui a mensagem de erro persistente:

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

Eu também tentei instalar os cabeçalhos do linux para 3.4.1 e reconfigurar com

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

mas sem sucesso.

    
por Somasundaram Sekar 24.08.2016 / 18:54

4 respostas

8

O VirtualBox depende muito do hardware em que está sendo executado e não entende o Bash no Windows. A execução do Vbox no BoW nunca foi a intenção da Canonical, Microsoft ou Oracle.

Como explicado por Microsoft :

  

Este é um conjunto de ferramentas do desenvolvedor para ajudar você a escrever e criar todo o seu código para todos os seus cenários e plataformas. "Não é uma máquina virtual completa do Ubuntu. Você não pode usá-lo para hospedar servidores, como faria no Linux.

É um conjunto de ferramentas do desenvolvedor; nada mais.

Você precisará de alterações no nível do hardware para que isso funcione. Provavelmente da Oracle e da Microsoft.

Com a tecnologia atual, digo impossível.

A propósito, se você acha que é capaz o suficiente para hackear tudo isso: o aviso que você postou é sobre duas coisas

  • O dispositivo de caracteres /dev/vboxdrv não existe. Por favor, instale o pacote virtualbox-dkms
  • e os cabeçalhos apropriados, provavelmente cabeçalhos linux-3.4.0 +.

Você provavelmente pode instalar virtualbox-dkms com apt . Além disso, você precisa verificar quais cabeçalhos você tem. Em geral, você instala estes com:

apt-get install linux-headers-'uname -r'
dpkg-reconfigure virtualbox-{numbers}

se uname -r mostrar 3.4. Caso contrário, você precisa inserir os números sozinho.

Se você conseguir que esses dois funcionem, você pode estar longe na direção que precisa seguir. Embora eu duvido que você pode obter o segundo trabalho (vBox não instala no sistema não foi feito para).

    
por Rinzwind 24.08.2016 / 19:38
3

O Bash do Windows não é não no Linux. O Windows Bash é basicamente uma emulação de API que permite executar alguns binários do Linux, desde que eles não façam nada especial . Em outros termos, o Windows emula as partes mais comumente usadas da ABI do Linux, o suficiente para coisas simples como abrir um arquivo, ler e escrever coisas e fazer E / S de rede funcionar. No entanto, coisas como interagir com hardware (que é o que o VirtualBox normalmente faz) ou até mesmo interagir com algum tipo de framebuffer (necessário para X e, portanto, por exemplo, Unity, no entanto, você pode contornar isso) não são emuladas e falharão. O VirtualBox quer construir um driver de dispositivo - o que simplesmente não é possível usando este modelo de emulação, já que não há nenhum kernel para o qual você possa construí-lo. Portanto, a instalação dos cabeçalhos do kernel ou dos módulos dkms falhará.

TLDR: o Windows Bash no Windows é para o Linux, já que o vinho no Linux é para o Windows.

    
por maxf 24.08.2016 / 22:50
3

O Bash no Windows não possui um kernel Linux, que é requerido pelo Virtual Box. Tudo o que ele faz é fornecer funcionalidades similares que o bash como as ferramentas esperam de um kernel Linux.

Mais especificamente, o Bash no Windows apenas fornece algumas ferramentas GNU para serem executadas no topo de um subsistema Windows que emula o Kernel Linux.

Como não há kernel, não haverá módulos para o Virtual Box. Então, vai falhar, não vai instalar.

    
por Anwar 24.08.2016 / 23:12
0

Eu percebo que esta é uma pergunta antiga, mas parece que há uma solução alternativa se você usar o Vagrant. De acordo com o Vagrant , se você instalar o Vagrant no WSL, ele poderá funcionar com sua instalação normal do Windows Virtualbox. Especificamente, eles afirmam

  

O Vagrant detectará quando estiver sendo executado dentro do WSL e ajustará como ele localiza e executa executáveis de terceiros. Por exemplo, ao usar o provedor VirtualBox, o Vagrant irá interagir com o VirtualBox instalado no sistema Windows, não dentro do WSL. É importante garantir que qualquer executável do Windows necessário esteja disponível em seu PATH para permitir que o Vagrant os acesse.

O artigo que eu relacionei tem muito mais detalhes.

    
por Evan Rosica 03.11.2017 / 01:16