Win10安装WSL2全攻略:Ubuntu 20.04 部署至F盘并彻底解决网络连接问题

参考链接:全网最全Win10/11系统下WSL2+Ubuntu20.04的全流程安装指南(两种支持安装至 D 盘方式)_win10安装wsl2-ZEEKLOG博客

前言

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

一、安装 WSL2

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

快捷键“win+x”打开PowerShell(管理员模式),在 PowerShell(管理员模式)中运行:

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

解释:

  • /all:在所有用户上启用该功能
  • /norestart:启用功能后不会立即重启
  1. 启用虚拟机平台功能

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

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 
image.png
  1. 将 WSL 默认版本设置为 WSL2(视情况而定)
wsl --set-default-version 2 

注意:

  • Windows 11 默认已安装 WSL2,不需要执行该命令。
  • Windows 10 用户 需要执行此命令,否则默认使用 WSL1。
  1. 重启电脑

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

二、WSL2 安装 Ubuntu-20.04 至 **F盘**

    1. 运行以下命令,将 Ubuntu-20.04 重新导入到 F:\WSL\Ubuntu-20.04
    2. 赋予新用户 sudo 权限
  1. 修改默认登录用户为普通用户(可选)
    1. 再次启动 WSL:

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

ubuntu2004 config --default-user yourusername 

创建新用户,在 WSL 终端(默认 root)下运行:⚠ 注意:请把 yourusername 替换为你想使用的用户名

adduser yourusername 

系统会要求你输入:新密码用户信息(全部可以直接回车跳过)

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

wsl -d Ubuntu-20.04 

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

启动 Ubuntu-20.04

usermod -aG sudo yourusername 

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

wsl --unregister Ubuntu-20.04 

导出 Ubuntu-20.04.tar 文件运行以下命令,将 Ubuntu-20.04 重新导入到 F:\WSL\Ubuntu-20.04.tar

wsl --export Ubuntu-20.04 F:\WSL\ubuntu20.04.tar 

执行以下命令,查看已安装的WSL分发列表:

 wsl --list --verbose 
image.png

安装 Ubuntu-20.04进入Microsoft store,搜索Ubuntu 20.04,点击下载

image.png

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

wsl --list --online 
image.png

下载并导出 Ubuntu-20.04

wsl --import Ubuntu-20.04 F:\WSL\Ubuntu-20.04 F:\WSL\ubuntu20.04.tar --version 2 
image.png

创建文件夹F盘 创建 WSL 文件夹

image.png
wsl -d Ubuntu-20.04 
image.png

三、WSL2 Ubuntu 20.04 网络连接故障

问题现象:

  • WSL2 内的 Ubuntu 20.04 无法访问互联网。
  • Ping 任何外部公网 IP 地址(如 8.8.8.8)都不通。
  • 排除了网关、IP 配置和 DNS 的问题。

根本原因:

在某些情况下(尤其是在使用了某些 VPN 软件或企业网络环境后),主机的网络接口发生变化,导致 WSL2 的虚拟网络无法正常路由。

解决方案:使用 WSL-VPNKIT

这是一个专门为解决此类问题而设计的工具,它通过提供一个稳定的虚拟网络接口来恢复 WSL2 的网络连接。

参考链接:https://www.ghostchu.com/fix-wsl-no-internet-connection/

下载链接:GitHub - sakai135/wsl-vpnkit:在被 VPN 阻止时提供与 WSL 2 的网络连接

安装与使用步骤

1.安装目录下运行

wsl --import wsl-vpnkit $env:USERPROFILE\wsl-vpnkit wsl-vpnkit.tar.gz --version 2 wsl -d wsl-vpnkit wsl.exe -d wsl-vpnkit service wsl-vpnkit start 
image.png

2.WSL-VPNKIT开机自启动

由于 WSL-VPNKIT 不会开机自启动,需要创建一个脚本帮助恢复桥接

a.创建 start-wsl2-vpn-bridge.bat 文件,内容如下:

@echo off wsl.exe -d wsl-vpnkit service wsl-vpnkit start 

b.打开任务计划程序

按 Win + R,输入 taskschd.msc 回车

c.创建任务

image.png

d.配置 创建任务<常规>

特别需要注意的是,一定要勾选“使用最高权限运行”

image.png

e.配置 创建任务<触发器>

image.png

f.配置 创建任务<触发器>

image.png

g.点击确定,重启测试

image.png

四、ubuntu 20.04 设置国内镜像源

1.备份原始源文件

sudocp /etc/apt/sources.list /etc/apt/sources.list.backup 

2.编辑源文件

sudovim /etc/apt/sources.list 

3.清华大学源

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse 

4.更新

sudoapt update sudoapt upgrade 
Could not load content