返回

WSL安装

WSL介绍

WSL2(Windows Subsystem for Linux 2)是 Windows 提供的一种轻量级 Linux 运行环境,具备完整的 Linux 内核,它允许用户在 Windows 系统中运行 Linux 命令行工具和应用程序,而无需安装虚拟机或双系统。

如果想要在Windows系统上使用Linux系统,需要两个步骤:

  • 在Windows系统上启用WSL2
  • 安装 Ubuntu-20.04

此外,WSL 中的 Linux 系统与 Windows 系统之间可以进行文件共享 。在 Linux 中,Windows 的磁盘挂载在 /mnt 目录下,比如 Windows 的 C 盘在 WSL 中可以通过 /mnt/c 访问;反之,在 Windows 文件资源管理器地址栏输入 \\wsl$,回车后就能看到 WSL 中各个 Linux 发行版的根目录,方便在两个系统间传输文件。

共享机制:本质上,WSL 和 Windows 上运行的其他程序一样,共享主机的物理内存资源。Windows 的内存管理系统负责协调和分配内存,确保各个程序包括 WSL 中的 Linux 系统,都能在合理范围内获取所需内存。

文件存储位置:WSL 2 使用基于虚拟硬盘(VHDX)的方式存储数据,用户在 Linux 系统中创建的文件,都记录在 ext4.vhdx 这个虚拟硬盘文件里。从 Linux 系统视角来看,文件还是保存在正常的文件系统目录中,像 /home/user 下的文件,就是用户个人文件。只要虚拟硬盘文件不被删除或损坏,文件就会保留,并不会因为关闭程序而丢失。

wsl的配置文件:(1)wsl.conf:是存在于各个系统内的配置文件,只对子系统生效;(2).wslconfig:位于windows系统中,对所有子系统生效。修改配置文件后,要使用命令:wsl –shutdown重启wsl(这会关闭所有子系统),然后至少等8s,配置才能生效。

网络配置问题:刚下载完Ubuntu,用户可能会遇到网络问题,解决方案是在C盘用户目录下创建一个.wslconfig文件。

警告信息:wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理

解决:解决wsl: 检测到 localhost 代理配置 wsl: 检测到 localhost 代理配置

资源管理器不显示Linux子系统问题:下载完Linux子系统之后,理论上在资源管理器的左侧栏应该会显示Linux(企鹅)的,但我的没有显示。查找原因发现是旧版wsl不匹配新版windows系统。(安装的时候我的是wsl2,可能不是最新版导致的)。因此只需要在powershell中,输入wsl --update即可,等待完成后重启explorer就可以了。

Windows文件资源管理器左侧导航窗格没有Linux图标

Hyper-V和wsl

1、相同点:Hyper-V 和 WSL都是微软提供的在 Windows 系统上与其他操作系统交互的技术。最新版本的 WSL 使用 Hyper-V 架构来实现其虚拟化。

2、不同点:在 Hyper-V 虚拟机中运行 Ubuntu Linux 与在 WSL2 中运行作系统之间的最大区别在于能够访问 Hyper-V 中的 Ubuntu 用户界面。

  • WSL2 实例相当轻量级,可以安装几个不同的发行版,可以在必要时同时运行几个实例,速度快;资源分配在 Windows 系统的统一调度框架内进行,根据需要动态分配和释放内存等资源。
  • Hyper-V:如果你需要Linux,其他的虚拟机或想访问Docker的高级选项卡来分配资源;而独立但受限于 Windows 物理资源,手动为每个虚拟机指定固定的资源配额,在虚拟机运行期间,这些资源会被该虚拟机 “占用”。
image-20250702205214555 image-20250702205352753 image-20250702205745564

链接:

Win10 安装 Docker Desktop ( 基于WSL2,WSL vs Hyper-V) (讲的也很好)

在 Hyper-V 和 WSL2 上使用 Node.js (讲的很好)

windows上WSL 2和Hyper-V 的区别_wsl2和hyper-v区别-CSDN博客

附两个Hyper-V安装虚拟机的链接:(可以看看)

win11开启hyper-v安装windows虚拟机

(65 封用电脑自带Hyper-V安装虚拟机

另外,我的电脑在“启用或关闭windows功能”中不显示hyper-v选项(没安装wsl之前是有显示的),猜想这是因为安装wsl导致的。

为什么我的电脑没有Hyper-V选项?
【而我的显示:Hyper-V 要求: 已检测到虚拟机监控程序。将不显示 Hyper-V 所需的功能。】

创建新用户

安装好wsl和Ubuntu后,会发现默认以 root 用户登录。可以WSL 终端(默认 root)下运行

  • 添加新用户
  • 赋予新用户sudo权限
Ubuntu账户 密码
xxcjw 123456
xxcjw 123456

Ubuntu卸载

不管是从微软商店安装还是通过wsl --install命令安装,如果直接在电脑安装软件列表中卸载Ubuntu,不会自动释放存储空间,使用下面命令卸载安装的Ubuntu,则可以释放空间:

wsl --unregister <DistributionName> 如,

wsl --unregister Ubuntu-20.04

sudo命令

sudo(Superuser Do)是 Linux 和 macOS 等类 Unix 系统中的重要命令,用于以超级用户(root)权限执行特定命令,避免直接登录 root 账户带来的安全风险。

核心功能就是临时获取管理员权限。允许普通用户在执行特定命令时获得 root 权限,无需切换账户。

apt命令

apt 是用于管理软件包的核心命令行工具。它可以帮助你安装、更新、删除软件,并自动处理依赖关系,是 Linux 系统中最常用的命令之一。

sudo apt update

这个命令用于更新系统的软件包索引信息。具体来说,它会从配置的软件仓库中获取最新的软件包列表。执行这个命令不会安装任何新的或更新的软件包;它只是确保您的系统知道所有可用软件包的最新版本。

参考链接

Win10/11系统下WSL2+Ubuntu20.04的全流程安装指南

WSL(微软Linux子系统)简单使用笔记 (卸载问题)

Windows与wsl2中的ubantu互相访问文件夹 (交互访问、vscode连接到WSL2)

WSL2 的安装与运行 Linux 系统

WSL使用史上最详细教程

WSL 使用史上最详细教程_wsl使用教程 ( Microsoft Store 需关闭梯子)

从Microsoft Store安装linux发行版和wsl –install -d Ubuntu-20.04没区别:

  • Microsoft Store 安装:过程简单,对新手友好
  • wsl --install -d Ubuntu-20.04 安装:需要以管理员身份打开PowerShell 来执行安装
    • wsl --install 命令默认安装的是当前推荐的、与 WSL 适配的 Ubuntu 版本。-d表示安装指定的Linux发行版
光终究会洒在你的身上,你也会灿烂一场!
本博客已稳定运行