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 开发环境,可以开始高效的跨平台开发工作了!

相关推荐
知星小度S3 分钟前
系统核心解析:深入文件系统底层机制——Ext系列探秘:从磁盘结构到挂载链接的全链路解析
linux
2401_890443027 分钟前
Linux 基础IO
linux·c语言
字节数据平台1 小时前
刚刚,火山引擎多模态数据湖解决方案发布大数据运维Agent
大数据·运维·火山引擎
智慧地球(AI·Earth)1 小时前
在Linux上使用Claude Code 并使用本地VS Code SSH远程访问的完整指南
linux·ssh·ai编程
原神启动11 小时前
Docker 场景化作业:生产环境容器操作实训
运维·docker·容器
云老大TG:@yunlaoda3601 小时前
如何通过华为云国际站代理商CSBS进行备份策略设置?
运维·数据库·华为云
老王熬夜敲代码2 小时前
解决IP不够用的问题
linux·网络·笔记
zly35002 小时前
linux查看正在运行的nginx的当前工作目录(webroot)
linux·运维·nginx
QT 小鲜肉2 小时前
【Linux命令大全】001.文件管理之file命令(实操篇)
linux·运维·前端·网络·chrome·笔记
呼啦啦呼啦啦啦啦啦啦3 小时前
docker制作镜像的两种方式(保姆级教学)
运维·docker·容器