# 前置条件 1. 系统版本 Windows 11:全部版本支持 Windows 10:2004(Build 19041)及以上 查看版本:Win+R → 输入 winver 2. 开启 CPU 虚拟化(必须!) 任务管理器 → 性能 → CPU,查看【虚拟化】: 显示已启用:正常 已禁用:重启电脑进 BIOS/UEFI,打开 Intel:Intel VT-x / VMX AMD:SVM Mode / AMD-V 3. 操作终端必须右键 → 以管理员身份运行(PowerShell / Windows 终端) # 安装WSL 管理员终端执行: ```powershell wsl --install ``` # 重启电脑 # 安装Ubuntu 1. 设置版本为wsl2 ```powershell wsl --set-default-version 2 ``` 2. 安装Ubuntu ```powershell wsl --install -d Ubuntu ``` 3. 安装后一般会自动用windows账户设置用户,显示在命令行,可以就直接回车,不行就自己改。 4. 用户确定之后让输入密码。不会回显,正常输入即可。 # wsl挪到别的盘 wsl默认是在C盘,如果C盘空间较小,可以挪到别的盘。 关掉之前启动的Ubuntu窗口,新开一个窗口 1. 查看ubuntu名称。 ```wsl -l -v``` 2. 记下名称,创建新存放目录 ``` # 存放迁移后的系统(vhdx在这里) New-Item -ItemType Directory D:\WSL\Ubuntu # 临时存放备份tar包 New-Item -ItemType Directory D:\WSL\Backup ``` 3. 导出原Linux系统 ``` wsl --export Ubuntu D:\WSL\Backup\ubuntu.tar ``` 4. 注销旧C盘实例 ``` wsl --unregister Ubuntu ``` 5. 导入到D盘目标目录 ``` wsl --import Ubuntu D:\WSL\Ubuntu D:\WSL\Backup\ubuntu.tar --version 2 ``` 6. 如果导入后默认变成 root 登录 如果原来的普通用户失效,需要设置默认登录用户,进入终端之后 ``` # 设置默认登录用户 starm echo "[user]" >> /etc/wsl.conf echo "default=starm" >> /etc/wsl.conf ``` linux内输入```exit``` 关闭linux```wsl --shutdown``` 测试启动: ``` wsl -d Ubuntu ``` 7. 清理(确认全部正常再删!) 环境使用一切没问题后,删除备份 tar 包释放空间: ``` Remove-Item D:\WSL\Backup\ubuntu.tar ``` # 如果Windows开了梯子 进wsl的时候会报警告: ``` wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理。 ``` 关掉wsl,打开```C:\Users\starm\``` 新建.wslconfig 写入 ``` [wsl2] networkingMode=mirrored autoProxy=true dnsTunneling=true firewall=true ``` 重启wsl # 更新apt,安装基础工具 0. 先做最关键:更换国内软件源(必做,否则下载巨慢) ① 备份原有源文件 ```sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak``` ② 编辑源文件 ```sudo nano /etc/apt/sources.list``` 清空里面全部内容,粘贴清华源(Ubuntu 22.04 jammy) ``` plaintext deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse ``` 快捷键: Ctrl+O 保存 → 回车确认 → Ctrl+X 退出 ③ 更新软件索引 ``` sudo apt update sudo apt upgrade -y ``` upgrade 会升级系统自带软件,第一次新装建议跑完。 1. 基础必备工具(通用开发全部推荐安装) ``` sudo apt install -y git curl wget zip unzip tar htop tree nano openssh-client ca-certificates ``` 简单说明: git:代码管理 curl/wget:网络请求、下载文件 htop:增强任务管理器 tree:目录树形展示 openssh-client:ssh 远程连接 2. 如果你需要编译代码(C/C++、Python 编译包、Nginx 等) ``` sudo apt install -y build-essential gcc g++ make cmake pkg-config ``` 3. 终端体验增强(可选,强烈推荐) ``` sudo apt install -y zsh # 可选安装oh-my-zsh,shell更好用 sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" ``` 4. 开发语言按需挑选,不用的跳过 Python(系统自带 python3,只装工具) ``` sudo apt install -y python3-pip python3-venv ``` pip换国内源 ``` pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple ``` Node.js 不要用 apt 自带老旧版本,推荐 nvm 安装: ``` curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash ``` Java / Go / Rust 需要再说,单独给安装脚本 5. VS Code 联动 WSL(最重要!) Windows 安装 VS Code,装好扩展:Remote - WSL 在 Ubuntu 终端直接输入: ```code .``` 自动打开 VS Code 并接入 WSL 环境,文件互通开发。 6. 代理自动脚本(解决你之前那条localhost警告,可选) 追加到 ~/.bashrc,每次登录自动配置代理 ``` nano ~/.bashrc ``` ``` # 粘贴到文件末尾 export WIN_HOST=$(grep nameserver /etc/resolv.conf | awk '{print $2}') # 修改为你的代理端口 export HTTP_PROXY="http://$WIN_HOST:7890" export HTTPS_PROXY="http://$WIN_HOST:7890" export ALL_PROXY="socks5://$WIN_HOST:7890" ``` 不需要代理时执行:```unset HTTP_PROXY HTTPS_PROXY ALL_PROXY``` 生效: ``` source ~/.bashrc ```