全网最全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 三方库 angel3_static 的鸿蒙化适配指南 - 实现高性能静态资源服务、支持应用内 H5 活动页托管与虚拟目录分发

Flutter 三方库 angel3_static 的鸿蒙化适配指南 - 实现高性能静态资源服务、支持应用内 H5 活动页托管与虚拟目录分发

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 angel3_static 的鸿蒙化适配指南 - 实现高性能静态资源服务、支持应用内 H5 活动页托管与虚拟目录分发 前言 在进行 Flutter for OpenHarmony 的全栈开发时,有时我们需要在应用内部运行一个简单的 Web 服务器(例如为了托管离线的 H5 活动页、本地帮助文档,或者作为一个本地数据的 API 代理)。angel3_static 是 Angel3 框架中的静态文件处理插件。它能让你轻松地将鸿蒙沙箱中的物理目录映射为 HTTP 静态资源服务。本文将探讨如何在鸿蒙端利用该库构建本地资源中心。 一、原理解析 / 概念介绍 1.1 基础原理 angel3_static 作用于 Angel3

By Ne0inhk
【Linux 实战】从0到1手搓日志系统:附完整代码

【Linux 实战】从0到1手搓日志系统:附完整代码

前言:         上文我们讲了线程的同步以及理解并实现生产者消费者模式【Linux系统】深入理解线程同步,实现生产消费模型-ZEEKLOG博客         本文我们来讲一下如何手搓日志库,为下一篇文件:线程池的实现做铺垫! 日志与策略模式 什么是设计模式         IT行业这么火,涌入的人很多,俗话说林子大了啥鸟都有。大佬和菜鸡们两极分化的越来越严重。为了让菜鸡们不太拖大佬的后腿,于是大佬们针对一些经典的常见的场景,给定了一些对应的解决方案,这个就是设计模式。 认识日志         计算机中的日志是记录系统和软件运行中发生事件的文件,主要作用是监控运行状态、记录异常信息,帮助快速定位问题并支持程序员进行问题修复。它是系统维护、故障排查和安全管理的重要工具。         日志已有现成的解决方案,如:spdlog、glog、Boost.Log等等。 日志的格式有以下的标准:         1.时间戳        2.日志的等级        3.日志的内容 还可以加入:         1.文件名        2.行号

By Ne0inhk
Linux(一) | 初识Linux与目录管理基础命令掌握

Linux(一) | 初识Linux与目录管理基础命令掌握

个人主页-爱因斯晨 文章专栏-Linux 文章目录 * 个人主页-爱因斯晨 * 文章专栏-Linux * 一、前言 * 1.为什么学习Linux * 2.操作系统概述: * 3.常见的操作系统: * 二、初识Linux * 1.诞生 * 2.什么是Linux内核 * 3.常见的发行版(热门:centos,ubuntu) * 三、基础命令 * 1.目录结构 * 2. Linux命令入门 * 2.1 Linux命令基础 * 2.2 基础格式 * 2.3 开关机 * 2.4 目录操作 一、前言 1.为什么学习Linux 如果把操作系统分为两类: 个人桌面操作系统:windows,macos

By Ne0inhk