WSL 2 安装 Ubuntu 24.04 及系统迁移到非系统盘

文章目录

  1. #快速安装使用-wsl-install-命令
  2. #自定义安装分步安装-wsl-2-和-ubuntu-2404
  3. #ubuntu-2404-基本配置
  4. #系统迁移将-wsl-移动到非系统盘
  5. #故障排除与常见问题
  6. #总结

在 Windows 上搭建 Linux 开发环境,Windows Subsystem for Linux (WSL) 无疑是最佳选择。本文将详细介绍如何安装 WSL 2、配置 Ubuntu 24.04 LTS,并将其迁移到非系统盘以节省 C 盘空间。

快速安装:使用 wsl --install 命令

对于 Windows 10 版本 2004 及更高版本或 Windows 11 用户,这是最简单的安装方法。

一键安装步骤

  1. 以管理员身份打开 PowerShell

    powershell 复制代码
    # 右键点击开始菜单,选择"Windows PowerShell(管理员)"
  2. 执行快速安装命令

    powershell 复制代码
    wsl --install
  3. 重启计算机

    powershell 复制代码
    # 系统将自动完成 WSL 和默认 Linux 发行版的安装
    restart-computer

指定安装 Ubuntu 24.04

如果你想直接安装 Ubuntu 24.04,可以使用以下命令:

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

优点

  • 自动启用所有必需的 Windows 功能
  • 自动下载并安装最新内核
  • 设置 WSL 2 为默认版本

自定义安装:分步安装 WSL 2 和 Ubuntu 24.04

如果你需要更多控制权,或者遇到快速安装问题,可以手动分步安装。

步骤 1:启用 WSL 功能

powershell 复制代码
# 以管理员身份运行 PowerShell
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

步骤 2:启用虚拟机平台

powershell 复制代码
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

步骤 3:重启系统

powershell 复制代码
restart-computer

步骤 4:设置 WSL 2 为默认版本

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

如果出现内核更新提示,请下载 https://aka.ms/wsl2kernel。

步骤 5:安装 Ubuntu 24.04

powershell 复制代码
# 查看可用的 Linux 发行版
wsl -l -o

# 安装 Ubuntu 24.04
wsl --install -d Ubuntu-24.04

Ubuntu 24.04 基本配置

首次启动配置

安装完成后,首次启动 Ubuntu 24.04 会提示:

  • 创建新的 UNIX 用户名(建议使用小写字母)
  • 设置用户密码

Root 用户配置与管理

在某些情况下,你可能需要使用 root 用户权限进行操作。

临时切换为 Root 用户
bash 复制代码
# 在 Ubuntu 终端中执行
sudo -i
# 或
su -
设置 Root 密码并启用直接登录
bash 复制代码
# 1. 切换到 root 用户
sudo -i

# 2. 设置 root 密码
passwd

# 3. 退出 Ubuntu
exit

在 Windows PowerShell 中设置默认用户:

powershell 复制代码
# 设置默认用户为 root
Ubuntu-24.04 config --default-user root

# 如果需要恢复普通用户,将 username 替换为你的用户名
Ubuntu-24.04 config --default-user username
使用 Root 身份安装软件
bash 复制代码
# 作为 root 用户直接安装
apt update
apt install nginx

# 作为普通用户需要使用 sudo
sudo apt update
sudo apt install nginx

安全提示 :日常使用建议保持普通用户身份,仅在需要时使用 sudo

系统迁移:将 WSL 移动到非系统盘

默认情况下,WSL 子系统安装在 C 盘。以下是将 Ubuntu 24.04 迁移到 F 盘的完整流程。

步骤 1:检查当前系统路径

powershell 复制代码
(Get-ChildItem -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss | Where-Object { $_.GetValue("DistributionName") -eq 'Ubuntu-24.04' }).GetValue("BasePath") + "\ext4.vhdx"

输出示例:

复制代码
C:\Users\yourusername\AppData\Local\wsl\{uuid}\ext4.vhdx

步骤 2:创建目标目录

powershell 复制代码
# 在 F 盘创建目标目录
New-Item -ItemType Directory -Path "F:\WSL_imgs\Ubuntu24" -Force

步骤 3:导出系统镜像

powershell 复制代码
# 正确导出命令(注意:目标文件路径必须不存在)
wsl --export Ubuntu-24.04 F:\WSL_imgs\Ubuntu24\ubuntu2404.vhdx --vhd

步骤 4:注销原系统

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

步骤 5:导入到新位置

powershell 复制代码
# 从导出的镜像重新导入
wsl --import Ubuntu-24.04 F:\WSL_imgs\Ubuntu24 F:\WSL_imgs\Ubuntu24\ubuntu2404.vhdx --vhd

步骤 6:重新配置用户设置

迁移后需要重新设置默认用户:

powershell 复制代码
# 查看当前系统中的用户(需要先启动系统)
wsl -d Ubuntu-24.04

# 在 Ubuntu 中查看用户
cat /etc/passwd | grep '/home'

# 设置默认用户(将 yourusername 替换为你的实际用户名)
Ubuntu-24.04 config --default-user yourusername

步骤 7:验证迁移结果

powershell 复制代码
# 查看 WSL 系统状态
wsl -l -v

# 测试启动
wsl -d Ubuntu-24.04

预期输出:

复制代码
  NAME            STATE           VERSION
* Ubuntu-24.04    Stopped         2

故障排除与常见问题

问题 1:导出时出现"系统找不到指定的路径"

错误信息

复制代码
系统找不到指定的路径。
错误代码: Wsl/ERROR_PATH_NOT_FOUND

解决方案

powershell 复制代码
# 确保目标目录存在
New-Item -ItemType Directory -Path "F:\WSL_imgs\Ubuntu24" -Force

# 再次执行导出命令
wsl --export Ubuntu-24.04 F:\WSL_imgs\Ubuntu24\ubuntu2404.vhdx --vhd

问题 2:无效的命令行参数错误

错误信息

复制代码
无效的命令行参数: -encodedCommand
错误代码: Wsl/E_INVALIDARG

原因:错误地将源镜像路径作为导出目标路径。

正确语法

powershell 复制代码
# 错误示例(不要这样做)
wsl --export Ubuntu-24.04 C:\Users\...\ext4.vhdx --vhd

# 正确示例
wsl --export Ubuntu-24.04 F:\WSL_imgs\Ubuntu24\ubuntu2404.vhdx --vhd

问题 3:迁移后用户变为 root

解决方案

powershell 复制代码
# 重新设置默认用户
Ubuntu-24.04 config --default-user yourusername

# 验证用户设置
wsl -d Ubuntu-24.04 whoami

问题 4:WSL 2 安装失败

解决方案

  1. 确保 BIOS 中启用了虚拟化技术(VT-x 或 AMD-V)
  2. 检查 Hyper-V 是否被禁用
  3. 下载并手动安装 https://aka.ms/wsl2kernel

问题 5:磁盘空间不足

检查 WSL 磁盘使用情况

powershell 复制代码
# 在 Ubuntu 中检查
wsl -d Ubuntu-24.04 df -h

# 清理包缓存
wsl -d Ubuntu-24.04 sudo apt clean

总结

通过本文的详细指导,你应该能够:

  1. 成功安装 WSL 2 和 Ubuntu 24.04 LTS
  2. 配置 Root 用户权限 用于特殊安装需求
  3. 将 WSL 系统迁移到非系统盘,有效节省 C 盘空间
  4. 解决常见的安装和迁移问题

最佳实践建议

  1. 定期备份 :导出的 .vhdx 文件可以作为系统备份
  2. 空间管理 :定期使用 apt autoremoveapt clean 清理不需要的包
  3. 版本控制 :使用 wsl --set-version Ubuntu-24.04 2 确保使用 WSL 2
  4. 安全使用:日常操作使用普通用户,避免长期使用 root 权限

常用命令速查

powershell 复制代码
# 查看已安装的 WSL 发行版
wsl -l -v

# 设置默认发行版
wsl --set-default Ubuntu-24.04

# 停止所有 WSL 实例
wsl --shutdown

# 导出系统备份
wsl --export Ubuntu-24.04 backup.vhdx --vhd

# 导入系统
wsl --import New-Ubuntu .\path\to\directory backup.vhdx --vhd

现在你已经拥有了一个高性能、可定制且不占用系统盘空间的 Linux 开发环境,可以开始高效的跨平台开发工作了!

相关推荐
虚伪的空想家16 小时前
k8s集群configmap和secrets备份脚本
linux·容器·kubernetes
the sun3417 小时前
从 QEMU 直接启动到 U-Boot 引导:嵌入式 Linux 启动流程的本质差异
linux·运维·服务器
三思守心17 小时前
从 0 到 1 搭建自动化内容工厂:深度测评楼兰AI及其在全平台发帖中的表现
运维·服务器·自动化
草莓熊Lotso17 小时前
【Linux 线程进阶】进程 vs 线程资源划分 + 线程控制全详解
java·linux·运维·服务器·数据库·c++·mysql
ShineWinsu17 小时前
对于Linux:文件操作以及文件IO的解析
linux·c++·面试·笔试·io·shell·文件操作
ZKNOW甄知科技17 小时前
数智同行:甄知科技2026年Q1季度回顾
运维·服务器·人工智能·科技·程序人生·安全·自动化
-SGlow-17 小时前
Linux相关概念和易错知识点(52)(基于System V的信号量和消息队列)
linux·运维·服务器
jikemaoshiyanshi17 小时前
B2B企业GEO服务商哪家好?深度解析径硕科技(JINGdigital)及其JINGEO产品为何是首选
大数据·运维·人工智能·科技
江畔何人初17 小时前
TCP的三次握手与四次挥手
linux·服务器·网络·网络协议·tcp/ip
跨境麦香鱼17 小时前
Playwright vs Puppeteer:2026自动化任务与爬虫工具如何选?
运维·爬虫·自动化