El "Instalación del servidor de WindowsGuía" Enlacesa"Descargue manualmente los paquetes de distribución del Subsistema de Windows para Linux", que menciona varias distribuciones que se proporcionan oficialmente: Debian, Kali, Ubuntu, OpenSUSE, Fedora y SLES.
Ya que tenemos a la mano distros basadas en Debian y Slackware:
- ¿Es posible utilizar alguna distribución/árbol distinto de esos, como Arch?
- ¿Hay alguna desventaja en no utilizar las distribuciones oficiales?
Estoy particularmente interesado en una forma que evite el uso de la Tienda Windows, como puede serobstruidopor Políticas de Grupo.
Respuesta1
Esto se prueba en Windows 10 v1709 y el procedimiento puede cambiar en futuras versiones de Windows 10.
- Instalador de compilación:
Tenemos que compilar un ejecutable para llamar alWslRegisterDistribution()
función:
(no se espera que esta función documentada cambie)
Compile esto con cualquier compilador de C (por ejemplo#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
), dejando el nombre del ejecutableWslnstall.exe
(necesario para el paso 3), y tengo una versión compilada de esto en mi GitHub.repositorio - Descargar
.tar.gz
RootFS:
Hay muchas formas de obtener RootFS de una distribución (por ejemplo, desde un archivo ISO, desde una imagen de Docker, usandodebootstrap
un comando, etc.) y, desde mi experiencia personal, existen algunas condiciones que deben estar presentes en ese.tar.gz
archivo, como que el.tar.gz
archivo debe estar comprimido consolo gzip, contiene un archivo válido/bin/bash
o/bin/sh
binario/etc/passwd
(como de costumbre).- Estas son solo pautaslos usuarios pueden omitir, y aquí omito estos pasos con un enlace directo a unpreconstruido
.tar.gz
para Alpine (sólo descargar el.tar.gz
)
- Estas son solo pautaslos usuarios pueden omitir, y aquí omito estos pasos con un enlace directo a unpreconstruido
- Instalar:
Coloque el ejecutable compilado (paso 1) y.tar.gz
(paso 2) dentro delmisma carpetadesea instalar, ejecutándolo desde esa carpeta:# WslInstall.exe <distro_name> <file_name.tar.gz> WslInstall.exe Alpine alpine-minirootfs-xxx.tar.gz
La distribución Alpine ya debería estar instalada.