1 前言
wsl是windows下的一个子系统,可以让我们在windows下非常方便的使用linux系统。
本文简单介绍一些wsl的高级用法。
2 修改安装位置
默认情况下,wsl是安装在你电脑C盘上的,可以通过下面命令查看:
wsl --list -v
比如我安装了两个ubuntu发行版,此时得到的输出为:
NAME STATE VERSION
* Ubuntu-22.04 Stopped 2
Ubuntu-20.04 Running 2
现在我想要将Ubuntu-20.04
迁移到其它硬盘,但由于此时它的状态是运行(Running),因此我就需要先将它暂停:
wsl -t Ubuntu-20.04
然后就可以通过下面的命令将该系统进行导出:
wsl --export Ubuntu-20.04 "D:\ubuntu-20.04.tar"
等待其导出完毕后,还需要将其安装的信息进行注销:
wsl --unregister Ubuntu-20.04
最后,我们就可以通过刚才的导出文件将其重新安装到指定的目录下:
wsl --import Ubuntu-20.04 "D:\ubuntu-20.04" "D:\ubuntu-20.04.tar"
如果你和我一样,安装了多个子系统,想要切换子系统,那么可以使用下面这个命令切换默认启动的子系统:
wslconfig /s Ubuntu-20.04
然后直接使用wsl命令,就能进去该子系统内部了。
或者也可以直接通过命令启动指定名称的子系统:
wsl -d Ubuntu-20.04
但这样操作后还是会有一点问题,比如进入后会默认使用root
用户,root
用户权限过高,某些程序使用、编译的时候如果检测到当前为root用户,会导致出错。
除此之外使用root权限也容易删错一些东西,导致系统奔溃,所以你可以通过下面这条命令更改其默认的登录用户:
Ubuntu-20.04 config --default-user yu
其中Ubuntu-20.04
是系统名,后面的yu
为启动该系统时使用的默认用户名。
3 缩减磁盘占用
随着长时间的使用,wsl占用的磁盘空间会越来越大,即使你删除了其内的文件,它所占用的空间也不会缩小。
想要缩小其占用的磁盘空间,需要用到另外一个工具:diskpart
。
这是windows系统自带的工具,你可以直接在命令行内输入即可,它会自行打开一个黑窗口。
在新打开的黑窗口内使用命令选中wsl的磁盘文件:
select vdisk file="D:\ubuntu\ext4.vhdx"
比如我按前述方法转移wsl安装位置后,此时磁盘文件就在新的文件夹下,通过该命令将wsl文件选中。
然后运行以下命令进行压缩即可:
compact vdisk