Der "Windows Server-InstallationFührung" LinksZu"Manuelles Herunterladen von Windows-Subsystem-Paketen für Linux-Distributionen", in dem mehrere offiziell angebotene Distributionen erwähnt werden: Debian, Kali, Ubuntu, OpenSUSE, Fedora und SLES
Da wir auf Debian und Slackware basierende Distributionen zur Hand haben:
- Ist es möglich, andere Distributionen/Strukturen als diese, beispielsweise Arch, zu verwenden?
- Gibt es Nachteile, wenn man die offiziellen Distributionen nicht verwendet?
Ich bin besonders an einer Möglichkeit interessiert, die Nutzung des Windows Store zu vermeiden, da diesverstopftdurch Gruppenrichtlinien.
Antwort1
Dies wurde in Windows 10 v1709 getestet und das Verfahren kann sich in zukünftigen Windows 10-Builds ändern
- Installer kompilieren:
Wir müssen eine ausführbare Datei kompilieren, um dieWslRegisterDistribution()
Funktion:
(es wird nicht erwartet, dass sich diese dokumentierte Funktion ändert)
Kompilieren Sie dies mit einem beliebigen C-Compiler (z. B.#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
), wobei Sie den Namen der ausführbaren Datei angebenWslnstall.exe
(wird für Schritt 3 benötigt), und ich habe eine kompilierte Version davon in meinem GitHubRepository - RootFS herunterladen
.tar.gz
:
Es gibt viele Möglichkeiten, das RootFS einer Distribution abzurufen (z. B. aus einer ISO-Datei, einem Docker-Image, mithilfedebootstrap
eines Befehls usw.). Aus meiner persönlichen Erfahrung weiß ich, dass die Datei einige Bedingungen erfüllen muss.tar.gz
, z. B..tar.gz
muss die Datei komprimiert sein mitnur gzip, enthalten eine gültige/bin/bash
oder/bin/sh
binäre/etc/passwd
Datei und (wie üblich).- Dies sind nur RichtlinienBenutzer können überspringen, und hier lasse ich diese Schritte aus mit einem direkten Link zu einemvorgefertigt
.tar.gz
für Alpine (nur herunterladen.tar.gz
)
- Dies sind nur RichtlinienBenutzer können überspringen, und hier lasse ich diese Schritte aus mit einem direkten Link zu einemvorgefertigt
- Installieren:
Platzieren Sie die kompilierte ausführbare Datei (Schritt 1) und.tar.gz
(Schritt 2) imgleicher OrdnerSie möchten es installieren und es wird aus diesem Ordner ausgeführt:# WslInstall.exe <distro_name> <file_name.tar.gz> WslInstall.exe Alpine alpine-minirootfs-xxx.tar.gz
Die Alpine-Distribution sollte jetzt installiert sein.