O Windows Subsystem para Linux não consegue determinar o nível de execução atual

1

Problema

Muitas instalações do apt-get estão falhando b / c o sistema não pode determinar o nível de execução atual

Especificações de fundo:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.1 LTS
Release:        16.04
Codename:       xenial
$ uname -a
Linux systemName 4.4.0-43-Microsoft #1-Microsoft Wed Dec 31 14:42:53 PST 2014 x86_64 x86_64 x86_64 GNU/Linux

Explania

Estou tentando instalar o VirtualBox no WSL e recebi o seguinte erro:

$ 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-Microsoft.

Eu resolvi isso por seguindo estes passos . Codificar%.

Mas então recebi o seguinte:

dpkg: warning: version '*-*' has bad syntax: version number does not start with digit
It is likely that 4.4.0-43-Microsoft belongs to a chroot's host
Module build for the currently running kernel was skipped since the
kernel source for this kernel does not seem to be installed.
invoke-rc.d: could not determine current runlevel

Como pode o invoke-rc.d retornar o runlevel correto?

    
por Gabriel Fair 13.04.2017 / 18:00

1 resposta

2

O Windows Subsystem para Linux (WSL) é apenas uma camada de compatibilidade para executar executáveis binários do Linux no Windows. Ele não fornece quase nenhuma funcionalidade além disso. Especialmente no seu caso, você encontrou dois componentes / funções sem suporte:

Runlevels

O WSL não é executado como uma instância separada de um sistema operacional, portanto, não há uma maneira simples de oferecer suporte a sistemas de gerenciamento de inicialização e de serviços, como init ou systemd , como em sistemas Linux reais. Consequentemente, hoje (2018-07) o Ubuntu para WSL ainda não suporta runlevels.

kernel do Linux

Esta é a limitação fundamental no seu caso. O VirtualBox como um hypervisor precisa se integrar ao kernel do sistema operacional (usando módulos do kernel). A WSL é apenas uma camada de compatibilidade. Não há nenhum Linux real rodando (nenhum kernel Linux). Consequentemente, o VirtualBox não pode compilar seus módulos do kernel para o WSL.

Se você deseja executar o VirtualBox em uma máquina Windows, instale a versão do Windows. Você não pode executar a versão do Linux no WSL.

    
por 25.07.2018 / 16:49