WSL2相关
WSL2相关
背景
WSL:
Windows Subsystem for Linux(简称WSL)是一个在Windows 10\11上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层
在逛OpenHarmony开发者论坛的时候,看到使用WSL2编译OpenHarmony,突起想起自己之前在自己的Windows的电脑上也捣鼓了一下WSL2,装了个Ubuntu20.04,然后一直就扔在那没用,今天正好再继续弄弄
安装WSL
配置 WSL 环境
使用 win+s
搜索 启用或关闭windows功能
,并打开:
- 适用于Linux的Windows子系统
- 虚拟机平台
下载 Linux 内核更新包:
运行并安装
将 WSL 2 设置为默认版本
wsl --set-default-version 2
安装Linux分发版
Microsoft Store搜索Ubuntu对应版本,这里选的是20.04,安装
默认情况下会安装到C盘。
配置Linux
为新的 Linux 分发版创建用户帐户
切换源
sudo vim /etc/apt/sources.list
更新
sudo apt update
sudo apt upgrade
查看已安装的 linux 发行版本
C:\Users\xxx> wsl -l -v
配置vscode
在vscode里面下载好 WSL
和 Remote - SSH
拓展。
就可以愉快地玩耍了~
准备将之前在 VirtualBox 里面的东西弄进去
转移安装目录
wsl2安装的发行版默认是安装在C盘的,像我的C盘就不是很大,所以需要转移下目录。
关闭所有的Linux发行版
C:\Users\xxx> wsl --shutdown
wsl查看已安装的linux发行版本
C:\Users\xxx> wsl -l -v NAME STATE VERSION * Ubuntu-20.04 Stopped 2
导出已安装的发行版本
C:\Users\xxx> wsl --export Ubuntu-20.04 D:\wsl\Ubuntu20.04.tar
将已经安装的Ubuntu-20.04打包成Ubuntu20.04.tar,注意磁盘分区空间应充足
注销已导出的发行版本
C:\Users\xxx> wsl --unregister Ubuntu-20.04
重新安装已导出的发行版本
C:\Users\xxx> wsl --import Ubuntu-20.04 D:\wsl\ubuntu20.04 D:\wsl\ubuntu20.04.tar
wsl –import <安装发行版本名称> <安装发行版本路径> <已导出的发行版本>
删除已导出的发行版本
删除
D:\wsl\ubuntu20.04.tar
压缩WSL2的磁盘
WSL2采用类似于虚拟机的虚拟磁盘作为存储,从上面转移导出来的文件(ext4.vhdx
)就可看到,所以它和虚拟机的磁盘一样,可以自动扩容,但不会自动缩容,一旦把它“撑大”,即使把里面的文件删除也不会自动“缩小”,因此只能手动地进行压缩来释放磁盘空间
步骤如下:
关闭所有的Linux发行版
wsl --shutdown
备份,就是和前面说的导出一样(可选)
C:\Users\xxx> wsl --export Ubuntu-20.04 D:\wsl\Ubuntu20.04.tar
压缩虚拟磁盘文件
# 运行管理计算机的驱动器的 DiskPart 命令 C:\Users\xxx> diskpart
在新打开的DiskPart命令工具中执行:
# 选择虚拟磁盘文件 DISKPART> select vdisk file="D:\xxx\ext4.vhdx(ext4.vhdx文件路径)" # 压缩文件 DISKPART> compact vdisk # 压缩完毕后卸载磁盘 DISKPART> detach vdisk