# WSLTools **Repository Path**: yejinlei/wsltools ## Basic Information - **Project Name**: WSLTools - **Description**: 本项目提供了一系列 PowerShell 脚本来管理 WSL (Windows Subsystem for Linux) 实例,特别是针对 Ubuntu-24.04 的安装和配置。 - **Primary Language**: PowerShell - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-01 - **Last Updated**: 2026-04-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # WSL 管理工具集 > 本项目提供 PowerShell 脚本集用于管理 Windows Subsystem for Linux (WSL) 实例,支持 Ubuntu 24.04 等发行版。 ## 一、WSL基本操作 ```powershell # 安装Ubuntu-24.04版本,命名为temp,默认安装在C盘,所以要使用Migrate-WSL.ps1迁移到其他地方 wsl --install -d "Ubuntu-24.04" --name "temp" # 删除node1实例 wsl --unregister node1 # 查看所有实例 wsl -l -v NAME STATE VERSION * BaseTemplate Stopped 2 n8n Stopped 2 temp Stopped 2 dify Running 2 # 启动指定WSL实例 wsl -d node1 # 停止指定WSL实例 wsl --terminate node1 # 进入指定WSL实例并以root用户身份执行命令 wsl -d node1 -u root # 设置默认WSL实例 wsl --set-default node1 # 查看可用的WSL发行版 wsl --list --online # 导出WSL实例为tar文件 wsl --export node1 "F:\WSL\node1.tar" # 导入WSL实例 wsl --import node1 "F:\WSL\node1" "F:\WSL\node1.tar" --version 2 # 升级WSL版本(从WSL 1升级到WSL 2) wsl --set-version node1 2 # 关闭所有WSL实例 wsl --shutdown # 查看WSL版本信息 wsl --version ``` ## 二、脚本说明 ### 1. 迁移 WSL 实例到指定目录,减少 C 盘占用 ```powershell .\Migrate-WSL.ps1 "temp" "F:\WSL" ``` 参数说明: - `DistroName`:要迁移的 WSL 实例名称(默认:Ubuntu-22.04) - `ImportBaseDir`:迁移后的存储目录(默认:F:\WSL) 说明:该脚本会将指定的 WSL 实例导出为 tar 文件,然后注销原有实例,最后将其导入到新的位置。迁移完成后会自动恢复用户配置和权限设置。 ### 2. 复制创建单个 WSL 实例 ```powershell .\CopyCreate-WSLInstance.ps1 "SourceInstance" "NewInstanceName" "NewInstancePath" ``` 参数说明: - `SourceInstance`:源 WSL 实例名称 - `NewInstanceName`:新 WSL 实例名称 - `NewInstancePath`:新 WSL 实例的安装路径 ### 3. 批量创建 WSL 集群实例 ```powershell # node1、node2、node3 .\Create-WSLCluster.ps1 -BaseImage "Ubuntu-24.04" -Location "F:\wsl" -NamePrefix "node" -NodeCount 3 ``` 参数说明: - `BaseImage`:基础镜像名称(默认:Ubuntu-22.04) - `Location`:实例安装路径(默认:F:\WSL) - `NamePrefix`:实例名称前缀(默认:node) - `NodeCount`:创建实例数量(默认:3) ### 4. 在 WSL 实例上安装 Docker 环境 ```powershell .\Install-Docker.ps1 "node1" # 进入容器后 systemctl restart docker ``` 参数说明: - `WslInstance`:要安装 Docker 的 WSL 实例名称(必填) 说明:该脚本会配置国内加速源,可拉取 docker hub 镜像,并安装 Docker Compose。 ### 5. 创建 K3s 集群 ```powershell # node1(master)、node2(worker)、node3(worker) .\Install-K3s.ps1 ``` 参数说明:无命令行参数 使用要求: - 需要以管理员权限运行 - 需要存在 node1、node2、node3 三个 WSL 实例 - node1 会被作为 master 节点 - node2、node3 会被作为 worker 节点 说明: - 该脚本会在 node1 实例上安装 K3s master 节点 - 在 node2、node3 实例上安装 K3s worker 节点 - 脚本会自动获取主节点 IP 和 token,并配置工作节点 - 安装完成后会将 kubeconfig 文件复制到 Windows 用户目录下的 .kube 文件夹中 ## 三、K3s 集群管理 ### 1. 查看集群节点状态 ```powershell wsl -d node1 -u root -e bash -c "kubectl get nodes" ``` ### 2. 查看 K3s 服务状态 ```powershell wsl -d node1 -u root -e bash -c "systemctl status k3s" ``` ## 四、脚本文件说明 | 脚本名称 | 功能描述 | |---------|--------| | Migrate-WSL.ps1 | 迁移 WSL 实例到指定目录 | | CopyCreate-WSLInstance.ps1 | 从现有实例复制创建新的 WSL 实例 | | Create-WSLCluster.ps1 | 批量创建 WSL 集群实例 | | Install-Docker.ps1 | 在 WSL 实例上安装 Docker 环境 | | Install-K3s.ps1 | 在 WSL 集群上安装 K3s | | install-k3s-master.sh | K3s master 节点安装脚本 | | install-k3s-worker.sh | K3s worker 节点安装脚本 |