1. > 电脑手机 >

windows子系统(success)

简单到极致!Windows 10 Ubuntu子系统的备份/还原教程来了

可以说,微软主动拥抱Linux,推出WSL,是Windows历史上标志性意义的事情。有了WSL,学习Linux的门槛一下降低了,我们在Windows上就可以很方便地安装、备份、还原Linux子系统,而这些功能通过命令行工具wsl可以超级轻松地实现。下面来体验一下:

Windows键+R,输入cmd回车打开命令行窗口输入 wsl -l ,可以看到我系统里装了一个Ubuntu 18.04:

输入 wsl --version 可以看到版本信息和命令行参数一览:

接下来讨论几个具体用法。

wsl -l 列出了系统中安装的子系统名称,可以是一个或多个,本文中的子系统名称是 Ubuntu-18.04-20190707 ,接下来针对这个默认子系统进行操作:

等待完成即可。

备份成功后,子系统会被打包成命令中指定的tar文件。

这样WSL子系统就从Windows中删除的干干净净了。

这里注意指定还原的路径。成功后,子系统又回来了,可以用 wsl -l 确认一下。

windows子系统(success)windows子系统(success)


如本文标题,WSL的备份还原就是这么简单,的确是简单到极致!前文说过,笔者在折腾aria2的时候曾经把系统搞崩溃过(小白没办法),就是用 wsl --import 把系统还原回来重新折腾的。通过 wsl --export ,我们可以把WSL导出为一个文件,放到U盘里随身带走,然后可以在任意一台电脑里还原,继续我们的工作,是不是很方便?

需要说明的是, wsl --upgrade 功能最好不要用,微软的技术支持说没什么用处还可能出问题,反正我是没敢尝试的。不过WSL2.0已结出来了,据说使用了真正的Linux内核,进化中的WSL,的确让人期待!

windows子系统有何用

就是双系统而已。

比如说自己想玩其他的系统。

1、鼠标右击开始菜单,打开设置,进入更新和安全

2

依次选择 针对开发人员》勾选开发人员模式》在返回设置,选择进入应用

3

选择应用和功能选项最下面的 程序和功能,点击进入程序和功能,点击启用或关闭Windows功能

4

选择适用于Linux的Windows子系统(beta),再点击确定

5

win键+R键,打开运行,输入cmd,回车【enter】键,打开cmd,在命令行输入bash,回车【enter】键,按y键继续,安装完之后设置用户名与密码就可以

windows11的子系统没啥卵用

windows11的子系统是有用的。据查询公开资料显示windows11的安卓子系统体验上还是很好的,应用都很流畅,像Word、Chrome、以及其它普通windows桌面应用程序可以共同运行。微软官方宣布,已正式推出Windows11安卓子系统WSAv1,允许Windows11用户通过亚马逊应用商店运行Android应用。

windows子系统 * Docker is not running问题

win10系统安装的ubuntu 的子系统,安装上docker后运行 service docker start ,显示OK,然后docker ps查看报错:

wtf? 查看服务状态

竟然没有运行成功,后来各种折腾还是不行,网上查了相关资料后基本认定我这个子系统是运行不起来了,原因是 目前 wsl 是不支持 docker 的守护进程的

于是乎,想要方便的在 wsl Ubuntu 上使用 docker 的想法近乎破灭。想要使用还是有方法的,可以参考这篇博客 在Linux的Windows子系统上(WSL)使用Docker(Ubuntu) 。

我们知道docker是cs架构的,即分为client端和server端,本地都是通过socket协议通讯的,如果本地client要连接远程的docker服务,则需要在client上导出以下环境变量

export DOCKER_HOST=tcp://:2375

2375是默认的连接端口,当然你可以在服务器端指定其他端口。

执行docker ps, ok没问题,打印出了远端host的docker容器信息。

这样我的子系统就变成了docker client端。

over!

最详尽教程完整介绍-Windows 的 Linux 子系统-WSL1&WSL2

必须启用“适用于 Linux 的 Windows 子系统”可选功能并重启,然后才能在 Windows 上运行 Linux 发行版。

以管理员运行Powershell(开启WSL,如已开启可跳过)

WSL 1 和 WSL 2 之间的主要区别在于,在托管 VM 内使用实际的 Linux 内核、支持完整的系统调用兼容性以及跨 Linux 和 Windows 操作系统的性能。

WSL2相比WSL1来说可以完美支持Docker。与WSL1的模拟Linux API不同的是,WSL2采用在Hyper-V虚拟机中运行的方案。可以说WSL2和原汁原味的Linux已经十分接近

不支持Docker的守护进程,但您可以使用 Docker CLI 连接到通过 Docker for Windows 或您创建的任何其他VM 运行的远程Docker守护进程

不能完全兼容systemctl, systemd等等,IO速度相对原生Linux也是大打折扣,在编译和解压方面可以很深体会到。毕竟不是真正的Linux,而是挂在Windows NT内核之上的仿Linux 系统

由于WSL 还不是原生的Linux,所以需要借助 Docker for Windows 来实现Docker(Docker for Windows 是基于Hyper-V 技术)

另外一种方式是,在WSL1中安装docker 客户端,连接 docker server, 来解决在WSL1上使用docker 的问题。(PS: Win10 的Linux 子系统是装不了 docker (服务端)的,但是可以安装客户端)

参考

WSL2 是第二代 WSL,包含在2020年5月正式发布 Windows 10 v2004 版中。相比第一代,新的 WSL2 重新设计了架构,使用真正的 Linux 内核,几乎具有 Linux 的所有完整功能。启用WSL2的 Linux 系统启动时间非常快,内存占用很少,并且,WSL 2 还可以直接原生运行 Docker,VS Code 编辑器还有 Remote-WSL 插件,相对于完整的 linux 虚拟机只是不支持 systemctl、systemd,不能直接运行图形桌面。Windows 也越来越向虚拟平台靠拢,Windows NT 内核和 Linux 内核都是运行在虚拟平台之上的,是平级的

windows子系统(success)windows子系统(success)


如果发现VERSION为1,说明Ubuntu运行在WSL1下,可以升级到 WSL2。同样,WSL2也可以降级到WSL1。

wsl -l -v #查看已安装Linux版本和名称,完整命令格式:wsl --list --verbose

具体步骤参考 :

安装 WSL 2 之前,必须启用“虚拟机平台”可选功能

wsl --set-version Ubuntu 2 #升级到WSL2,其中 Ubuntu 是已经安装的Linux名称,命令格式:wsl --set-version

启用WSL后,通过 \wsl$ 可以访问WSL文件

最初的WSL是在Windows之上模拟Linux内核,但是Windows和Linux之间存在如此基本的差异,以至于某些事情不可能以与本机Linux相同的行为实现,这意味着不可能直接在 WSL中运行 Docker Engine 和Kubernetes

在WSL1中,Docker Desktop通过Hyper-V虚拟机去运行docker环境的

windows子系统(success)windows子系统(success)


升级到WSL2 之后, Docker Desktop 可以直接用 WSL2,直接运行在Linux 内核上了

通过如下设置,Docker Desktop就和WSL2分发版本进行了集成,无需在WSL中安装docker; 当然,也可以选择不与Docker Desktop集成,直接在WSL 中运行docker 容器。

启用WSL后,docker运行数据都在WSL发行版中,文件位置都只能由WSL管理

安装docker后,docker会自动创建2个发行版:

WSL发行版默认都是安装在C盘,在%LOCALAPPDATA%/Docker/wsl目录

docker的运行数据、镜像文件都存在%LOCALAPPDATA%/Docker/wsl/data/ext4.vhdx中

通过 WSL 2 集成,您仍然可以体验到与 Windows 的无缝集成,但在 WSL 中运行的 Linux 程序也可以执行相同的操作。这对于从事面向 Linux 环境的项目或为 Linux 量身定制的构建过程的开发人员产生了巨大影响。不再需要维护 Linux 和 Windows 构建脚本!例如,Docker 的开发人员现在可以在 Windows 上的 Linux Docker 守护程序上工作,使用与 Linux 计算机上的开发人员相同的工具和脚本集:

注:WSL2 Docker最爽的地方是和宿主机Win10共享network,我们在宿主机Win10使用localhost加端口号就可以访问Docker中对应container中的服务,十分方便

wsl #启动

wsl --shutdown #关闭所有正在运行的 Linux 和 WSL 2

启动 WSL2 之后,会在任务管理器中发现多了一个 虚拟机工作线程

访问wsl 文件

卸载发行版

有时候某个Linux发行版不再使用,或者是环境被搞坏需要重装,这时候我们可以卸载掉这个Linux发行版。方法如下。

win10安装适用于Linux的Windows子系统

1、通过快捷键"windows键+R",打开运行窗口,输入:control appwiz.cpl。

2、在打开的控制面板的程序和功能界面,点击左边的“启用或关闭windows功能”。

3、在弹出的“windows功能”窗口中找到“适用于Linux的windows子系统”,勾选中然后点击“确定”。

4、从开始菜单中找到并点击“Microsoft Store”图标并进入windows应用商店。

5、在windows应用商店中搜索“linux”关键字,从结果中选择“在windows上运行Linux”。

6、在新打开的页面中,会显示可以在windows 10上安装的linux系统,选择自己想要安装的一款,然后跟从向导安装。

windows 子系统wsl2 占用内存过大的解决方案

近期将本地开发环境配置到的wsl2子系统中,出现wsl之系统暂用宿主机内存过多,导致数组机卡顿,通过在网上查阅资料获得解决方案记录下来,以供它人参考

在当前用户目录下新建.wslconfig文件,我的路径是:C:Usersadmin.wslconfig

然后在文件中添加配置内容:

然后在window 终端 输入 wsl --shutdown 关闭wsl,然后重启生效

processors 设置虚拟处理器数量

memory wsl 2占用系统内存上线,可根据实际情况配置

localhostForwarding=true 设置在 Windows 中通过 127.0.0.1 或 localhost 访问 WSL2 服务

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, website.service08@gmail.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息