wsl ubunt迁移到指定盘符

本文详细记录了如何将Windows 11上的WSL Ubuntu子系统从C盘迁移到其他磁盘,以解决空间限制问题。过程中包括了子系统的导出、导入以及用户配置,同时介绍了如何通过SSH连接和VSCode进行远程操作。此外,还分享了如何设置默认登录用户和使用MobaXterm进行SSH连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

wsl Ubuntu迁移

由于windows11上的linux子系统默认安装在C盘,且默认空间最大只有256GB,不仅占用了大量C盘的空间,而且在编译例如Android12等时,会因为空间不足导致编译无法通过,而网上对该部分的介绍有所欠缺,故对本人迁移的迁移过程做一个记录

wsl linux子系统安装

这部分的内容网上比较多,就不做介绍了,可以自行百度;

wsl linux子系统迁移

首先,以管理员权限运行Windows PowerShell,然后输入wsl -l指令可以查看已安装且可供使用的 Linux 分发版
在这里插入图片描述
然后输入wsl --shutdown指令终止所有运行的分发及 WSL 轻型工具虚拟机
接下来对当前Ubuntu子系统进行导出,输入如下命令,将Linux分发版Ubuntu-20.04导出到G盘,分发版名称即为wsl -l时所看到的子系统分发版名称

wsl --export  Ubuntu-20.04  G:\Ubuntu-20.04.tar

例如本次计划将该分发版本迁移到G:\Ubuntu20.04目录下,目前网上绝大部分都是告诉我们卸载分发版本,然后导入之前导出的分发版本即可,但是这样会面临在Windows PowerShell中ubuntu2004失效的问题。
解决步骤如下:
先不要卸载分发版本,通过应用商店安装的Ubuntu默认在C:\Program Files\WindowsApps目录下,在Windows PowerShell中切换到该目录后,输入如下指令:

dir CanonicalGroupLimited*

可以显示当前相关的目录如下所示:
在这里插入图片描述
一般我们需要的文件在最后一个文件夹内,输入cp .\CanonicalGroupLimited.Ubuntu20.04LTS_2004.4.5.0_x64__79rhkp1fndgsc\* G:\Ubuntu20.04将其中的内容拷贝到迁移的目标目录(如本次目标G:\Ubuntu20.04目录),上述步骤不要用Windows的图形化节目操作,会遇到权限问题。
完成上述步骤后,可以卸载之前的Linux分发版,输入如下命令:

wsl --unregister Ubuntu-20.04

然后将之前的安装卸载掉,如下图所示
在这里插入图片描述
然后倒入之前导出的分发版到目的目录,命令如下(wsl 导入指令格式wsl --import <Linux分发版名称> <安装位置> <文件名>):

 wsl --import Ubuntu-20.04 G:\Ubuntu20.04 G:\Ubuntu-20.04.tar

完成上述步骤后即完成了将Linux分发版本Ubuntu20.04迁移到G:\Ubuntu20.04目录下的工作。
最后,为了方便启动该分发版本,选择迁移目录下的ubuntu2004.exe,然后右键–固定到“开始”屏幕,即可在应用菜单以及Windows搜索栏中找到该分发版本并快速启动;
在这里插入图片描述

wsl 用户配置

在安装wsl linux分发版时,系统会让我们输入用户名和密码,但是此时创建的用户名和密码是root账户,对于系统的规范操作,git的版本管理等都会带来麻烦,通常我们只普通用户下进行日常的工作,在需要时切换为root账户;此时点击ubuntu2004,启动linux子系统在这里插入图片描述
然后输入sudo passwd root命令,设置root账户密码,默认情况下root账户无密码导致无法切换到root账户;
设置完root账户密码后,输入su root命令后切换为root账户,如果想将之前安装时输入的用户名作为普通用户,可以直接删除该用户及其在home目录,则输入如下命令deluser --remove-home xxxxx,如果只是删除该用户,可以输入deluser newuser,然后新建用户输入如下指令adduser newuser,照着提示完成操作,即可完成普通用户的建立,然后关闭当前窗口,接下来打开Windows PowerShell,设置Linux分发版的默认登录账户为新建的普通账户,例如新建普通用户nongchaoer,迁移后的目录为G:\Ubuntu20.04,输入如下命令即可设置linux子系统的默认登录账户为普通用户nongchaoer:

 G:\Ubuntu20.04\ubuntu2004.exe config --default-user nongchaoer

然后点击ubuntu2004的快捷启动图标,启动后节目如下图所示,显示登录账户为nongchaoer:
在这里插入图片描述

ssh连接wls linux子系统

由于linux子系统每次启动ip地址都会发生改变,而我们常用的xshell也不是很方便,这里推荐使用最新版的mobaxterm,其在新建回话时可以直接新建wsl会话,如下图所示:
在这里插入图片描述
其配置也非常简单,只需要选择wsl回话,然后在分发版本中选择Ubuntu-20.04,然后点击ok按钮即可
在这里插入图片描述
然后点击WSL-Ubuntu-20.04即可连接wsl中的linux分发版本,如下图所示:
在这里插入图片描述

vscode连接wls linux子系统

打开vscode后,进入扩展插件市场,然后安装Remote-WSL插件,如下图所示:
在这里插入图片描述
安装完成后,点击远程资源管理按钮,进入远程资源管理列表,在远程资源管理器列表选项中选择WSL Targets,既可以看到已安装的wsl Linux分发版本已连接,如下图所示:
在这里插入图片描述
然后从菜单栏打开文件夹或者从快捷选项中打开文件即可对wsl linux分发版本进行操作,更多操作请上网查找vscode用法。

<think>好的,用户问的是如何安装和迁移WSL。我需要先整理安装步骤,然后迁移方法。首先,安装WSL的话,记得有几种方法,比如通过PowerShell启用功能然后安装,或者从Microsoft Store下载。需要确保步骤正确,比如先启用虚拟机平台和WSL功能,然后安装发行版。可能还要提到更新到WSL2需要内核更新包的步骤。 然后是迁移部分,用户提到了两个引用,都是关于导出、卸载、导入的流程。根据引用[1]和[2],步骤大致是查看当前子系统名称,关闭WSL,导出为tar文件,卸载原系统,再导入到新路径。需要注意的是用户可能不清楚如何指定路径和名称,要详细说明命令中的参数,比如--export和--import的用法。 另外,用户可能对权限或路径问题有疑问,比如是否需要管理员权限,导出路径是否存在。应该提醒用户在PowerShell中以管理员身份运行命令,还有迁移后的默认用户设置问题,可能需要修改默认用户。 还要检查是否需要区分WSL1和WSL2,因为迁移步骤可能不同。但根据引用中的命令,可能都是通用的。不过最好还是确认一下是否需要指定版本,或者导入时是否需要--version参数。 最后,生成相关问题,可能涉及性能优化、使用场景、常见错误处理等,比如如何备份、空间不足怎么办,或者迁移后无法启动的解决方法。确保问题覆盖用户可能遇到的后续疑问。</think>### WSL安装与迁移教程 #### 一、WSL安装步骤 1. **启用Windows功能** - 以管理员身份运行PowerShell,执行: ```powershell dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart ``` - 重启计算机完成功能启用[^1] 2. **安装Linux发行版** - 打开Microsoft Store,搜索并安装所需系统(如Ubuntu 22.04) - 首次启动时会自动完成初始化配置 3. **升级到WSL2(可选)** - 下载并安装[WSL2内核更新包](https://aka.ms/wsl2kernel) - 设置默认版本: ```powershell wsl --set-default-version 2 ``` #### 二、WSL系统迁移方法 1. **查看子系统信息** ```powershell wsl -l -v ``` 输出示例: ``` NAME STATE VERSION Ubuntu-22.04 Stopped 2 ``` 2. **关闭所有WSL实例** ```powershell wsl --shutdown ``` 3. **导出系统镜像** ```powershell wsl --export Ubuntu-22.04 D:\wsl_backup\ubuntu2204.tar ``` - `Ubuntu-22.04`为子系统名称 - `D:\wsl_backup\`建议使用NTFS格式分区 4. **卸载原系统** ```powershell wsl --unregister Ubuntu-22.04 ``` 5. **导入到新位置** ```powershell wsl --import Ubuntu-22.04 D:\wsl_new\ D:\wsl_backup\ubuntu2204.tar --version 2 ``` - 参数说明: - `Ubuntu-22.04`:新子系统名称 - `D:\wsl_new\`:目标存储路径 - `--version 2`:指定WSL2模式 6. **设置默认用户** 创建`D:\wsl_new\wsl.conf`文件并添加: ```ini [user] default=username ``` #### 三、验证迁移结果 ```powershell wsl -d Ubuntu-22.04 ``` 检查文件完整性和用户配置,确认系统正常运行[^2]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值