扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
必须启用“适用于 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 内核都是运行在虚拟平台之上的,是平级的
如果发现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 Distro Version
启用WSL后,通过 \wsl$ 可以访问WSL文件
最初的WSL是在Windows之上模拟Linux内核,但是Windows和Linux之间存在如此基本的差异,以至于某些事情不可能以与本机Linux相同的行为实现,这意味着不可能直接在 WSL中运行 Docker Engine 和Kubernetes
在WSL1中,Docker Desktop通过Hyper-V虚拟机去运行docker环境的
升级到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发行版。方法如下。
windows11的子系统是有用的。据查询公开资料显示windows11的安卓子系统体验上还是很好的,应用都很流畅,像Word、Chrome、以及其它普通windows桌面应用程序可以共同运行。微软官方宣布,已正式推出Windows11安卓子系统WSAv1,允许Windows11用户通过亚马逊应用商店运行Android应用。
Win11安卓子系统文件移动路径一般都是C盘,支持在电脑上直接打开下载的文件。 具体解决方法如下:
1、首先,按键盘上的 Win 键,或点击底部任务栏上的开始图标,再点击所有应用下的设置;
2、系统设置窗口,左侧边栏点击应用,右侧应用下,点击应用和功能(已安装的应用,应用执行别名);
3、应用和功能列表中,找到安卓子系统,点击其右侧的扩展菜单;
4、找到移动选项,并点击打开,选择合适的盘符后,点击移动;
5、这个时候,只需要耐心等待,具体时间长短,取决于电脑硬盘的速度;
6、最后,可以打开移动到的磁盘,查看安卓子系统文件是否移动成功。
我接触Linux已经挺久了,非常喜欢Linux命令行的操作方式,无需鼠标就可以完成很多工作,但是现在的很多工作还是离不开桌面环境,虽然很多Linux发行版都已经给Linux准备好了桌面环境,大部分常用的软件也已经有了Linux版本,但是依然有很多程序不支持Linux,所以完全转到Linux并不现实。
当时比较流行的做法就是在Windows下安装一个Linux的虚拟机,这样就可以在需要的时候使用Linux。但是这样毕竟是两个独立的系统,两个系统的文件也并不共用,启动虚拟机的时间也会相对较久,所以我一直希望有一个系统,能够拥有Windows的桌面,又有Linux的命令行,直到Windows10出现了Linux子系统。
win10的子系统已经出来好久好久了,一开始我也只是把它当作Windows下的一个Linux虚拟机在使用,只不过这个虚拟机开起来特别快而已。最近在使用vscode的过程中,我将vscode的终端换成了wsl(win10的Linux子系统),发现子系统居然可以直接访问Windows上的文件,Windows上所有的硬盘都挂载在Linux的 /mnt 目录下,这样我就可以直接在Linux下对Windows的文件进行操作了。这不就是我所希望的Windows的桌面,Linux的命令行吗。
所以如果你既想拥有Linux的命令行,又希望拥有Windows的桌面,win10的Linux子系统是你的非常好的一个选择。
可以,打开控制面板(win7老版的),选择程序,启动window功能,在弹出窗口底下有个启动兼容Linux的win子系统,或者安装虚拟机
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流