@echo off chcp 65001 >nul setlocal enabledelayedexpansion :: Check for admin privileges net session >nul 2>&1 if %errorlevel% neq 0 ( echo "[WARN] 需要管理员权限" echo "[INFO] 请右键点击此脚本,选择"以管理员身份运行"" pause exit /b 1 ) echo. echo "[INFO] 开始升级 WSL2 并重新安装 Debian..." echo. :: Check WSL installation echo "[INFO] 检查 WSL 安装状态..." wsl --version >nul 2>&1 if %errorlevel% neq 0 ( echo "[ERROR] WSL 未安装" echo "[INFO] 请访问 https://aka.ms/wsl 安装 WSL" goto :error ) :: Upgrade WSL echo "[INFO] 正在升级 WSL..." wsl --update if %errorlevel% neq 0 ( echo "[ERROR] WSL 升级失败" goto :error ) echo "[INFO] WSL 升级完成" :: Set WSL2 as default echo "[INFO] 设置 WSL2 为默认版本..." wsl --set-default-version 2 if %errorlevel% neq 0 ( echo "[ERROR] 设置 WSL2 为默认版本失败" goto :error ) echo "[INFO] WSL2 已设置为默认版本" :: Check if Debian is installed echo "[INFO] 检查 Debian 安装状态..." wsl -d Debian echo "Debian is installed" >nul 2>&1 if %errorlevel% equ 0 ( echo "[INFO] 检测到已安装的 Debian" echo. echo "[WARN] 是否要卸载现有的 Debian?" echo "[INFO] 1. 是" echo "[INFO] 2. 否" echo. set /p "choice=请选择 (1/2): " if "!choice!"=="1" ( echo "[INFO] 正在卸载 Debian..." wsl --unregister Debian if %errorlevel% neq 0 ( echo "[ERROR] Debian 卸载失败" goto :error ) echo "[INFO] Debian 已卸载" ) else ( echo "[INFO] 已取消卸载 Debian" goto :error ) ) :: Choose installation location echo. echo "[INFO] 请选择 Debian 安装位置:" echo "[INFO] 1. 默认位置" echo "[INFO] 2. 自定义位置" echo. set /p "location=请选择 (1/2): " if "!location!"=="2" ( echo "[INFO] 请输入安装路径(例如:D:\WSL\Debian)" set /p "install_path=安装路径: " if not exist "!install_path!" mkdir "!install_path!" echo "[INFO] 正在安装 Debian 到 !install_path! ..." wsl --install -d Debian --location "!install_path!" ) else ( echo "[INFO] 正在安装 Debian 到默认位置..." wsl --install -d Debian ) if %errorlevel% neq 0 ( echo "[ERROR] Debian 安装失败" goto :error ) echo "[INFO] Debian 安装完成" :: Verify installation echo "[INFO] 验证安装..." wsl -d Debian echo "Debian is installed" >nul 2>&1 if %errorlevel% equ 0 ( echo "[INFO] Debian 安装验证成功" echo "[INFO] 请打开新的终端窗口,完成 Debian 的初始设置" ) else ( echo "[ERROR] Debian 安装验证失败" goto :error ) echo. echo "============================================" echo " 升级和安装完成!" echo "============================================" echo. echo "[INFO] 请按照以下步骤完成设置:" echo "[INFO] 1. 打开新的终端窗口" echo "[INFO] 2. 等待 Debian 首次启动" echo "[INFO] 3. 设置用户名和密码" echo "[INFO] 4. 运行 check_windows_wsl.bat 验证环境" echo. echo "[INFO] 按任意键退出..." pause >nul goto :eof :error echo. echo "[WARN] 操作失败,请检查错误信息" echo "[INFO] 按任意键退出..." pause >nul exit /b 1 :eof endlocal