O "Instalação do Windows ServerGuia"ligaçõespara"Baixe manualmente os pacotes de distribuição do subsistema Windows para Linux", que menciona diversas distribuições fornecidas oficialmente: Debian, Kali, Ubuntu, OpenSUSE, Fedora e SLES
Como temos distros baseadas em Debian e Slackware em mãos:
- É possível usar alguma distribuição/árvore diferente daquelas, como Arch?
- Há alguma desvantagem em não usar as distribuições oficiais?
Estou particularmente interessado em uma forma que evite o uso da Windows Store, pois pode serbloqueadopelas Políticas de Grupo.
Responder1
Isso foi testado no Windows 10 v1709 e o procedimento pode mudar em compilações futuras do Windows 10
- Compilar o instalador:
Temos que compilar um executável para chamar oWslRegisterDistribution()
função:
(não se espera que esta função documentada mude)
Compile isso com qualquer compilador C (por exemplo#include <Windows.h> #include <stdio.h> typedef HRESULT (WINAPI* RegisterDistro)(PCWSTR distroName, PCWSTR tarGzFilename); int main() { int wargc; wchar_t** wargv; wargv = CommandLineToArgvW(GetCommandLineW(), &wargc); HMODULE dll = LoadLibraryExW(L"wslapi.dll", NULL, LOAD_LIBRARY_SEARCH_SYSTEM32); RegisterDistro func = (RegisterDistro)GetProcAddress(dll, "WslRegisterDistribution"); HRESULT result = func(wargv[1], wargv[2]); (result == S_OK) ? printf("%ls installed\n", wargv[1]) : printf("Error: 0x%x\n", result); }
gcc
), deixando o nome do executávelWslnstall.exe
(necessário para a etapa 3), e eu tenho uma versão compilada disso no meu GitHubrepositório - Baixe
.tar.gz
RootFS:
Existem muitas maneiras de obter o RootFS de uma distro (por exemplo, do arquivo ISO, da imagem do docker, usandodebootstrap
comando etc.) e pela minha experiência pessoal, existem algumas condições que devem estar presentes nesse.tar.gz
arquivo, como o.tar.gz
arquivo deve ser comprimido comsomente gzip, contém um arquivo válido/bin/bash
ou/bin/sh
binário e/etc/passwd
(como de costume).- Estas são apenas diretrizesos usuários podem pular, e aqui omito essas etapas com um link direto para umpré-construído
.tar.gz
para Alpine (baixe apenas o.tar.gz
)
- Estas são apenas diretrizesos usuários podem pular, e aqui omito essas etapas com um link direto para umpré-construído
- Instalar:
Coloque o executável compilado (etapa 1) e.tar.gz
(etapa 2) dentro domesma pastavocê deseja instalar, executando a partir dessa pasta:# WslInstall.exe <distro_name> <file_name.tar.gz> WslInstall.exe Alpine alpine-minirootfs-xxx.tar.gz
A distribuição Alpine agora deve estar instalada.