当前位置: 首页 > news >正文

win wsl2使用

前提

Windows 11(所有版本)
Windows 10 2004+(Build 19041+)
必须开启 CPU 虚拟化(BIOS/UEFI 里开)
家庭版 / 专业版都可以

安装

  1. 以管理员打开终端
    Win+X → 终端 (管理员) / Windows PowerShell (管理员) → 点 “是”
  2. 执行安装命令 powershell
wsl--install

自动做 4 件事:
启用 适用于 Linux 的 Windows 子系统
启用 虚拟机平台(WSL2 必须)
下载安装 WSL2 Linux 内核
安装默认发行版:Ubuntu
自动设 WSL2 为默认版本

  1. 重启电脑
    命令跑完会提示重启 → 立即重启(必须重启)

  2. 首次启动 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

安全配置(关闭全盘挂载)

  1. 在 WSL 内编辑配置
sudonano/etc/wsl.conf
  1. 粘贴以下内容(禁止自动挂载 Windows 盘)
enabled=false
  1. 保存退出
Ctrl+O → 回车 Ctrl+X
  1. 重启 WSL 生效
    管理员 PowerShell:
wsl--shutdown

再进 WSL:
/mnt/c/mnt/d全部消失
→ Linux 完全隔离,再也碰不到 Windows 系统盘

如果只想访问制定的目录,不想把win里的所有盘都挂着

  1. 添加普通用户

  2. 修改配置文件
    sudo nano /etc/wsl.conf

[boot]systemd=true[user]default=finejade[automount]enabled=falsemountFsTab=true[interop]appendWindowsPath=false

保存退出:
Ctrl+O → 回车
Ctrl+X

  1. 创建挂载目录
mkdir~/work
  1. 编辑文件挂载表
sudonano/etc/fstab
  1. 在最后一行添加(直接复制):
E:\work /home/finejade/work drvx defaults,umask=002200
  1. 重启 WSL 生效
    在 Windows CMD 执行:
wsl--shutdownwsl
  1. 测试!
    现在在 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 盘代码目录里了。

文件位置(你之前问的重点)

  1. Linux 内部文件(Windows 看不见)
    在虚拟硬盘:
C:\Users\你的用户名\AppData\Local\Packages\CanonicalGroupLimited...\LocalState\ext4.vhdx

→ 你的 ~/a.txt 就在这里面

  1. 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
http://www.cnnetsun.cn/news/2816703.html

相关文章:

  • 用Python和Matplotlib可视化理解向量场:从曲线积分到环量与通量
  • 【observability】【observability06】使用PostHog和Langfuse分析和调试LlamaIndex应用程序
  • Three.js项目避坑:Shader流光特效性能优化与常见问题排查指南
  • Overleaf新手必看:从编译报错到排版美化,我遇到的6个坑和填坑方法
  • Java 正则
  • 别再手动改价格了!SAP物料主数据维护BAPI:BAPI_MATERIAL_SAVEDATA参数详解与填表示例
  • 别再死记硬背了!用Python+NumPy可视化理解传输线方程与特性阻抗
  • 组件显示和隐藏的优雅过渡:TransitionEffect 在 HarmonyOS6 PC 端的实战
  • Weka数据预处理实战:用‘Discretize’滤镜搞定连续数据离散化,让模型更稳定(以Iris数据集为例)
  • Android启动安全实战:手把手教你用avbtool给dtbo分区镜像签名(附完整命令)
  • 手把手教你用纯C语言(只用stdio.h)实现SM4国密算法,附完整可运行代码
  • Protege新手避坑指南:用Cellfie插件从Excel导入OWL数据,我踩过的4个坑都在这了
  • Windows/Linux双系统下Kettle命令行工具(Pan.bat/Kitchen.sh)的完整配置与避坑手册
  • 别再让Flask开发服务器警告烦你了:手把手教你用Gunicorn+Gevent部署到生产环境
  • 别再死记硬背了!用这5个Meshlab高频场景,带你真正玩转快捷键和核心菜单
  • 新手画板必看:一个MCU复位脚引发的ESD血案与PCB布局避坑指南
  • STM32CubeMX串口调试避坑指南:从时钟树配置到串口助手收不到数据的5个常见问题
  • UVa1059/LA2395 Jacquard Circuits
  • TMC2209数据手册没细说的:串口读写通用寄存器的避坑实战(Linux C代码示例)
  • Vue项目里用Stimulsoft Reports.js做报表,从设计到打印的完整配置流程
  • 从Arduino项目反推:电路、模电、数电知识到底怎么用?
  • 从游戏角色到工业协议:一个有趣的比喻帮你彻底搞懂C#中的ModbusRTU主从通信
  • 汽车ECU开发避坑指南:LIN总线帧头(Header)解析与常见同步错误排查
  • 别再手动修音了!用Melodyne Studio 5.3一键分析人声,Adobe Audition内录素材导入全攻略
  • 从迭代器到结构化绑定:一文看懂C++ unordered_map遍历方式的演进与最佳实践
  • 用STM32CubeMX+Keil5快速配置RZ7886电机驱动(附完整代码包)
  • 【2027最新】基于SpringBoot+Vue的学生网上选课系统管理系统源码+MyBatis+MySQL
  • 码头船只货柜管理系统毕业设计源码
  • HLK-W806驱动ST7567 LCD避坑指南:从初始化失败到完美显示的调试全记录
  • 保姆级教程:手把手教你用OBC4为不同总账科目组(如资产、负债)设置差异化的字段必填规则