win wsl2使用
前提
Windows 11(所有版本)
Windows 10 2004+(Build 19041+)
必须开启 CPU 虚拟化(BIOS/UEFI 里开)
家庭版 / 专业版都可以
安装
- 以管理员打开终端
Win+X → 终端 (管理员) / Windows PowerShell (管理员) → 点 “是” - 执行安装命令 powershell
wsl--install自动做 4 件事:
启用 适用于 Linux 的 Windows 子系统
启用 虚拟机平台(WSL2 必须)
下载安装 WSL2 Linux 内核
安装默认发行版:Ubuntu
自动设 WSL2 为默认版本
重启电脑
命令跑完会提示重启 → 立即重启(必须重启)首次启动 Ubuntu(设置账号)
可以下载国内的镜像安装
等待解压安装
提示:Enter new UNIX username
输入你要的 Linux 用户名(如 finejade)→ 回车
提示:New password
输入密码(输入不显示,正常输)→ 回车
提示:Retype new password
再输一遍 → 回车
fine111111安装成功
fine@DESKTOP-PC:~$如何设置wsl默认系统的系统
先查看本地wsl有哪些系统
*号说明是当前默认系统
wsl--list--verboseNAME STATE VERSION * docker-desktop Stopped2Ubuntu-22.04 Stopped2更换系统
>wsl --set-default Ubuntu-22.04 操作成功完成。# 重启wsl--shutdown# 再次查看>wsl--list--verboseNAME STATE VERSION * Ubuntu-22.04 Stopped2docker-desktop Stopped2安装其他需要的软件
例如go环境
/mnt/e/work/golang/gorm对应 win环境的目录E:\work\golang\gorm
fine@DESKTOP-PC:/mnt/e/work/golang/gormsudoaptupdate&&sudoaptinstallgolang-go-y安全配置(关闭全盘挂载)
- 在 WSL 内编辑配置
sudonano/etc/wsl.conf- 粘贴以下内容(禁止自动挂载 Windows 盘)
enabled=false- 保存退出
Ctrl+O → 回车 Ctrl+X- 重启 WSL 生效
管理员 PowerShell:
wsl--shutdown再进 WSL:/mnt/c、/mnt/d全部消失
→ Linux 完全隔离,再也碰不到 Windows 系统盘
如果只想访问制定的目录,不想把win里的所有盘都挂着
添加普通用户
修改配置文件
sudo nano /etc/wsl.conf
[boot]systemd=true[user]default=finejade[automount]enabled=falsemountFsTab=true[interop]appendWindowsPath=false保存退出:
Ctrl+O → 回车
Ctrl+X
- 创建挂载目录
mkdir~/work- 编辑文件挂载表
sudonano/etc/fstab- 在最后一行添加(直接复制):
E:\work /home/finejade/work drvx defaults,umask=002200- 重启 WSL 生效
在 Windows CMD 执行:
wsl--shutdownwsl- 测试!
现在在 WSL 里直接输入:
cd~/workls挂载实例
一、确认 E 盘是否已经能访问
打开 WSL(Ubuntu)直接输:
ls/mnt/e能列出文件 → 已经自动挂载,直接跳到第二步
提示不存在 → 执行下面手动挂载:
sudomkdir-p/mnt/esudomount-tdrvfs E: /mnt/e再 ls /mnt/e 就能看到 E 盘内容。
二、进入你的代码目录(关键)
假设你 Windows 代码路径是:
E:\projects\mygo对应 WSL 路径:
/mnt/e/projects/mygo进入目录:
cd/mnt/e/projects/mygols现在就在 E 盘代码目录里了。
文件位置(你之前问的重点)
- Linux 内部文件(Windows 看不见)
在虚拟硬盘:
C:\Users\你的用户名\AppData\Local\Packages\CanonicalGroupLimited...\LocalState\ext4.vhdx→ 你的 ~/a.txt 就在这里面
- Windows 访问 Linux 文件(安全)
资源管理器地址栏输入:
\\wsl$→ 进入 Ubuntu/home/ 你的用户名
→ 可复制、编辑、删除(安全)
3. 想挂载某个文件夹(不挂全盘)
wsl.conf:
[automount]enabled=trueoptions="metadata,umask=0022"mountFsTab=false[mount]genMounts=false只手动挂载你指定目录(如 D:\project),不自动挂 C/D/E 全盘
常用 Linux 基础命令(必学)
# 查看当前目录pwd# 列出文件ls# 新建文件toucha.txt# 新建目录mkdirproject# 进入目录cdproject# 编辑文件nanoa.txt# 查看文件cata.txt# 删除文件rma.txt# 更新软件sudoaptupdate&&sudoaptupgrade-y