Wsl2DebianEnv/scripts/system/check-wsl.bat
Mars 6ddba3e722 Initial commit
feat: 完成 Zsh 插件配置脚本的优化和测试 - 修复 autojump 配置冲突 - 清理重复的插件安装 - 优化脚本结构和注释

feat: 优化shell脚本 - 1. 增强错误处理和恢复机制 2. 添加网络连接优化和镜像源支持 3. 改进进度显示和用户交互 4. 优化配置文件管理和备份 5. 改进插件管理机制 6. 增强依赖检查和安装 7. 添加完整的日志记录功能 8. 修复字体安装相关问题

docs: 完善shell、system和utils部分的README文档 - 1. 添加详细的脚本说明和使用方法 2. 补充依赖要求和注意事项 3. 添加常见问题解答 4. 更新版本日志

feat(editor): 优化 neovim 和 nvchad 安装脚本,添加性能优化配置和详细文档

feat: 优化Python开发环境安装脚本,分离基础包和机器学习包,修复virtualenvwrapper配置

feat: 优化开发工具安装脚本,统一使用common.sh中的函数,改进错误处理

fix: 修复DNMP安装脚本,跳过自动配置PHP开发环境

fix: 提交删除的 init.sh 和 mysql.sh 文件
2025-03-25 16:14:03 +08:00

137 lines
3.6 KiB
Batchfile

@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 环境...
echo.
:: Check Windows version
echo INFO: 检查 Windows 版本...
for /f "tokens=*" %%a in ('ver') do set "windows_version=%%a"
echo Windows 版本: !windows_version!
:: Check WSL installation
echo INFO: 检查 WSL 安装状态...
wsl --version >nul 2>&1
if %errorlevel% equ 0 (
echo INFO: WSL 已安装
echo.
wsl --version
echo.
) else (
echo ERROR: WSL 未安装
echo INFO: 请访问 https://aka.ms/wsl 安装 WSL
goto :error
)
:: Check WSL2 status
echo INFO: 检查 WSL2 状态...
wsl -l -v > temp.txt
findstr /i "2" temp.txt >nul
if %errorlevel% equ 0 (
echo INFO: WSL2 已启用
) else (
echo WARN: WSL2 未启用
echo INFO: WSL 发行版列表:
echo.
wsl -l -v
echo.
echo INFO: 请运行以下命令启用 WSL2:
echo wsl --set-default-version 2
goto :error
)
:: Check Debian installation
echo INFO: 检查 Debian 安装状态...
wsl -d Debian echo "Debian is installed" >nul 2>&1
if %errorlevel% equ 0 (
echo INFO: Debian 已安装
) else (
echo WARN: Debian 未安装
echo INFO: 请运行以下命令安装 Debian:
echo wsl --install -d Debian
goto :error
)
:: Check virtualization
echo INFO: 检查虚拟化状态...
systeminfo | findstr /i "Hyper-V" > temp.txt
findstr /i "Virtual Ethernet Adapter" temp.txt >nul
if %errorlevel% equ 0 (
echo INFO: 虚拟化已启用
) else (
findstr /i "hypervisor has been detected" temp.txt >nul
if %errorlevel% equ 0 (
echo INFO: 虚拟化已启用
) else (
echo ERROR: 虚拟化未启用
echo INFO: 请在 BIOS 中启用虚拟化 (Intel VT-x 或 AMD-V)
goto :error
)
)
del temp.txt
:: Check Windows features
echo INFO: 检查 Windows 功能...
dism /online /get-featureinfo /featurename:Microsoft-Windows-Subsystem-Linux > temp.txt
findstr /i "状态.*已启用" temp.txt >nul
if %errorlevel% equ 0 (
echo INFO: Linux 子系统已启用
) else (
echo WARN: Linux 子系统未启用
echo INFO: 请运行以下命令启用 Linux 子系统:
echo dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
goto :error
)
dism /online /get-featureinfo /featurename:VirtualMachinePlatform > temp.txt
findstr /i "状态.*已启用" temp.txt >nul
if %errorlevel% equ 0 (
echo INFO: 虚拟机平台已启用
) else (
echo WARN: 虚拟机平台未启用
echo INFO: 请运行以下命令启用虚拟机平台:
echo dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
goto :error
)
del temp.txt
echo.
echo ============================================
echo 检查完成!环境已就绪
echo ============================================
echo.
echo INFO: 您的 WSL2 环境已经准备就绪:
echo.
echo INFO: 1. Windows 版本符合要求
echo INFO: 2. WSL2 已正确安装并启用
echo INFO: 3. Debian 发行版已安装
echo INFO: 4. 虚拟化功能已启用
echo INFO: 5. 所需的 Windows 功能已启用
echo.
echo INFO: 您现在可以开始使用 WSL2 环境了!
echo ============================================
echo.
echo INFO: 按任意键退出...
pause >nul
goto :eof
:error
echo.
echo WARN: 检查未通过,请按照提示解决问题
echo INFO: 按任意键退出...
pause >nul
exit /b 1
:eof
endlocal