【WSL】激活安装、迁移盘、重装系统
Windows Subsystem for Linux,简称WSL,是微软提供的可以运行在windows系统的“虚拟机”,可以让我们摆脱笨重的VMWare
什么是WSL
官方文档:WSl是适用于 Linux 的 Windows 子系统,可让开发人员按原样运行 GNU/Linux 环境,包括大多数命令行工具、实用工具和应用程序
WSL占用较少的资源且提供基本同样的体验,可以对windows文件系统的文件直接读写(VMWare需要借助工具),剪贴板也是公用的。
启动与安装
激活WSL
打开Windows PowerShell(管理员)(可以Win+X
找到),执行以下命令:
1 | Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux |
之后重启电脑,WSL就成功激活了
安装发行版操作系统
打开Microsoft Store,查找想要的操作系统,比如搜索Ubuntu,如下图:
选择自己想要的发行版操作系统安装,安装后打开,依提示设置用户名、密码即可开始使用
换源
官方软件源有时访问很慢,我们更换成清华源,依次执行以下命令(备份原本的安装源、编辑新的安装源):
1 | sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak |
在打开的vim编辑器里,将内容清空(可以在指令模式下输入:%d
快速清空),以Ubuntu 20.04.4 LTS为例(其他版本在清华源官网可查,输入以下内容(wsl的好处已经体现了,剪贴板互通可以直接复制)
1 | # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 |
更新
依次输入以下代码进行软件更新:
1 | sudo apt-get update |
WSL迁移
从Microsoft Store安装的话直接安装在了C盘,但是随着使用可能C盘空间会爆炸,考虑迁移到其他盘。
关闭WSL并查看列表
在管理员Powershell,使用wsl --shutdown
关闭,输入wsl --list --all -v
查看当前所有的子系统,我只安装了一个Ubuntu20.04,效果如图:
导出备份
1 | wsl --export 子系统 备份包的存放路径 |
子系统就是列表的NAME,选择你需要迁移的子系统;备份包的存放路径注意要写成…/xxx.tar的形式,xxx是你给备份包的命名,这里网上很多教程没有指明必须要有.tar后缀
注销子系统
1 | wsl --unregister 子系统 |
此时如果再使用wsl --list --all -v
就会发现已经没有了刚刚注销的子系统
导入备份
1 | wsl --import 子系统 子系统新路径 备份包的存放路径 |
子系统新路径即为你打算迁移该子系统的位置
设置登录默认用户
此时能够打开子系统就成功迁移了,但是会发现用户登录默认是root,为了将其改为我们刚打开系统设置的用户,在powershell里输入:
1 | 子系统 config --default-user 你要的默认登录用户名 |
注意这里的子系统,在网上看到了写Ubuntu-20.04的,写ubuntu的,我这里都报错,必须要用Ubuntu2004作为子系统名
重装系统
网上大多数都说从开始菜单,找到发行版(比如Ubuntu20.04),右键应用设置重置就可以了,然而我试了没有用,搜到另一个方法。在管理员PowerShell里输入wsl -l
查看发行版名称,利用wsl --unregister 子系统
注销,此时如果再次输入wsl -l
就可以发现刚刚注销的发行版已经没有了,但是装的应用并没有删除,直接打开应用就重装了。
如果之前切换过盘符,当初导出的压缩包并没有删除,注销后进行重新import就可以了。
文件互访
Windows的所有资源挂载在WSL Linux的/mnt/Windows完整路径
下,Windows资源管理器输入\\wsl$
可以直接访问Linux文件