WSL 详解
WSL与WSL2在多开的情况下,IP地址都是一样的,因此不适用制作集群的情况,适合玩单个服务的情况
一、安装WSL2
1.1 安装WSL2环境要求
对于 x64 系统:版本 1903或更高版本,版本 18362 或更高版本
1.2 启用虚拟机功能
安装WSL2,需要启用虚拟机功能,需要在PowerShell中运行以下命令,执行完成后重启
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
1.3 安装Linux内核更新包
用于 x64 计算机的 WSL2 Linux 内核更新包 (windows.net)
1.4 切换版本
wsl --set-default-version 2
二、WSL2
2.1 WSL与WSL2比较
特征 | WSL1 | WSL2 |
---|---|---|
Windows和Linux之间的集成 | ✓ | ✓ |
快速启动时间 | ✓ | ✓ |
小资源足迹 | ✓ | ✓ |
与当前版本的VMware和VirtualBox一起运行 | ✓ | ✓ |
托管虚拟机 | ✕ | ✓ |
完整的Linux内核 | ✕ | ✓ |
全面的系统调用兼容性 | ✕ | ✓ |
跨OS文件系统的性能 | ✓ | ✕ |
2.2 WSL2 新特性
WSL 2使用了VM,但效率上与WSL一样快
完整的Linux内核
提高文件IO性能
如git clone,npm install,apt更新,apt升级等,在WSL这些操作非常的慢。
对Docker应用支持更好
WSL与WSL2可以并在
通过以下命令可以切换版本
wsl --set-default-version 2
- WSL 2 的行为将更像虚拟机,例如:WSL 2 的 IP 地址与主机不同
2.3 切换WSL2
如果在使用过程,原来在WSL1下安装系统,需要切换到WSL下,可以通过以下命令进行切换
PS C:\Users\yiuked> wsl --set-version centos7 2
正在进行转换,这可能需要几分钟时间...
有关与 WSL 2 的主要区别的信息,请访问 https://aka.ms/wsl2
转换完成。
PS C:\Users\yiuked> wsl --list -v
NAME STATE VERSION
* ubuntu16 Stopped 1
centos7 Stopped 2
xb24 Stopped 1
2.4 常用命令
快速进入某个系统
wsl -d centos7
重启时reboot时出现Failed to talk to init daemon
reboot -f
三、安装Liunx
在Mircrosoft Store中搜索Linux安装则可。
四、Windows Terminal 终端工具
在Mircrosoft Store中搜索Windows Terminal安装则可。如果需要添加右键菜单中,复制以下命令,另存.reg文件,修改your_name后运行则可:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows terminal here"
[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="C:\\Users\\your_name\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe -d ."
- 查看wsl目录
可以通过cmd命令 \\wsl$ 来打开wsl的物理路径