什么是WSL2

WSL2(Windows Subsystem for Linux 2)是适用于Linux的Windows子系统体系结构的一个新版本,它支持适用于Linux的Windows子系统在Windows上运行ELF64 Linux二进制文件。它的主要目标是提高文件系统性能,以及添加完全的系统调用兼容性。

  • 网卡管理、网络抓包、查看网络连接状态、防火墙等较底层的网络相关功能。
  • 挂载文件(如 ext4 文件、squashfs 文件)和网络资源(如 nfs、ssh )到本地。
  • tmpfs (在 /run/shm 或者 /dev/shm,/tmp 不是)。
  • 完整的 cgroups,因此可以运行 Docker 等容器。
  • 完整的 IPC ( WSL 缺失一部分,比如运行不了 fakeroot )。
  • 可修改内核参数、添加内核模块,以及替换内核。因此可以支持很多更底层的应用。

因为之上的这些原因,WSL2可以更好地享受完整Linux系统带来的方便,不需要因为WSL的功能缺失而使用各种迂回方法。

优势

  • 进程启动开销大大减少,需要频繁启动进程的场景性能大幅提升。
  • 本地磁盘(不包括挂载的 /mnt/*)读写性能大幅提升。

前提

启用可选的两个Windows系统功能

  • 适用于Linux的Windows子系统
  • 虚拟机平台

方式一:走系统设置开启

前往系统设置-应用-程序和功能-启用或关闭Windows功能,勾选上述目标项,确认即可。

方式二:走PowerShell命令开启

如果你习惯命令行,推荐用如下命令来开启上诉两项:

# 安装适用于 Linux 的 Windows 子系统
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart # 启用“虚拟机平台”可选组件
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

执行完,请务必重启计算机。

WSL2设置成默认版本

在Powershell中,输入如下命令:

wsl --set-default-version 2

出现上图提示就表示设置成功了。

如果遇到点问题,可能是需要升级一下wsl组件,安装一下安装包即可。

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

安装你中意的Linux版本

如果你是Windows10,请打开你的Microsoft Store,搜索你的目标Linux版本。

或者直接点击已下知道的几个链接,可以跳转到对应的安装页面。

下载完毕后,启动并打开,会提示你输入新的用户名和密码,这将是你创建的第一个用户。

安装Docker Desktop For Windows

最新稳定版安装包:Docker Desktop Installer.exe

默认推荐勾选:

  • Enable WSL 2 Windows Features
  • Add shortcut to desktop

右键桌面右下角的Docker图标,进入Setting界面,可以设置你安装的Linux版本作为默认的distro

因为一些不确定的原因,这里推荐你切换到Linux的终端环境来执行一下命令,而不是使用PowerShell。

资源管理器访问wsl

在资源管理器的地址栏输入如下命令,即可轻松访问Linux子系统。

\\wsl$

Visual Studio Code访问WSL

通过安装以下插件,可以实现从Visual Studio CodeWSL的访问。

通过安装以下插件,可以实现从Visual Studio CodeWSLDocker Container的访问。

阿里云加速Docker镜像

资料

Windows10上开启WSL2(Windows Subsystem for Linux 2)及Docker Desktop For Windows的更多相关文章

  1. 适用于windows10 Linux子系统的安装管理配置 How To Management Windows Subsystem for Linux WSL

    什么是WSL Windows Subsystem for Linux 简称WLS,适用于Linux的Windows子系统,可以直接在Windows上运行Linux环境(包括大部分命令行工具) Linu ...

  2. Windows Subsystem for Linux(WSL)安装记录

    什么是WSL Windows Subsystem for Linux(简称WSL)是一个为在Windows 10上能够原生运行Linux二进制可执行文件(ELF格式)的兼容层.它是由微软与Canoni ...

  3. Windows SubSystem for Linux

    Summary of Windows SubSystem for Linux Install Ubuntu Run PowerShell as administrator and input: Ena ...

  4. WSL (Windows Subsystem for Linux) 的 VSLAM (Visual Simultaneous Localization and Mapping) 道路

    WSL 的 VSLAM 道路 以 Windows Subsystem for Linux 闯入 Visual Simultaneous Localization and Mapping 世界的艰难道路 ...

  5. Bash on Ubuntu on Windows ( Windows Subsystem for Linux)

    1 #  Bash on ubuntu on Windows http://www.cnblogs.com/anonymous-ufo/p/6143480.html 1 1 如何启用Bash on u ...

  6. WSL(Windows Subsystem for Linux)--Pico Process Overview

    [转载] Windows Subsystem for Linux -- Pico Process Overview Overview This post discusses pico processe ...

  7. Windows Subsystem for Linux 环境变量

    WSL(Windows Subsystem for Linux )的环境变量是包含Linux子系统和Windows系统的,测试如下: wy@WY-PC:/mnt/c/Windows/System32$ ...

  8. WSL优化 (Windows Subsystem for Linux) Linux子系统优化配置

    目录 wsl优化 (Windows Subsystem for Linux) Linux子系统优化 1. 永久修改wsl终端字体 2. 修改Linux终端配色 3. 添加WSL到右键菜单 wsl优化 ...

  9. Running ASP.NET Core applications on Windows Subsystem for Linux

    Setting up Linux on Windows 10 First thing is to enable Windows Subsystem for Linux. It doesn’t inst ...

随机推荐

  1. [Java]数据分析--聚类

    距离度量 需求:计算两点间的欧几里得距离.曼哈顿距离.切比雪夫距离.堪培拉距离 实现:利用commons.math3库相应函数 1 import org.apache.commons.math3.ml ...

  2. Linux_ACL文件访问控制列表

    一.ACL文件访问控制列表 前言 1️⃣:ACL-文件访问控制列表: 2️⃣:ACL可以针对单个用户,单个文件或目录来进行r.w.x的权限设定,特别适用于需要特殊权限的使用情况. 3️⃣:ACL就是可 ...

  3. FreeRTOS相关转载-(朱工的专栏)

    FreeRTOS系列第1篇---为什么选择FreeRTOS? 1.为什么学习RTOS? 作为基于ARM7.Cortex-M3硬件开发的嵌入式工程师,我一直反对使用RTOS.不仅因为不恰当的使用RTOS ...

  4. linux 进程信号集合 sigset_t -(转自linengeir的专栏)

    sigset_t 号集及信号集操作函数:信号集被定义为一种数据类型: typedef struct { unsigned long sig[_NSIG_WORDS]: } sigset_t 信号集用来 ...

  5. Kali Linux 2021.2 发布 (Kaboxer, Kali-Tweaks, Bleeding-Edge & Privileged Ports)

    Kali Linux 简介 Kali Linux 是基于 Debian 的 Linux 发行版,旨在进行高级渗透测试和安全审核.Kali Linux 包含数百种工具,可用于各种信息安全任务,例如渗透测 ...

  6. docker部署安装流程第一版

    docker部署安装流程第一版 1.以Dockerfile的方式进行构建docker 以cloud 新联盟为例 dockerfile from hub.c.163.com/library/maven  ...

  7. C# 将DLL制作CAB包并在浏览器下载,自动安装。(Activex)(包括ie打开cab包一直弹出用户账户控制,确定之后无反应的解决办法。)

    制作Activex程序网上有很多方法我就不说了,我的业务主要做的就是将DLL打包成CAB供浏览器下载. 下面制作证书,以及制作cab包需要用到一些工具.我将工具包上传到自己的博客园里了,以供大家下载. ...

  8. TVM设计与构架构建

    TVM设计与构架构建 本文档适用于希望了解TVM体系结构和/或在项目上进行积极开发的开发人员.该页面的组织如下: 实例编译流程Example Compilation Flow描述TVM把一个模型的高级 ...

  9. 简化可视SLAM应用程序的开发

    简化可视SLAM应用程序的开发 Easing the development of visual SLAM applications 同步定位和映射(SLAM)描述了一个设备(如机器人)使用传感器数据 ...

  10. NX二次开发-通过3x3矩阵获取XYZ轴矢量

    函数:UF_CSYS_ask_wcs() 函数说明:通过3x3矩阵获取XYZ轴矢量 用法: 1 #include <uf.h> 2 #include <uf_mtx.h> 3 ...