Windows11 下把 WSL2 Ubuntu 26.04 装到 D 盘完整

0 阅读5分钟

Windows11 下把 WSL2 Ubuntu 26.04 装到 D 盘教程

目录

一、背景与目标

在 Windows 上使用 WSL2 跑 Linux 开发环境,默认会装在 C 盘。C 盘空间紧张时,把整个发行版放到 D 盘是更合理的做法。其他盘同理

本文目标:

  • 安装 Ubuntu 26.04 LTS,WSL 版本为 2
  • 系统虚拟磁盘落在 D 盘,不占 C 盘空间
  • 创建用户,同步主机代理
  • 验证 WSL 内可正常使用 NVIDIA GPU

最终环境:

项目值
Windows10.0.26200.8457
WSL3.0.1.0
内核6.18.40.1-1
发行版Ubuntu 26.04 LTS (Resolute Raccoon)
默认版本2
安装位置D:\WSL\Ubuntu-26.04\ext4.vhdx
GPUNVIDIA GeForce RTX 5070 Ti

二、整体流程

  1. 启用 WSL2 组件
  2. 手动下载 Ubuntu 26.04 的 WSL 镜像
  3. 用 wsl --import 导入到 D 盘
  4. 创建普通用户、修复默认用户配置
  5. 配置 .wslconfig 解决代理提示
  6. 设为默认发行版并验证 GPU

三、分步操作

1. 启用 WSL2 组件

以管理员身份打开 PowerShell:

然后运行(下文中所有的 wsl 命令均在powershell中执行)
wsl --install --no-distribution

该命令会安装 WSL 组件并启用 VirtualMachinePlatform,但不安装任何发行版。

执行后按提示重启电脑,否则组件更改不会生效。

确认版本(在powershell中执行):

wsl --version

输出示例:

WSL 版本: 3.0.1.0
内核版本: 6.18.40.1-1
WSLg 版本: 1.0.79
MSRDC 版本: 1.2.7214
Direct3D 版本: 1.611.1-81528511
DXCore 版本: 10.0.26100.1-240331-1435.ge-release
Windows 版本: 10.0.26200.8457

2. 不直接用 wsl --install -d Ubuntu

由于 wsl --install -d Ubuntu 命令会安装在C盘中且直接安装时可能报错:

Wsl/InstallDistro/WININET_E_INVALID_SERVER_RESPONSE

这是从服务器下载发行版时网络中断导致的,与系统本身无关。因此此教程中的方法为手动下载镜像再本地导入,绕开在线下载环节。 ps:也可以直接执行 wsl --install -d Ubuntu 安装到 C 盘后再迁移到 D 盘,本文为绕开在线下载环节,采用手动导入镜像的方式。

3. 下载 Ubuntu 26.04 WSL 镜像

从 Ubuntu 官方或镜像站下载 WSL 专用镜像,镜像网站:

https://releases.ubuntu.com/26.04.1/

向下滑找到 ubuntu-26.04-wsl-amd64.wsl 并下载

大小约 396MB。在D盘新建一个WSL目录用来存放镜像与系统,镜像下载后放到 D:\WSL\ 目录下。

4. 导入到 D 盘

在 PowerShell 中执行:

wsl --import Ubuntu-26.04 D:\WSL\Ubuntu-26.04 D:\WSL\ubuntu-26.04-wsl-amd64.wsl --version 2

参数说明:

  • Ubuntu-26.04:发行版名称
  • D:\WSL\Ubuntu-26.04:虚拟磁盘存放目录
  • 第三个参数:下载的镜像文件路径
  • --version 2:指定 WSL2

执行成功会提示“操作成功完成”。

此时 D 盘Ubuntu-26.04目录下会生成 ext4.vhdx:

在powershell中查看一下

dir D:\WSL\Ubuntu-26.04

ext4.vhdx 就是 Ubuntu 系统的虚拟磁盘,明虚拟磁盘已落在 D 盘。

5. 首次进入并创建普通用户

wsl -d Ubuntu-26.04

首次进入默认是 root 用户。创建普通用户:

adduser 你的用户名
usermod -aG sudo 你的用户名

输入密码时屏幕不会显示字符,这是正常现象,其他选项直接回车设置成默认值。 这里面,我将 '你的用户名' 替换为 'Hao' 为的我的用户名 确认用户已创建:

ls /home

输出应为自己创建的用户名:

Hao

6. 修复用户报错

如果 /etc/wsl.conf 中 default= 写入的用户名与实际创建的用户不一致,重启 WSL 会报错

 getpwnam(...) failed

修改方法:

新建 powershell 以 root 身份进入wsl:

wsl -d Ubuntu-26.04 -u root

写入与adduser一致的用户名:

cat > /etc/wsl.conf <<'EOF'
[user]
default=Hao
EOF

在新建一个 powersehll 重启wsl 生效:

wsl --shutdown
wsl -d Ubuntu-26.04

提示符变为 Hao@Hao:~$,报错消失。

7. 配置 .wslconfig 解决代理提示(没有代理可忽略该步骤)

如果 Windows 上开着代理,进入 WSL 会提示:

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

在 C:\Users\你的Windows用户名\ 下新建 .wslconfig:

注:默认创建的是txt,在 “查看” ,“显示” 中,将文件扩展名选项勾选,将 .txt 后缀名删除使其成为WSLCONFIG文件

用记事本方式打开该文件,复制以下内容并保存退出

[wsl2]
networkingMode=mirrored

[experimental]
autoProxy=true

然后重启:

wsl --shutdown
wsl -d Ubuntu-26.04

提示消失。

8. 设为默认发行版(为了方便,可忽略)

在 powershell 中运行

wsl --set-default Ubuntu-26.04

之后直接输入 wsl 即可进入该系统。

查看状态:

wsl --status
PS C:\Users\Administrator> wsl --status
默认分发: Ubuntu-26.04
默认版本: 2
当前计算机配置不支持 WSL1。
若要使用 WSL1,请启用“Windows Subsystem for Linux”可选组件。

查看列表:

wsl -l -v
PS C:\Users\Administrator> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-26.04    Running         2

9. 验证 Ubuntu 版本

在 WSL 中执行:

cat /etc/os-release
Hao@Hao:~$ cat /etc/os-release
PRETTY_NAME="Ubuntu 26.04 LTS"
NAME="Ubuntu"
VERSION_ID="26.04"
VERSION="26.04 (Resolute Raccoon)"
VERSION_CODENAME=resolute
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=resolute
LOGO=ubuntu-logo

10. 验证 GPU

nvidia-smi
Thu Oct  8 17:34:44 2026
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 615.78.02              KMD Version: 617.14        CUDA UMD Version: 13.4     |
+-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 5070 Ti     On  |   00000000:02:00.0 Off |                  N/A |
|  0%   31C    P8             16W /  300W |      13MiB /  16303MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+

能正常显示,说明 WSL2 的 CUDA 直通已可用。

四、最终环境总结

项目结果
发行版Ubuntu 26.04 LTS (Resolute Raccoon)
WSL 版本3.0.1.0,发行版 VERSION 2
安装位置D:\WSL\Ubuntu-26.04\ext4.vhdx
C 盘占用不占
默认发行版Ubuntu-26.04
默认用户Hao
网络模式mirrored,代理自动同步
GPURTX 5070 Ti 可正常识别

五、小结

  • wsl --install -d Ubuntu 遇到网络报错时,改为手动下载镜像 + wsl --import 更稳
  • wsl --import 方式可一步到位把系统装到 D 盘,不需要先装 C 盘再迁移
  • 默认用户报错只需修正 /etc/wsl.conf 里的用户名
  • 代理提示靠 .wslconfig + mirrored 模式解决,注意文件名别被存成 .txt
  • WSL2 可直接使用 NVIDIA GPU,无需额外配置