답변1
이는 Windows 10 v1709에서 테스트되었으며 향후 Windows 10 빌드에서 절차가 변경될 수 있습니다.
- 컴파일 설치 프로그램:
호출하려면 실행 파일을 컴파일해야 합니다.WslRegisterDistribution()
기능:
(이 문서화된 기능은 변경되지 않을 것으로 예상됩니다)
이것을 임의의 C 컴파일러(예:#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
)로 컴파일하여 실행 파일 이름Wslnstall.exe
(3단계에 필요함)을 지정하고 내 GitHub에 이 컴파일된 버전이 있습니다.저장소 - RootFS 다운로드
.tar.gz
:
배포판의 RootFS를 가져오는 방법은 여러 가지가 있습니다(예: ISO 파일, docker 이미지, 명령 사용 등). 제 개인적인 경험으로는 파일이 다음 과 같이 해당 파일 에debootstrap
있어야 하는 몇 가지 조건이 있습니다. 으로 압축.tar.gz
.tar.gz
gzip 전용, 유효한 바이너리 또는/bin/bash
파일 을 포함합니다 (평소와 같이)./bin/sh
/etc/passwd
- 이것은 단지 지침일 뿐입니다.사용자는 건너뛸 수 있습니다., 여기에서는 다음 단계에 대한 직접 링크를 생략하고사전 구축된
.tar.gz
Alpine용(만 다운로드.tar.gz
)
- 이것은 단지 지침일 뿐입니다.사용자는 건너뛸 수 있습니다., 여기에서는 다음 단계에 대한 직접 링크를 생략하고사전 구축된
- 설치하다:
컴파일된 실행 파일(1단계)과.tar.gz
(2단계)을같은 폴더해당 폴더 내에서 실행하여 설치하고 싶습니다.# WslInstall.exe <distro_name> <file_name.tar.gz> WslInstall.exe Alpine alpine-minirootfs-xxx.tar.gz
이제 Alpine 배포판이 설치되어야 합니다.