Windows 10 WSL&Ubuntu 22.04 安装并迁移到 F 盘

WSL安装默认在 C 盘,如果C盘容量不多,那么C盘将不堪重负,那么将安装好的WSL&Ubuntu 22.04迁移至其他盘符是一个解决该问题的方法。

一、WSL & Ubuntu22.04

1.系统设置

首先是系统设置,在 Windows 底部的搜索框搜索"启用或关闭 Windows 功能",勾选"适用于 Linux 的 Windows 子系统" 和 "Windows 虚拟机监控程序平台",需要重启电脑。

2.安装发行版

2.1安装WSL

以管理员身份打开 PowerShell 命令窗口,输入以下命令安装内核:

python 复制代码
wsl --install

更新 WSL 可以通过 wsl --update 命令完成,这是微软官方推荐的更新方式‌,该命令会自动下载并安装最新的 WSL 内核和功能更新‌,更新完成后需重启 WSL 或电脑:

python 复制代码
wsl --shutdown

如果因为网络问题导致更新失败,可以使用 --web-download 强制从微软服务器下载

python 复制代码
wsl --update --web-download

可以输入下面的命名验证更新结果:

python 复制代码
wsl --version
2.2安装Ubuntu

接下来是安装Ubuntu,我们安装Ubuntu22.04

打开 Windows 应用商店搜索 "Ubuntu",安装 "Ubuntu 22.04.5 LTS"

因为我之前已经安装好了,所有显示"打开",点击免费下载即可自动下载安装完成

Ubuntu安装结束之后点击"打开",系统将打开一个控制台窗口,系统会要求你等待一分钟或两分钟,以便文件解压缩并存储到电脑上。 未来的所有启动时间应不到一秒。(截图是20.04版本的,前面安装22.04的时候忘记截图了)

在窗口里面输入用户名,回车之后输入密码即可。完成设置后,将进入 Linux 发行版的终端界面。这里可以执行 Linux 命令,并进行开发和运行应用程序。

3.WSL&Ubuntu迁移到F盘

通过上述的安装方式数据都会存在 C 盘,大概一两GB,我们把这些数据迁移到 F 盘。

3.1查看 WSL 虚拟机状态并停止

首先我们查看一下虚拟机状态,在 PowerShell 输入下列命令:

python 复制代码
wsl -l -v

会有下面的输出

执行 wsl --shutdown 命令使其停止运行,再次执行 wsl -l -v 确认停用

python 复制代码
wsl --shutdown

3.2导出/导入备份

先手动创建迁移的目标文件夹,然后通过命令导出原虚拟机的备份:

我的目标文件夹为F盘的一个名为"WSL"的文件夹,该文件夹必须存在,不存在的话运行命令会报错

python 复制代码
wsl --export Ubuntu-22.04 F:\WSL\Ubuntu.tar

你安装的如果是20.04或者其他版本,你可以将上面命令中的系统替换为你安装的系统

F是接下来存放虚拟机备份的盘符,哪个盘符都可以。

然后注销原 wsl 虚拟机:

python 复制代码
 wsl --unregister Ubuntu-22.04

再然后将备份导入到新的目标文件夹中:

python 复制代码
wsl --import Ubuntu-22.04 F:\Ubuntu2204 F:\WSL\Ubuntu.tar

F:\Ubuntu2204是接下来导入虚拟机的文件夹,你可以根据情况指定,但是文件夹需要先存在

F:\WSL\Ubuntu.tar是前面存放虚拟机备份的路径(备份建议一直保存,以备不时之需)

Ubuntu2204文件夹里面是一个磁盘映像文件

PowerShell 输入下列命令恢复默认用户

python 复制代码
Ubuntu2204 config --default-user your_user_name

PS:我不做这一步也可以正常使用。

相关推荐
Maple_land44 分钟前
Linux进程第五讲:PPID与bash的关联、fork系统调用的原理与实践操作(上)
linux·运维·服务器·centos·bash
青草地溪水旁1 小时前
进程“悄悄话”函数——`socketpair`
linux·进程间通信
风为你而吹2 小时前
【玩泰山派】4、制作ubuntu镜像-(6)使用鲁班猫的sdk去制作镜像
linux·运维·ubuntu
running thunderbolt2 小时前
项目---网络通信组件JsonRpc
linux·服务器·c语言·开发语言·网络·c++·性能优化
_OP_CHEN2 小时前
Linux 系统编程:(一)从历史演进到 XShell 远程登录实操
linux·运维·服务器·centos·unix·xshell
夜月yeyue3 小时前
STM32 Flash 访问加速器详解(ART Accelerator)
linux·单片机·嵌入式硬件·uboot·bootloard
点亮一颗LED(从入门到放弃)3 小时前
Linux应用(6)——网络通信/TCP/IP
linux·网络·tcp/ip
egoist20233 小时前
[linux仓库]信号快速认识[进程信号·壹]
linux·c语言·信号处理·信号·前后台进程
VNDR4 小时前
工欲善其事,必先利其器
linux
心灵宝贝5 小时前
Fedora 38 安装 perl-JSON RPM 包步骤(含依赖问题解决及附安装包)
linux