WSL 安装与 Ubuntu 24.04 配置使用指南

WSL 安装与 Ubuntu 24.04 配置使用指南

目录

  1. [WSL 安装](#WSL 安装)
  2. [安装 Ubuntu 发行版](#安装 Ubuntu 发行版)
  3. [Ubuntu 基础配置](#Ubuntu 基础配置)
  4. [迁移发行版至 D 盘](#迁移发行版至 D 盘)
  5. 虚拟磁盘空间压缩
  6. 常用命令速查

一、WSL 安装

1.1 启用 Windows 功能

以管理员身份 打开 PowerShell,依次执行以下两条命令,完成后重启电脑。

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

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

备选方案 :若命令执行失败,可通过 控制面板 → 程序 → 启用或关闭 Windows 功能,勾选 「适用于 Linux 的 Windows 子系统」 后重启。

1.2 安装 WSL 内核

推荐从 WSL 官方 GitHub Releases https://github.com/microsoft/WSL/releases 下载最新的 .msi 安装包,双击运行完成安装,速度优于 wsl --install或wsl --update --web-download 在线方式。

1.3 设置默认版本为 WSL 2

powershell 复制代码
wsl --set-default-version 2

二、安装 Ubuntu 发行版

2.1 查看可用发行版

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

2.2 安装发行版(三种方式)

方式一:命令行在线安装

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

方式二:安装时直接指定存储路径(推荐,避免后续迁移)

powershell 复制代码
wsl --install -d Ubuntu-24.04 --location "D:\WSL\Ubuntu-24.04"

方式三:从本地文件离线安装 (从 Ubuntu 官网下载 .wsl 文件后)

powershell 复制代码
wsl --install --from-file "D:\wsl\ubuntu-24.04.3-wsl-amd64.wsl" 
    --location "D:\WSL\Ubuntu-2404" 
    --name Ubuntu-24.04

备选方案 :打开 Microsoft Store,搜索 Ubuntu 24.04 并安装,首次启动时按提示设置用户名和密码。


三、Ubuntu 基础配置

3.1 设置默认登录用户

若默认以 root 身份登录,可在 WSL 内修改配置文件来指定默认用户:

bash 复制代码
sudo nano /etc/wsl.conf

写入以下内容(将 your_username 替换为实际用户名):

ini 复制代码
[user]
default=your_username

保存后,在 PowerShell 中执行以下命令重启 WSL 使配置生效:

powershell 复制代码
wsl --shutdown

3.2 更换 apt 软件源(加速国内下载)

以清华大学 TUNA 镜像源 为例,适用于 Ubuntu 24.04(代号 noble)。

第一步:备份原有源文件

bash 复制代码
sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak

第二步:创建新的源配置文件

bash 复制代码
sudo nano /etc/apt/sources.list.d/tuna.sources

写入以下内容:

ini 复制代码
Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu/
Suites: noble noble-updates noble-backports
Components: main universe restricted multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu/
Suites: noble-security
Components: main universe restricted multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

第三步:更新软件包列表

bash 复制代码
sudo apt update

3.3 启动 WSL 并登录 Ubuntu-24.04

启动方式

方式一:开始菜单

在 Windows 开始菜单搜索 Ubuntu 24.04,点击图标直接启动并进入 Shell。

方式二:PowerShell / 命令提示符

powershell 复制代码
# 启动默认发行版
wsl

# 启动指定发行版
wsl -d Ubuntu-24.04

# 以指定用户登录
wsl -d Ubuntu-24.04 -u your_username

方式三:Windows Terminal

打开 Windows Terminal,点击标签栏 + 旁的下拉箭头,选择 Ubuntu-24.04 即可直接开启一个新标签页并登录。

查看运行状态
powershell 复制代码
# 查看所有已安装发行版及运行状态
wsl -l -v

输出示例:

复制代码
  NAME            STATE           VERSION
* Ubuntu-24.04    Running         2
退出与关闭
bash 复制代码
# 在 WSL 内退出当前会话(仅关闭终端窗口,WSL 后台仍在运行)
exit
powershell 复制代码
# 停止指定发行版
wsl --terminate Ubuntu-24.04

# 停止全部 WSL 实例及虚拟机(彻底释放内存)
wsl --shutdown

提示 :exit 只是退出 Shell 会话,WSL 虚拟机进程通常仍在后台运行。若需彻底释放内存,请在 PowerShell 中执行 wsl --shutdown。


四、迁移发行版至 D 盘

⚠️ 操作前请确保重要数据已备份。 注销步骤将永久删除原有安装。

4.1 方式一:导出 → 注销 → 重新导入(全版本通用)

步骤 1:导出当前发行版为 tar 备份包

powershell 复制代码
# 先确保目标目录存在
mkdir D:\WSLBackup

wsl --export Ubuntu-24.04 D:\WSLBackup\ubuntu24.tar

步骤 2:注销原发行版(从 C 盘删除)

powershell 复制代码
wsl --unregister Ubuntu-24.04

步骤 3:将备份导入至 D 盘新路径

powershell 复制代码
wsl --import Ubuntu-24.04 D:\WSL\Ubuntu24 D:\WSLBackup\ubuntu24.tar --version 2

导入后默认以 root 用户登录,需按 [3.1 节](#3.1 节) 重新配置默认用户。

步骤 4:验证迁移结果

powershell 复制代码
wsl -l -v
wsl -d Ubuntu-24.04

4.2 方式二:直接移动(WSL 较新版本支持)

powershell 复制代码
wsl --manage Ubuntu-24.04 --move "D:\WSL\Ubuntu-24.04"

五、虚拟磁盘空间压缩

WSL 的虚拟磁盘(.vhdx)在删除文件后不会自动收缩,可按以下步骤手动压缩回收空间。

powershell 复制代码
# 第一步:关闭所有 WSL 实例
wsl --shutdown

# 第二步:启动 diskpart 工具
diskpart

进入 diskpart 交互式窗口后,依次执行(路径根据实际情况修改):

复制代码
select vdisk file="D:\WSL\Ubuntu24\ext4.vhdx"
attach vdisk readonly
compact vdisk
detach vdisk
exit

保存为脚本手动执行(推荐)

将 diskpart 指令保存为独立文件 compact-wsl.txt(内容如下),再通过 PowerShell 脚本统一调用,每次需要压缩时双击或直接运行即可。

compact-wsl.txt:

复制代码
select vdisk file="D:\WSL\Ubuntu24\ext4.vhdx"
attach vdisk readonly
compact vdisk
detach vdisk
exit

compact-wsl.ps1(以管理员身份运行):

powershell 复制代码
# 关闭所有 WSL 实例
wsl --shutdown
# 执行 diskpart 压缩脚本
diskpart /s "$PSScriptRoot\compact-wsl.txt"
Write-Host "压缩完成。" -ForegroundColor Green

如需定期自动执行,可在 Windows 任务计划程序 中新建任务,操作设置为:程序 powershell.exe,参数 -ExecutionPolicy Bypass -File "D:\scripts\compact-wsl.ps1"。


六、常用命令速查

6.1 WSL 发行版管理(在 PowerShell 中执行)

命令 说明
wsl --list --online 查看所有可在线安装的发行版
wsl -l -v 列出已安装发行版及其状态、WSL 版本
wsl --install -d <发行版名> 安装指定发行版
wsl -d <发行版名> 启动指定发行版
wsl --set-default <发行版名> 设置默认启动的发行版
wsl --set-default-version 2 设置新安装发行版默认使用 WSL 2
wsl --set-version <发行版名> 2 将已安装发行版转换为 WSL 2
wsl --terminate <发行版名> 停止指定发行版
wsl --shutdown 停止全部 WSL 实例及虚拟机
wsl --export <发行版名> <文件.tar> 导出备份
wsl --import <名> <路径> <文件.tar> 从备份导入
wsl --unregister <发行版名> 注销并永久删除发行版
wsl --manage <发行版名> --move <路径> 移动发行版存储位置
wsl --update 更新 WSL 内核

6.2 Ubuntu 常用命令(在 WSL 内执行)

文件与目录

命令 说明
pwd 显示当前目录路径
ls -lh 详细列出目录内容(含文件大小)
cd ~ 切换到用户主目录
cp -r <src> <dst> 递归复制目录
rm -rf <dir> 递归删除目录 ⚠️ 请谨慎使用
find . -name "*.cpp" 在当前目录递归搜索文件

软件包管理

命令 说明
sudo apt update 刷新软件包列表
sudo apt upgrade 升级所有已安装软件包
sudo apt install <包名> 安装指定软件包
sudo apt remove <包名> 卸载指定软件包
apt search <关键词> 搜索可用软件包

系统信息

命令 说明
df -h 查看磁盘空间(含 /mnt/c/ 等 Windows 分区)
free -h 查看内存使用情况
`ps aux grep <进程名>`
uname -a 查看内核版本信息

6.3 WSL 与 Windows 互操作

在 Ubuntu 中调用 Windows 程序:

bash 复制代码
explorer.exe .          # 在当前目录打开 Windows 文件资源管理器
notepad.exe file.txt    # 用记事本打开文件
code .                  # 用 VS Code 打开当前目录(需安装 VS Code)

在 PowerShell 中执行 Linux 命令:

powershell 复制代码
# 不进入 WSL 直接执行 Linux 命令
wsl -d Ubuntu-24.04 ls -lh /home
wsl -d Ubuntu-24.04 cat /etc/os-release

访问 WSL 文件系统:

  • 在 Windows 文件资源管理器地址栏输入 \\wsl$\Ubuntu-24.04 可直接访问 WSL 内的文件。
  • WSL 中可通过 /mnt/c/、/mnt/d/ 等路径访问 Windows 各盘符。

日常使用提示

  • 启动 :开始菜单搜索 Ubuntu 点击,或在终端执行 wsl / wsl -d Ubuntu-24.04。
  • 退出 :WSL 内执行 exit 关闭当前会话;PowerShell 执行 wsl --shutdown 彻底停止所有 WSL 进程。
  • 共享目录 :将 Windows 下的项目目录软链或直接在 /mnt/ 下访问,可实现 Windows 与 WSL 工具链协同工作。
相关推荐
weifont1 小时前
自动化抓取和上架商品:能不动手,就少动手
运维·前端·自动化
拂拉氏1 小时前
【知识讲解】 Linux之动静态库的了解
linux·运维·服务器·动静态库
Fcy6482 小时前
Linux下 五种IO模型的认识与⾮阻塞IO的实现
linux·服务器·io
Mikko72 小时前
Linux 重启后日志没了?进程被 OOM 杀了去哪看?logrotate 之后日志还往旧文件写?三台真机实测日志与性能排查
linux·运维·centos
夏尔Gaesar2 小时前
解决Ubuntu安装vm tools时选项为灰色问题
ubuntu
书生执笔画浮沉2 小时前
分享一个开源小工具CAdapt
linux·c·gnu·glibc·kernel·升级·灵感
光依旧2 小时前
发版就掉请求?Spring Boot优雅停机的四步
运维·spring boot·nginx·高可用·优雅停机·mcp server
mounter6253 小时前
Linux 内核热升级(Live Update)技术详解:PCI、VFIO 与 IOMMU 子系统的演进与实战解析引言
linux·linux kernel·kernel·iommu·vfio
砚凝霜3 小时前
【软考信息安全】第十九章 Unix/Linux安全分析与防护
linux·安全·unix
yichengerp4 小时前
电子行业常用erp系统有哪些?推荐适合中小电子厂的易呈erp软件,操作简单,易落地
大数据·运维·人工智能·云计算·制造