全网最全Win10/11系统下WSL2+Ubuntu20.04的全流程安装指南(两种支持安装至 D 盘方式)

全网最全Win10/11系统下WSL2+Ubuntu20.04的全流程安装指南(两种支持安装至 D 盘方式)

前言

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

本教程将介绍 如何安装 WSL2 并将 Ubuntu-20.04 安装到 D 盘,涵盖 WSL2 的启用、Ubuntu 的下载与解压、WSL2 发行版的导入,以及普通用户的设置与安装验证。这是全网最全的 WSL2 安装与配置指南,参考了大量博客教程,并结合实践经验,整理出最实用、最详细的方法,适用于所有 Windows 10/11 用户,绝对靠谱!!!

本教程涵盖:
两种 WSL2 启用方式(PowerShell 命令行 / Windows GUI 手动操作)
两种安装 Ubuntu-20.04 到 D 盘方式(官方迁移导入 / 手动下载解压)


一、安装 WSL2

方法一:PowerShell 命令行快速安装 WSL2(推荐)

1. 启用 Windows 子系统(WSL)功能

在 PowerShell(管理员模式)中运行:

dism.exe /online /enable-feature/featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 
在这里插入图片描述
解释:/all:在所有用户上启用该功能/norestart:启用功能后不会立即重启

2. 启用虚拟机平台功能

WSL2 依赖 Windows 虚拟机功能,需要额外启用:

dism.exe /online /enable-feature/featurename:VirtualMachinePlatform /all /norestart 
在这里插入图片描述

3. 将 WSL 默认版本设置为 WSL2(视情况而定)

wsl --set-default-version 2 
Windows 11 默认已安装 WSL2,不需要执行该命令。Windows 10 用户 需要执行此命令,否则默认使用 WSL1。

4. 重启电脑

以上命令执行完成后,请重启电脑,以确保所有更改生效。

方法二:Windows GUI 手动安装 WSL2

1. 打开 Windows 功能管理

进入 程序和功能 界面,点击 启用或关闭 Windows 功能

在这里插入图片描述

按下 Win + R 组合键,输入以下命令,然后点击 确定 或直接按 Enter

appwiz.cpl 
在这里插入图片描述

2. 启用 WSL 和虚拟机平台

  • 找到并勾选以下两项,然后点击 确定,系统将开始应用更改。随后会弹出提示要求重启计算机,点击 立即重新启动(N) 以完成设置。:
    • 适用于 Linux 的 Windows 子系统
    • 虚拟机平台 / Windows 虚拟机监控程序平台
在这里插入图片描述
  • 如果你使用的是 Windows 11,还需要勾选:
    • Windows Hypervisor Platform(有些系统可能没有)
    • Hyper-V(如果你的 Windows 版本支持)
在这里插入图片描述

3. 将 WSL 默认版本设置为 WSL2(视情况而定)

wsl --set-default-version 2 
Windows 11 默认已安装 WSL2,不需要执行该命令。Windows 10 用户 需要执行此命令,否则默认使用 WSL1。

二、WSL2 安装 Ubuntu-20.04 至 D盘 (方法一 | 推荐)

1. 创建文件夹

  • D盘 创建 WSL 文件夹,并在该文件夹下创建 Ubuntu-20.04 文件夹。
在这里插入图片描述

2. 下载并导出 Ubuntu-20.04

取消注册原有的 Ubuntu-20.04,如果你已经安装了 Ubuntu-20.04(默认在 C 盘),可以将其从 WSL 注销:

wsl --unregister Ubuntu-20.04 
在这里插入图片描述

导出 Ubuntu-20.04.tar 文件

wsl --export Ubuntu-20.04 D:\WSL\Ubuntu-20.04\Ubuntu-20.04.tar 

这会下载 Ubuntu-20.04 并将其导出到 D:\WSL\Ubuntu-20.04\Ubuntu-20.04.tar,然后可以执行ls D:\WSL\Ubuntu-20.04查看Ubuntu-20.04.tar已经成功导出。

在这里插入图片描述

安装完毕后会要求你创建一个新用户,按照提示输入用户名和密码即可,然后按 Ctrl + D 退出即可。

在这里插入图片描述

安装 Ubuntu-20.04

wsl --install -d Ubuntu-20.04 

首先,查看可用的 WSL 发行版:

wsl --list --online 

如图所示为终端输出:

在这里插入图片描述

3. 导入 Ubuntu-20.04 到 D 盘

D:\WSL\Ubuntu-20.04 目录下,WSL2 发行版的文件存储在一个 虚拟磁盘映像文件(ext4.vhdx) 中,该文件用于存储整个 Ubuntu-20.04 文件系统,如下图所示:

在这里插入图片描述

运行以下命令,将 Ubuntu-20.04 重新导入到 D:\WSL\Ubuntu-20.04

wsl --import Ubuntu-20.04 D:\WSL\Ubuntu-20.04 D:\WSL\Ubuntu-20.04\Ubuntu-20.04.tar --version 2 

这将会把 Ubuntu-20.04 安装到 D 盘,而不是默认的 C 盘,如图所示正在安装。

在这里插入图片描述

4. 启动 Ubuntu-20.04

赋予新用户 sudo 权限

usermod-aGsudo yourusername 

这样,新用户就可以使用 sudo 进行管理员操作。

创建新用户,在 WSL 终端(默认 root)下运行:

注意:请把 yourusername 替换为你想使用的用户名
adduser yourusername 
系统会要求你输入:新密码用户信息(全部可以直接回车跳过)
在这里插入图片描述

导入完成后,你可以启动 WSL:

wsl -d Ubuntu-20.04 

但此时,你会发现默认以 root 用户登录,因为 WSL 手动导入的 Ubuntu 不会自动创建普通用户,需要我们手动创建。

在这里插入图片描述

5. 修改默认登录用户为普通用户(可选)

再次启动 WSL:

wsl -d Ubuntu-20.04 

此时,你会发现默认以普通用户登录:

clea

以管理员身份运行PowerShell,执行命令:

ubuntu2004 config --default-user yourusername 

三、WSL2 安装 Ubuntu-20.04 至 D盘 (方法二)

1. 创建文件夹

  • D盘 创建 WSL 文件夹,并在该文件夹下创建 Ubuntu-20.04 文件夹。
在这里插入图片描述

2. 下载 Ubuntu-20.04

方法一:命令行下载 Ubuntu-20.04 .appx 文件

  1. 打开刚才创建的 Ubuntu-20.04 文件夹。

在此处以管理员身份打开 PowerShell,输入以下命令:

Invoke-WebRequest-Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu-20.04.appx -UseBasicParsing 
在这里插入图片描述

方法二:浏览器手动下载 Ubuntu-20.04 .appx 文件

  1. 在浏览器中点击 Ubuntu 20.04 下载链接
  2. 直接在浏览器中下载 Ubuntu-20.04.appx,通常比 PowerShell 更快。
  3. 下载完成后,将文件移动到目标目录:D:\WSL\Ubuntu-20.04\
在这里插入图片描述

方法三:百度网盘链接下载 Ubuntu-20.04 .appx 文件

  1. 由于部分地区访问微软服务器较慢,导致 Ubuntu-20.04.appx 下载速度受限,因此提供 百度网盘高速下载 方式,以便用户更快获取安装包。
    • 文件名称:CanonicalGroupLimited.UbuntuonWindows_2004.2021.825.0.AppxBundle
    • 百度网盘下载链接点击下载
    • 提取码es9u
  2. 下载完成后,将文件移动到目标目录:D:\WSL\Ubuntu-20.04\

3. 解压 .appx 安装包

  1. D:\WSL\Ubuntu-20.04\ 目录下以管理员权限打开 PowerShell

如图所示成功解压出 Ubuntu_x64 文件夹。

在这里插入图片描述

进入 D:\WSL\Ubuntu-20.04\Extracted 目录,执行:

cd Extracted Rename-Item Ubuntu_2004.2021.825.0_x64.appx Ubuntu_20.04.zip Expand-Archive Ubuntu_2004.2021.825.0_x64.appx -DestinationPath D:\WSL\Ubuntu-20.04\Extracted\Ubuntu_x64 
在这里插入图片描述

如图所示成功解压出 Extracted 文件夹。

在这里插入图片描述

Windows 不支持直接运行 .appx,所以你需要手动解压,继续运行:

Rename-Item CanonicalGroupLimited.UbuntuonWindows_2004.2021.825.0.AppxBundle Ubuntu-20.04.zip Expand-Archive Ubuntu-20.04.zip -DestinationPath D:\WSL\Ubuntu-20.04\Extracted 
在这里插入图片描述
Rename-Item:将 .AppxBundle 重命名为 .zipExpand-Archive:使用 Windows 自带的解压工具解压到 D:\WSL\Ubuntu-20.04\Extracted如果 Expand-Archive 太慢,可以直接右键 .zip 文件,选择 解压到当前文件夹

4. 导入 WSL 并启动Ubuntu

启动 Ubuntu,执行:

wsl -d Ubuntu-20.04 

但此时,你会发现默认以 root 用户登录,因为 WSL 手动导入的 Ubuntu 不会自动创建普通用户,需要我们手动创建。

在这里插入图片描述

进入 Ubuntu_x64 目录,手动导入 WSL,在 D:\WSL\Ubuntu-20.04\Extracted\Ubuntu_x64 目录下执行:

cd Ubuntu_x64 wsl --import Ubuntu-20.04 D:\WSL\Ubuntu-20.04\ D:\WSL\Ubuntu-20.04\Extracted\Ubuntu_x64\install.tar.gz --version 2 

5. 创建普通用户并设置默认用户(可选)

修改默认用户,在 Windows PowerShell 中运行:

wsl -d Ubuntu-20.04 -u yourusername # 仅本次以普通用户登录

如图所示成功以 普通用户 登录。

在这里插入图片描述
注意:如果 Ubuntu-20.04 不能识别,先运行 wsl -l,来查看已安装的 WSL 发行版名称,然后在命令中替换 Ubuntu-20.04

赋予新用户 sudo 权限

usermod-aGsudo yourusername 

这样,新用户就可以使用 sudo 进行管理员操作。

在这里插入图片描述

创建新用户,在 WSL 终端(默认 root)下运行:

注意:请把 yourusername 替换为你想使用的用户名
adduser yourusername 
系统会要求你输入:新密码用户信息(全部可以直接回车跳过)
在这里插入图片描述

6. 确认安装成功

D:\WSL\Ubuntu-20.04 目录下,WSL2 发行版的文件存储在一个 虚拟磁盘映像文件(ext4.vhdx) 中,该文件用于存储整个 Ubuntu-20.04 文件系统,如下图所示:

在这里插入图片描述

确认安装成功

wsl -l -v 

如果输出类似下图,说明 WSL2 已经成功安装,并已将 Ubuntu-20.04 安装至 D盘

在这里插入图片描述

关闭并重启 WSL

wsl --shutdown 

Read more

Flutter 组件 heart 适配鸿蒙 HarmonyOS 实战:分布式心跳监控,构建全场景保活检测与链路哨兵架构

Flutter 组件 heart 适配鸿蒙 HarmonyOS 实战:分布式心跳监控,构建全场景保活检测与链路哨兵架构

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 heart 适配鸿蒙 HarmonyOS 实战:分布式心跳监控,构建全场景保活检测与链路哨兵架构 前言 在鸿蒙(OpenHarmony)生态迈向万物智联、涉及海量传感器节点通信、分布式长连接保活及实时状态同步的背景下,如何确保终端设备在弱网、休眠或异常断电场景下仍能被母座感知,已成为决定系统可用性的“生命信标”。在鸿蒙设备这类强调分布式软总线协同与严苛电源管理的环境下,如果应用依然依赖基础的 HTTP 定时轮询执行状态探测,由于由于 CPU 频繁唤醒带来的功耗负担及无状态协议的连接开销,极易由于由于心跳风暴导致设备续航崩穿或大规模误判掉线。 我们需要一种能够实现毫秒级超时检测、支持异步回调闭环且具备高性能状态机控制的心跳监控方案。 heart 为 Flutter 开发者引入了轻量级且工业标准的“心搏”治理范式。它通过对 Ping-Pong 交互的时序解构,将复杂的超时重试与状态翻转逻辑封装为声明式的配置。在适配到鸿蒙 HarmonyO

By Ne0inhk
Flutter 组件 http_retry 的适配 鸿蒙Harmony 深度进阶 - 驾驭分布式负载感知重试、实现鸿蒙端高可靠通讯与协议幂等性审计方案

Flutter 组件 http_retry 的适配 鸿蒙Harmony 深度进阶 - 驾驭分布式负载感知重试、实现鸿蒙端高可靠通讯与协议幂等性审计方案

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 http_retry 的适配 鸿蒙Harmony 深度进阶 - 驾驭分布式负载感知重试、实现鸿蒙端高可靠通讯与协议幂等性审计方案 前言 在前文中,我们探讨了 http_retry 在鸿蒙(OpenHarmony)生态中解决单一移动终端弱网重试的基础实战。但在真正的“分布式工业物联网集成”、“跨设备协同办公资产同步”以及“需要对接具备动态压力管控的超大规模云原生后端”场景中。简单的指数退避往往难以应对复杂的网络分位震荡。面对一个需要在鸿蒙手机、智能穿戴设备与边缘网关之间,根据当前全网的平均负载压力(Load Pressure)动态调节重试节奏,并且要求在执行涉及核心资产变更(如:支付订单、库存锁定)的重试时执行绝对严密的协议幂等性(Idempotency)校验的高阶需求。如果缺乏一套具备分布式感知的重试调度模型。不仅会导致后端服务在故障恢复瞬间遭遇“重试波峰”引发再次崩溃,更会因为对非幂等操作的盲目重试。引发严重的业务资产错乱。 我们需要

By Ne0inhk
Docker 架构与核心原理深度解析:容器到底是怎么实现的?

Docker 架构与核心原理深度解析:容器到底是怎么实现的?

很多人把 Docker 理解为“轻量级虚拟机”。 这是一个非常不严谨的说法。 Docker 本身并不是容器技术的创造者,它只是把 Linux 内核已有的能力工程化、产品化。要理解 Docker,必须回到内核层面。 本文将从以下几个方面展开: 1. 容器与虚拟机的本质区别 2. Namespace 隔离机制 3. Cgroups 资源控制 4. UnionFS 分层文件系统 5. Docker Engine 架构解析 6. Docker 与 containerd 的关系 一、容器 vs 虚拟机:本质差异 虚拟机依赖 Hypervisor,在物理机上虚拟出完整硬件环境,每个虚拟机都运行一个完整的 Guest OS。 典型架构如下: 物理机 → Hypervisor → Guest

By Ne0inhk
构建下一代 AIOps 监控系统:基于 Go 语言与 DeepSeek 大模型的深度实践

构建下一代 AIOps 监控系统:基于 Go 语言与 DeepSeek 大模型的深度实践

前言 在云计算与微服务架构日益复杂的当下,传统的基于静态阈值的服务器监控系统正面临严峻挑战。海量的告警噪音与滞后的故障定位能力,促使运维体系向 AIOps(人工智能运维)转型。本文将详细阐述如何利用高性能的 Go 语言结合 DeepSeek 大语言模型,从零构建一个具备智能分析能力的服务器监控探针。我们将深入探讨 Linux 内核信息采集机制、Go 语言并发编程模式以及大模型 API 的工程化集成。 第一章:基础设施环境构建与系统初始化 构建高效监控系统的基石在于一个稳定且配置得当的运行环境。本次实践基于 Ubuntu LTS(长期支持版)系列,涵盖 20.04 至 24.04 版本,这些版本提供了稳定的内核支持与广泛的软件包兼容性。 1.1 系统更新与依赖管理 在部署任何生产级软件之前,维持操作系统的最新状态是保障安全与稳定性的首要原则。通过包管理器 apt,系统能够从官方源获取最新的安全补丁与软件版本。 执行更新操作不仅仅是简单的软件升级,其背后涉及更新本地包索引数据库(apt update)以及根据依赖关系图谱进行二进制文件的替换(

By Ne0inhk