WSL2安装Ubuntu完整教程:自定义安装目录到D盘(--location一键搞定)

Windows 使用 WSL 安装 Ubuntu 详细教程

本文详细介绍如何在 Windows 系统上通过 WSL(适用于 Linux 的 Windows 子系统)安装 Ubuntu,包含完整的命令行操作步骤。
欢迎点赞收藏加关注,关注我的咸鱼用户:代码跑通pytorch,一个金鱼图像。你的支持是我更新的动力。


一、前置条件

  • 操作系统:Windows 10(版本 2004 及以上)或 Windows 11
  • 权限:需要管理员权限运行 PowerShell

二、检查 WSL 状态

打开 PowerShell(管理员),运行以下命令检查 WSL 是否已安装:

powershell 复制代码
wsl --status

如果提示 未安装适用于 Linux 的 Windows 子系统,说明需要安装。


三、安装步骤

方法一:一键安装(推荐)

直接执行以下命令,会自动完成 WSL 功能启用 + Ubuntu 下载安装:

powershell 复制代码
wsl --install -d Ubuntu

该命令会自动完成:

  1. 启用 WSL 功能
  2. 启用虚拟机平台
  3. 下载并安装 Linux 内核
  4. 将 WSL 2 设为默认版本
  5. 下载并安装 Ubuntu

注意 :执行后系统会提示 "请求的操作成功。直到重新启动系统前更改将不会生效。" ,此时需要 重启电脑

方法二:手动安装(旧版 Windows 10)

如果 wsl --install 不可用,需要手动执行以下步骤:

powershell 复制代码
# 1. 启用 WSL 功能
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

# 2. 启用虚拟机平台
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

# 3. 重启电脑

重启后继续执行:

powershell 复制代码
# 4. 设置默认 WSL 版本为 2
wsl --set-default-version 2

# 5. 安装 Ubuntu
wsl --install -d Ubuntu

四、查看可用发行版

如果想查看所有可安装的 Linux 发行版,运行:

powershell 复制代码
wsl --list --online

输出示例:

NAME FRIENDLY NAME
Ubuntu Ubuntu
Ubuntu-24.04 Ubuntu 24.04 LTS
Ubuntu-22.04 Ubuntu 22.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
Debian Debian GNU/Linux
kali-linux Kali Linux Rolling
archlinux Arch Linux
openSUSE-Tumbleweed openSUSE Tumbleweed
... ...

安装指定版本示例:

powershell 复制代码
wsl --install -d Ubuntu-24.04

五、自定义安装目录(安装到 D 盘)

默认情况下,wsl --install -d Ubuntu 会将系统安装到 C 盘(%LOCALAPPDATA%\Packages\ 下)。如果想安装到其他目录(如 D:\Software\wsl),可以使用以下方法:

方法一:使用 --location 参数一键安装(推荐)

WSL 支持通过 --location 参数直接指定安装目录,最简单的方式

powershell 复制代码
wsl --install -d Ubuntu --location D:\Software\wsl

该命令会自动完成:

  1. 下载并安装 Ubuntu
  2. 将虚拟磁盘文件(ext4.vhdx)存储到 D:\Software\wsl 目录
  3. 首次安装完成后会提示设置用户名和密码

注意:如果 WSL 功能尚未启用,首次执行后需要重启电脑,重启后再次运行该命令即可开始下载安装 Ubuntu。

方法二:先安装再迁移

适用于已经通过 wsl --install -d Ubuntu 安装到 C 盘,想迁移到 D 盘的情况。

powershell 复制代码
# 1. 确认 Ubuntu 已安装并完成初始配置(设置好用户名密码)
wsl -l -v

# 2. 关闭 WSL
wsl --shutdown

# 3. 导出当前 Ubuntu 为备份文件
wsl --export Ubuntu D:\Software\ubuntu-backup.tar

# 4. 注销原来的 Ubuntu(会删除 C 盘上的数据)
wsl --unregister Ubuntu

# 5. 创建目标目录并导入到新位置
mkdir D:\Software\wsl
wsl --import Ubuntu D:\Software\wsl D:\Software\ubuntu-backup.tar

# 6. 设置默认登录用户(替换 <你的用户名> 为你之前设置的用户名)
ubuntu config --default-user <你的用户名>

# 7. 删除备份文件(可选)
Remove-Item D:\Software\ubuntu-backup.tar

安装验证

powershell 复制代码
# 确认安装位置和版本
wsl -l -v

确认 D:\Software\wsl 目录下存在 ext4.vhdx 文件,说明安装成功。

提示 :方法一使用 --location 安装的发行版与默认安装体验一致,会出现在开始菜单中。方法二通过 --import 导入的发行版不会出现在开始菜单,需要通过 wsl -d Ubuntu 或 Windows Terminal 启动。


六、重启后首次配置

  1. 重启电脑后,在开始菜单中搜索 Ubuntu 并打开
  2. 首次启动会自动完成 Ubuntu 的安装配置(需等待几分钟)
  3. 系统会提示设置 用户名密码
  4. 设置完成后即可使用 Ubuntu 终端

如果重启后 Ubuntu 没有自动出现,在 PowerShell 中再次运行 wsl --install -d Ubuntu,此时会直接下载安装镜像(不再需要重启)。


七、常用 WSL 命令

命令 说明
wsl 进入默认 Linux 发行版
wsl -l -v 查看已安装的发行版和 WSL 版本
wsl --list --online 查看可安装的发行版列表
wsl --update 更新 WSL 内核
wsl --set-default-version 2 设置默认 WSL 版本为 2
wsl --set-default Ubuntu 设置默认发行版
wsl --shutdown 关闭所有 WSL 实例
wsl --terminate Ubuntu 关闭指定发行版
wsl --unregister Ubuntu 卸载指定发行版(数据会丢失)
wsl --export Ubuntu D:\backup.tar 导出发行版备份
wsl --import Ubuntu2 D:\wsl D:\backup.tar 从备份导入发行版

八、常见问题

Q1:安装报错 0x80370102

需要在 BIOS 中开启虚拟化技术(Intel VT-x / AMD-V)。

Q2:安装报错 0x800701bc

需要手动下载安装 WSL2 Linux 内核更新包:

Q3:WSL 版本为 1,如何升级到 2?

powershell 复制代码
# 查看当前版本
wsl -l -v

# 转换为 WSL 2
wsl --set-version Ubuntu 2

Q4:如何在 VS Code 中使用 WSL?

  1. 安装 VS Code 扩展:WSL(Remote - WSL)
  2. Ctrl+Shift+P,输入 WSL: Connect to WSL
  3. 即可在 VS Code 中直接操作 Linux 文件系统

Q5:Windows 和 Ubuntu 之间如何访问文件?

  • 在 Ubuntu 中访问 Windows 文件/mnt/c/(对应 C 盘)
  • 在 Windows 中访问 Ubuntu 文件 :资源管理器地址栏输入 \\wsl$\Ubuntu

九、总结

完整安装流程:

复制代码
检查 WSL 状态 → wsl --install -d Ubuntu → 重启电脑 → 打开 Ubuntu → 设置用户名密码 → 完成

WSL 2 相比 WSL 1 拥有完整的 Linux 内核、更好的文件系统性能和完整的系统调用兼容性,推荐使用 WSL 2。


作者环境:Windows 11 + WSL 2 + Ubuntu

如果本文对你有帮助,欢迎点赞收藏!

相关推荐
( ⩌ - ⩌ )2 小时前
OpenCV实现视频采集
opencv·计算机视觉·opengl
@fai2 小时前
【Python多线程截图】当 Python 多线程遇上底层 C 库——一次由“串图”引发的线程安全深度思考
python·opencv·numpy
九成宫2 小时前
第一次连接腾讯云服务器的记录与经验
服务器·云计算·腾讯云
senijusene2 小时前
用C语言制作一个简易HTTP服务器:实现手机商城用户认证与搜索
服务器·c语言·http
alvin_20052 小时前
python之OpenGL应用(五)变换
python·opengl
深蓝电商API2 小时前
服务器部署爬虫:Supervisor 进程守护
爬虫·python
是梦终空1163 小时前
Python深度学习入门:TensorFlow 2.0/Keras实战
jvm·数据库·python
竹林8183 小时前
用Python requests搞定Cookie登录,我绕过了三个大坑才成功
爬虫·python·自动化运维
sali-tec3 小时前
C# 基于OpenCv的视觉工作流-章35-组件连通
图像处理·人工智能·opencv·算法·计算机视觉