WSL简介与安装流程(Windows 下的 Linux 子系统)

news2025/2/12 3:34:41

目录

1.wsl安装

1.1 WSL简介

1.1.1 WSL 的主要功能

1.1.2 WSL 的版本

1.1.3 为什么使用 WSL?

1.1.4 WSL 的工作原理

1.1.5 WSL 的常见使用场景

1.1.6 与虚拟机的区别

1.1.7 适合使用 WSL 的人群

1.2 启用 WSL

1.2.1 打开 PowerShell(管理员模式)。

1.2.2 输入以下命令来启用 WSL 和虚拟机平台:

2.安装虚拟机

2.1 查看可安装发行版

2.1.1 查看可用的虚拟机

2.1.2 输出示例

2.2 安装虚拟机

2.2.1 安装指定的 Linux 发行版:

2.2.2 例如安装 Ubuntu 20.04:

2.2.3 首次启动

2.3 验证虚拟机状态

2.3.1 验证虚拟机是否安装成功并启动

2.3.2 启动虚拟机

2.4 删除现有虚拟机

2.4.1 查看已安装的虚拟机

2.4.2 注销或删除虚拟机

3. 设置 WSL 版本(可选)

3.1 查看当前版本:

3.2 切换到 WSL 2(推荐):

3.3 设置默认版本(新安装的虚拟机使用此版本):

3.4 注意事项


1.wsl安装

1.1 WSL简介

WSL(Windows Subsystem for Linux,Windows 下的 Linux 子系统)是微软在 Windows 10 和 Windows 11 中推出的一项功能,允许用户在 Windows 系统中运行完整的 Linux 环境,而无需安装虚拟机或双系统。

以下是关于 WSL 的详细介绍:

1.1.1 WSL 的主要功能

WSL 提供了一种在 Windows 系统中运行 Linux 环境的方法,特点如下:

  • 可以运行大多数 Linux 命令行工具、脚本和应用程序。
  • 兼容大多数 Linux 发行版(如 Ubuntu、Debian、Kali Linux 等)。
  • 无需启动虚拟机或双系统,性能接近原生。
  • 能直接访问 Windows 文件系统(通过 /mnt/c/ 等目录)。

1.1.2 WSL 的版本

WSL 有两个主要版本:

WSL 1

  • 特点:使用 Linux 系统调用翻译层,与 Windows 内核交互。
  • 优点:启动速度快,占用少量资源,兼容性高。
  • 缺点:不支持完整的 Linux 内核功能,如 Docker 等依赖内核功能的软件。

WSL 2

  • 特点:使用轻量级虚拟机运行完整的 Linux 内核。
  • 优点:性能更强,兼容性更好,可以运行 Docker 等复杂的应用程序。
  • 缺点:启动速度较慢,占用更多内存(但仍比传统虚拟机轻量)。

你可以通过以下命令检查 WSL 版本:

wsl --list --verbose

1.1.3 为什么使用 WSL?

WSL 对开发者和 Linux 用户特别有吸引力,原因包括:

开发者友好

  • 可直接在 Linux 环境中运行 Node.js、Python、Ruby、Go 等开发工具。
  • 使用 git 进行版本控制,支持 Linux 下的开发流程。

系统兼容

  • 直接访问 Windows 文件和工具(如 VS Code、PowerShell 等)。
  • 无需配置复杂的网络桥接即可在 Linux 和 Windows 应用之间传输数据。

无需虚拟机或双系统

  • 与传统虚拟机相比,占用更少的系统资源。
  • 不需要重新启动或切换系统。

1.1.4 WSL 的工作原理

WSL 在 Windows 上运行 Linux 的方式包括:

  • WSL 1:通过翻译层将 Linux 系统调用转化为 Windows 系统调用。
  • WSL 2:使用轻量级虚拟机运行完整的 Linux 内核,并通过快速文件传输机制与 Windows 文件系统交互。

1.1.5 WSL 的常见使用场景

  • Web 开发:使用 Linux 下的工具(如 Nginx、MySQL、Node.js 等)进行开发。
  • 学习 Linux:提供一个无风险的环境来学习 Linux 命令和工具。
  • 运行脚本和工具:如 Bash 脚本、Python 脚本等。
  • 系统集成:将 Linux 工具与 Windows 应用程序无缝结合。

1.1.6 与虚拟机的区别

特性WSL虚拟机
性能接近原生较高但略慢
启动速度几乎瞬间启动需要完整虚拟机启动
系统资源占用很低较高
兼容性限于 Linux 命令行环境完整的 Linux 桌面或服务器环境
文件系统访问无缝访问 Windows 文件系统需要配置共享文件夹

1.1.7 适合使用 WSL 的人群

  • Windows 用户,需要偶尔运行 Linux 工具或脚本。
  • Web 开发者,特别是使用 Linux 环境作为部署目标的开发者。
  • 想学习 Linux,但又不想安装双系统或虚拟机的用户。

1.2 启用 WSL

1.2.1 打开 PowerShell(管理员模式)。

1.2.2 输入以下命令来启用 WSL 和虚拟机平台:

wsl --install

该命令将自动启用所需的功能,包括 WSL 1、WSL 2 和虚拟机平台。若系统未安装虚拟机平台,安装过程中会提示你重启计算机。

如果 wsl --install 命令不可用,可以尝试以下单独的命令:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

2.安装虚拟机

2.1 查看可安装发行版

2.1.1 查看可用的虚拟机

使用以下命令查看支持的 Linux 发行版:

wsl --list --online

2.1.2 输出示例

C:\Users\32956>wsl --list --online
以下是可安装的有效分发的列表。
使用 'wsl.exe --install <Distro>' 安装。

NAME                            FRIENDLY NAME
Ubuntu                          Ubuntu
Debian                          Debian GNU/Linux
kali-linux                      Kali Linux Rolling
Ubuntu-18.04                    Ubuntu 18.04 LTS
Ubuntu-20.04                    Ubuntu 20.04 LTS
Ubuntu-22.04                    Ubuntu 22.04 LTS
Ubuntu-24.04                    Ubuntu 24.04 LTS
OracleLinux_7_9                 Oracle Linux 7.9
OracleLinux_8_7                 Oracle Linux 8.7
OracleLinux_9_1                 Oracle Linux 9.1
openSUSE-Leap-15.6              openSUSE Leap 15.6
SUSE-Linux-Enterprise-15-SP5    SUSE Linux Enterprise 15 SP5
SUSE-Linux-Enterprise-15-SP6    SUSE Linux Enterprise 15 SP6
openSUSE-Tumbleweed             openSUSE Tumbleweed

2.2 安装虚拟机

2.2.1 安装指定的 Linux 发行版:

wsl --install -d <虚拟机名称>

2.2.2 例如安装 Ubuntu 20.04

wsl --install -d Ubuntu-22.04

2.2.3 首次启动

安装完成后,首次启动时会提示设置用户名和密码。设置完成后即可进入新的 WSL 环境。列如:

Enter new UNIX username: fhy
New password:
Retype new password:
passwd: password updated successfully
Installation successful!

2.3 验证虚拟机状态

2.3.1 验证虚拟机是否安装成功并启动

wsl --list --verbose

2.3.2 启动虚拟机

wsl

2.4 删除现有虚拟机

2.4.1 查看已安装的虚拟机

使用以下命令列出当前已安装的 Linux 发行版:

wsl --list --verbose

输出示例:

C:\Users\32956>wsl --list --verbose
  NAME            STATE           VERSION
* Ubuntu-22.04       Running           1

2.4.2 注销或删除虚拟机

如果确定不需要某个虚拟机,可以删除它。

(1)注销虚拟机(保留文件): 仅删除 WSL 环境配置,不会删除对应的文件:

wsl --unregister <虚拟机名称>

例如:

wsl --unregister Ubuntu-22.04

(2)完全删除虚拟机(包括文件):

  • 找到虚拟机的文件存储位置(默认在 C:\Users\<用户名>\AppData\Local\Packages)。
  • 手动删除对应的文件夹。

3. 设置 WSL 版本(可选)

WSL 支持两种版本,WSL 1WSL 2。可以设置虚拟机使用的版本。

3.1 查看当前版本:

wsl --list --verbose

3.2 切换到 WSL 2(推荐):

wsl --set-version <虚拟机名称> 2

例如:

wsl --set-version Ubuntu-20.04 2

3.3 设置默认版本(新安装的虚拟机使用此版本):

wsl --set-default-version 2

3.4 注意事项

当安装了vmware时,不要启动WSL2,可能导致虚拟化问题。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2251017.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java树】二叉树遍历的简单实现

二叉树的遍历 二叉树的遍历是值按照一定顺序访问二叉树中所有结点的过程&#xff0c;确保每个结点被访问且仅被访问一次。遍历操作是对二叉树的基础操作&#xff0c;用于后续的查找、排序和路径计算等功能。 二叉树的遍历有以下几种常见方式&#xff1a;深度遍历&#xff08;…

STL算法之set相关算法

STL一共提供了四种与set(集合)相关的算法&#xff0c;分别是并集(union)、交集(intersection)、差集(difference)、对称差集(symmetric difference)。 目录 set_union set_itersection set_difference set_symmetric_difference 所谓set&#xff0c;可细分为数学上定义的和…

鸿蒙ArkUI-X已更新适配API13啦

ArkUI-X 5.0.1 Release版配套OpenHarmony 5.0.1 Rlease&#xff0c;API 13&#xff0c;新增适配部分API 13接口支持跨平台&#xff1b;框架能力进一步完善&#xff0c;支持Android应用非压缩模式&#xff0c;支持Android Fragment对接跨平台。ACE Tools工具易用性提升&#xff…

rest-assured multiPart上传中文名称文件,文件名乱码

rest-assured是一个基于java语言的REST API测试框架&#xff0c;在使用rest-assured的multipart 上传文件后&#xff0c;后端获取的文件名称乱码。截图如下&#xff1a; 原因是rest-assured multipart/form-data默认的编码格式是US-ASCII&#xff0c;需要设置为UTF-8。 Befo…

前端页面或弹窗在线预览文件的N种方式

需求&#xff1a;后端返回给前端一个地址后&#xff0c;在前端页面上或则在弹框中显示在线的文档、表格、图片、pdf、video等等&#xff0c;嵌入到前端页面 方式一&#xff1a; 使用vue-office 地址&#xff1a;vue-office简介 | vue-office 个人感觉这个插件是最好用的&#x…

<<WTF-Solidity>>学习笔记(part 21-24)

part 21: 调用已部署合约 在Solidity中&#xff0c;一个合约可以调用另一个合约的函数&#xff0c;这在构建复杂的DApps时非常有用。本教程将会介绍如何在已知合约代码&#xff08;或接口&#xff09;和地址的情况下&#xff0c;调用已部署的合约。 part 22: Call call 是…

element的el-table表格标题用css自定义是否必填,用添加伪类的方式标红色*

element的el-table表格标题用css自定义是否必填添加伪类红色 * 效果图如下&#x1f447; el-table组件的html部分 css部分 /deep/.el-table__header-wrapper{.el-table__header{.has-gutter tr .el-table__cell:nth-of-type(3) .cell:before{content: *;color:red}.has-gutte…

2024 ccpc 辽宁省赛 E(构造 思维?)L(二分+一点点数论知识?)

E 题意&#xff1a; 可以注意到&#xff1a; 我的两种方格都四个方格的大小。 所以 如果存在一种摆放方式 那么 4|nm。 再考虑一种特殊的情况 22 &#xff0c;此时虽然我的积是4 但是无法摆放的。 1>对于 4 | n,或者 4 | m.我直接摆放第二种方格就可以了。 如果我n 是4 的…

【python】OpenCV—Tracking(10.5)—dlib

文章目录 1、功能描述2、代码实现3、效果展示4、完整代码5、涉及到的库函数dlib.correlation_tracker() 6、参考 1、功能描述 基于 dlib 库&#xff0c;实现指定类别的目标检测和单目标跟踪 2、代码实现 caffe 模型 https://github.com/MediosZ/MobileNet-SSD/tree/master/…

Ps:存储 Adobe PDF

在 Adobe Photoshop 中&#xff0c;将图像保存为 PDF 文件时&#xff0c; 会弹出“存储 Adobe PDF” Save Adobe PDF对话框。在此对话框中提供了多个选项&#xff0c;用于控制 PDF 文件的输出&#xff0c;包括一般设置&#xff08;选择预设、兼容性和保留编辑功能&#xff09;、…

【查询目录】.NET开源 ORM 框架 SqlSugar 系列

.NET开源 ORM 框架 SqlSugar 系列 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列【Code First】.NET开源 ORM 框架 SqlSugar 系列【数据事务…

论文笔记(五十七)Diffusion Model Predictive Control

Diffusion Model Predictive Control 文章概括摘要1. Introduction2. Related work3. 方法3.1 模型预测控制3.2. 模型学习3.3. 规划&#xff08;Planning&#xff09;3.4. 适应 4. 实验&#xff08;Experiments&#xff09;4.1. 对于固定奖励&#xff0c;D-MPC 可与其他离线 RL…

hadoop环境配置-创建hadoop用户+更新apt+安装SSH+配置Java环境

一、创建hadoop用户(在vm安装的ubantu上打开控制台) 1、sudo useradd -m hadoop -s /bin/bash &#xff08;创建hadoop用户&#xff09; 2、sudo passwd hadoop (设置密码) 3、sudo adduser hadoop sudo&#xff08;将新建的hadoop用户设置为管理员&#xff09; 执行如下图 将…

基于 SpringBoot 的新冠密接者跟踪系统:如何实现高效信息推送功能

第2章 程序开发技术 2.1 Mysql数据库 为了更容易理解Mysql数据库&#xff0c;接下来就对其具备的主要特征进行描述。 &#xff08;1&#xff09;首选Mysql数据库也是为了节省开发资金&#xff0c;因为网络上对Mysql的源码都已进行了公开展示&#xff0c;开发者根据程序开发需要…

Python 自动化办公的 10 大脚本

大家好&#xff0c;我是你们的 Python 讲师&#xff01;今天我们将讨论 10 个实用的 Python 自动化办公脚本。这些脚本可以帮助你简化日常工作&#xff0c;提高效率。无论是处理 Excel 文件、发送邮件&#xff0c;还是自动化网页操作&#xff0c;Python 都能派上用场。 1. 批量…

Android 使用OpenGLES + MediaPlayer 获取视频截图

概述 Android 获取视频缩略图的方法通常有: ContentResolver: 使用系统数据库MediaMetadataRetriever: 这个是android提供的类&#xff0c;用来获取本地和网络media相关文件的信息ThumbnailUtils: 是在android2.2&#xff08;api8&#xff09;之后新增的一个&#xff0c;该类为…

数字化转型背景下,高职院校计算机网络应用的革新策略

在当今信息化时代&#xff0c;计算机网络已经成为高职院校教育不可或缺的一部分&#xff0c;它不仅极大地丰富了教育资源&#xff0c;提高了交流的便捷性&#xff0c;还催生了多样化的教学模式。对于高职院校来说&#xff0c;加强计算机网络应用的建设不仅是顺应时代潮流的必然…

【K230 CanMV】图像识别-摄像头获取图像 Sensor 函数全解析

引言&#xff1a;随着图像处理技术的不断发展&#xff0c;摄像头在嵌入式系统中的应用越来越广泛&#xff0c;尤其是在智能监控、自动驾驶、机器人视觉等领域。K230作为一款高性能的嵌入式处理器&#xff0c;提供了强大的图像处理能力&#xff0c;支持多种类型的摄像头接入与图…

SQL优化与性能——数据库设计优化

数据库设计优化是提高数据库性能、确保数据一致性和支持业务增长的关键环节。无论是大型企业应用还是小型项目&#xff0c;合理的数据库设计都能够显著提升系统性能、减少冗余数据、优化查询响应时间&#xff0c;并降低维护成本。本章将深入探讨数据库设计中的几个关键技术要点…

用Python做数据分析环境搭建及工具使用(Jupyter)

目录 一、Anaconda下载、安装 二、Jupyter 打开 三、Jupyter 常用快捷键 3.1 创建控制台 3.2 命令行模式下的快捷键 3.3 运行模式下快捷键 3.4 代码模式和笔记模式 3.5 编写Python代码 一、Anaconda下载、安装 【最新最全】Anaconda安装python环境_anaconda配置python…