准备工作已经做好。
最后安装Ubuntu系统,在Microsoft store搜索Linux,选择适合的linux版本,即可。
由于microsoft store商店默认安装路径是C盘,因此如果C盘内存太小,以后会出现麻烦(以下是已安装好Ubuntu之后),有两种办法解决:
可以说,微软主动拥抱Linux,推出WSL,是Windows历史上标志性意义的事情。有了WSL,学习Linux的门槛一下降低了,我们在Windows上就可以很方便地安装、备份、还原Linux子系统,而这些功能通过命令行工具wsl可以超级轻松地实现。下面来体验一下:
Windows中直接搜索命令行,管理者身份运行,打开命令行窗口输入wsl -l
,可以看到我系统里装了一个Ubuntu 20.04:
C:\WINDOWS\system32>wsl -l
适用于 Linux 的 Windows 子系统:
Ubuntu-20.04 (默认)
输入wsl --version可以看到版本信息和命令行参数一览:
C:\WINDOWS\system32>>wsl --version
命令行选项无效: --version
用法: wsl.exe [参数] [选项...] [CommandLine]
用于运行 Linux 二进制文件的参数:
如果未提供任何命令行,wsl.exe 将启动默认 shell。
--exec, -e
在不使用默认 Linux shell 的情况下执行指定的命令。
--
按原样传递剩余的命令行。
选项:
--distribution, -d
运行指定的分发。
--user, -u
以指定用户身份运行。
用于管理 Windows Subsystem for Linux 的参数:
--export
将分发导出到 tar 文件。
文件名可为 - 以便标准输出。
--import
将指定的 tar 文件作为新分发导入。
文件名可为 - 以便标准输入。
--list, -l [选项]
列出分发。
选项:
--all
列出所有分发,包括当前
正在安装或卸载的分发。
--running
仅列出当前正在运行的分发。
-setdefault, -s
将分发设置为默认值。
--terminate, -t
终止分发。
--unregister
注销分发。
--upgrade
将分发升级为 WslFs 文件系统格式。
--help
显示用法信息。
接下来讨论几个具体用法。
wsl -l列出了系统中安装的子系统名称,可以是一个或多个,本文中的子系统名称是Ubuntu-20.04,接下来针对这个默认子系统进行操作:
运行子系统
wsl --distribution Ubuntu-20.04
或者
wsl -d Ubuntu-20.04
查看运行中的子系统
wsl -l --running
适用于 Linux 的 Windows 子系统:
Ubuntu-20.04 (默认)
停止子系统
wsl -t Ubuntu-20.04
或者
wsl --terminate Ubuntu-20.04
备份子系统
非常简单,但一定要先停止子系统之后再备份
wsl --export Ubuntu-20.04 D:/wsl/Ubuntu-20.04.tar
这样WSL子系统就从Windows中删除的干干净净了。
还原子系统
删除了没关系,刚才做了备份,也是一个命令还原:
wsl --import Ubuntu-20.04 D:/WSL-Ubuntu D:/wsl/Ubuntu-20.04.tar
这里注意指定还原的路径。成功后,子系统又回来了,可以用wsl -l
确认一下
本来子系统是wsl1的,但是wsl2是比较好的,因此可以切换wsl2:
首先查看wsl版本:wsl -l -v
停止子系统运行:wsl -t Ubuntu-20.04
切换wsl2系统:wsl --set-version Ubuntu-20.04 2 ;
等待几分钟即可;;;
Ubuntu2004 config --default-user 用户名
就是这么简单!
如本文标题,WSL的备份还原就是这么简单,的确是简单到极致!就是用wsl --import把系统还原回来重新折腾的。通过wsl --export,我们可以把WSL导出为一个文件,放到U盘里随身带走,然后可以在任意一台电脑里还原,继续我们的工作,是不是很方便?
由于我们会创建一个用户,但每次登入时候,用户是root。那如何将每次登入默认为创建的用户?
修改默认用户:
查看命令, 输入ubuntu 按回车会自动补全版本对应的命令
:
ubuntu2004 /?
**设置默认用户**
# 语法: ubuntu1804 config --default-user 用户名(已存在)
PS C:\WINDOWS\system32>ubuntu1804 config --default-user root
PS C:\WINDOWS\system32>
# 没有报错就代表成功
WSL1安装Docker后执行 sudo service docker start 报错:docker: unrecognized service
因此还是使用wsl2,本人用wsl1一直安装不上docker,但升级为wsl2之后嘛,就正常了。
即原生linux docker,安装指令如下:
sudo apt -y install docker.io
然后开启docker服务:
sudo service docker start
卸载docker:
sudo apt-get remove docker docker-engine docker.io
参考:
链接:https://www.jianshu.com/p/8b4ec8fafdca
链接:https://blog.csdn.net/weixin_44953227/article/details/109465071