Windows Subsystem for Linux
介绍
Windows Subsystem for Linux(简称WSL)是一个为在Windows 10+上能够原生运行Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,目标是使纯正的Ubuntu 14.04+ 映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。
我们简单的认为它是在 Windows 上安装了一个 Linux 环境就好了。也就是最好的 Linux 发行版:Win11 + WSL 。
安装 WSL
查找可用的发行版
wsl -l -o
安装指定的Distribution Nam Linux 发行版
wsl --install -d
查看已安装的发行版
wsl --list --verbose
查看运行情况
wsl -l -v
关闭正在运行的WSL
wsl --shutdown
设置WSL版本
wsl --set-version
安装WSL
官方也是给出了详细的安装过程,
https://docs.microsoft.com/zh-cn/windows/wsl/install
也可以参考 网友帖子
安装过程遇到的一些问题可以通过如下解决:
-
启用或关闭Windows功能
首先在搜索栏中搜索并打开“启用或关闭Windows功能”,勾选“适用于Linux的Windows子系统”项。只有开启这项设置才能正常安装WSL。 -
安装 WSL
在微软应用商店搜索 Linux,可以看到一系列 Linux 发行版,根据自己需要选择适合自己的发行版,这里我选用 Ubuntu 18.04 LTS,下载完成后启动,等待安装完成,输入账户和密码,我们便得到了一个 Linux 环境了。 -
安装WSL2时遇到的问题(0x80370102报错)解决
进入BIOS开启虚拟化 -
安装 Linux提示无法解析服务器的名称或地址及0x80370114问题解决
网络设置DNS为114.114.114.114 -
WSL 下载服务器加速
有VPN网络可直接下载, 没有的话网络下载加速,这里使用修改 hosts 文件 ,地址映射方法,所有网址适用,这里以 WSL 下载服务器为例子
命令 wsl -l -o
访问的地址:
https://raw.githubusercontent.com/microsoft/WSL/master/distributions/DistributionInfo.json
加速访问
修改系统 hosts 文件
C:\Windows\System32\drivers\etc\hosts
比如 raw.staticdn.net
站长工具:查询dns: https://tool.chinaz.com/dns
- 如何将WSL从C盘迁移到其他盘区
为了防止成为C盘杀手,推荐将软件默认安装在D盘,打开设置>系统>存储>更改新内容的保存位置,修改新的应用保存到D盘。
- 准备工作
打开CMD,输入wsl -l -v查看wsl虚拟机的名称与状态。
wsl虚拟机的名称与状态
了解到本机的WSL全称为Ubuntu-22.04,以下的操作都将围绕这个来进行。
输入 wsl --shutdown 使其停止运行,再次使用wsl -l -v确保其处于stopped状态。
- 导出/恢复备份
在D盘创建一个目录用来存放新的WSL,比如我创建了一个 D:\Ubuntu_WSL 。
①导出它的备份(比如命名为Ubuntu.tar)
wsl --export Ubuntu D:\Ubuntu_WSL\Ubuntu.tar
②确定在此目录下可以看见备份Ubuntu.tar文件之后,注销原有的wsl
wsl --unregister Ubuntu
③将备份文件恢复到D:\Ubuntu_WSL中去
wsl --import Ubuntu D:\Ubuntu_WSL D:\Ubuntu_WSL\Ubuntu.tar
这时候启动WSL,发现好像已经恢复正常了,但是用户变成了root,之前使用过的文件也看不见了。
- 恢复默认用户
在CMD中,输入 Linux发行版名称 config --default-user 原本用户名
例如:
Ubuntu config --default-user cham
请注意,这里的发行版名称的版本号是纯数字,比如Ubuntu-22.04就是Ubuntu。
这时候再次打开WSL,你会发现一切都恢复正常了。