Windows Subsystem for Linux(WSL)是微软推出的一种兼容层,用于在 Windows 10 及更高版本上运行 Linux 二进制可执行文件(ELF 格式)。WSL 提供了一个运行完整 Linux 用户空间的环境,而无需启动虚拟机或双启动系统。下面是 WSL 的详细介绍及其优缺点。
WSL 简介
WSL 允许用户在 Windows 上运行 GNU/Linux 环境,包括大多数命令行工具、实用程序和应用程序。WSL 包括两种版本:WSL 1 和 WSL 2。
- WSL 1:这是 WSL 的初始版本,使用适配的 Linux 兼容内核接口实现。
- WSL 2:这是一个较新的版本,使用真正的 Linux 内核在轻量级虚拟机中运行,提供更高的性能和完全的系统调用兼容性。
WSL 1 vs WSL 2
特性WSL 1WSL 2内核实现适配的 Linux 兼容内核接口真正的 Linux 内核文件系统性能Windows 和 WSL 文件系统共享性能更快的文件系统性能系统调用兼容性部分 Linux 系统调用兼容完全的 Linux 系统调用兼容启动时间更快略慢于 WSL 1内存占用更少由于轻量级虚拟机,略多Docker 支持需要额外配置原生支持
WSL 的优点
- 开发环境一致性:开发人员可以在同一台计算机上同时运行 Windows 和 Linux 应用程序,无需重启或虚拟化软件。
- 轻量级:相比传统的虚拟机,WSL 更轻量级,占用的系统资源更少。
- 快速启动:WSL 实例启动速度极快,几乎瞬间响应。
- 文件系统集成:Windows 文件系统和 WSL 文件系统无缝集成,允许在两个环境之间轻松共享文件。
- 工具和包管理:可以使用 Linux 发行版的包管理工具(如 apt、yum 等)来安装和管理软件包。
- 广泛支持:支持多种 Linux 发行版,包括 Ubuntu、Debian、Fedora 等,用户可以通过 Microsoft Store 安装这些发行版。
- Docker 支持(WSL 2):WSL 2 提供了对 Docker 的原生支持,使在 Windows 上运行容器变得更加简单。
WSL 的缺点
- 图形界面支持有限:尽管可以通过一些配置在 WSL 上运行 Linux 图形应用程序,但支持和性能都不如原生 Linux 环境。
- 硬件访问限制:WSL 对硬件访问有限,例如 USB 设备、GPU 等,尽管 WSL 2 提供了一些改进(如 GPU 加速支持),但仍不如原生 Linux 直接访问硬件。
- 网络性能:由于 WSL 2 使用虚拟化技术,网络性能可能不如原生 Linux,特别是在高负载情况下。
- 不完全替代虚拟机:尽管 WSL 可以处理大多数开发任务,但对于需要完全隔离的环境或复杂的虚拟网络配置,传统虚拟机可能更合适。
- 文件系统性能(WSL 1):在 WSL 1 中,访问 Windows 文件系统的性能较差,特别是对于大量小文件的操作。
安装
在 Windows Subsystem for Linux (WSL)上安装和配置 Linux 系统可以帮助你在 Windows 环境中使用 Linux 工具和开发环境。默认是安装在了 C 盘。以下是详细的步骤,包括如何将 WSL 安装在 D 盘并安装 Ubuntu 等系统:
1. 安装 WSL
1.1 启用 WSL 功能
- 打开 PowerShell(以管理员身份运行):- 右键点击开始菜单中的 PowerShell 图标,选择“以管理员身份运行”。
- 启用 WSL:
wsl --install
这个命令会自动启用 WSL 及相关功能,并下载并安装最新的 Linux 内核。如果你使用的是 Windows 10,可能需要手动启用 WSL 功能。 - 如果你需要手动启用 WSL 功能(仅 Windows 10):- 在 PowerShell 中执行以下命令:
dism.exe /online /enable-feature /featurename: Microsoft-Windows-Subsystem-Linux /all /norestart
- 启用虚拟机平台功能(WSL 2 需要):dism.exe /online /enable-feature /featurename: VirtualMachinePlatform /all /norestart
- 重启计算机:- 执行完以上命令后,重新启动计算机以完成功能启用。
1.2 安装 WSL 2(推荐)
- 下载并安装最新的 WSL 2 Linux 内核更新包:- 前往 Microsoft 官方网站下载并安装最新的更新包。
- 设置 WSL 2 为默认版本:- 打开 PowerShell(以管理员身份运行),输入以下命令:
wsl --set-default-version 2
2. 安装 Linux 发行版
2.1 从 Microsoft Store 安装
- 打开 Microsoft Store:- 在开始菜单中搜索并打开“Microsoft Store”。
- 搜索并安装 Linux 发行版:- 在搜索栏中输入“Ubuntu”或你选择的其他发行版名称(例如 Debian, Kali Linux 等)。- 选择发行版并点击“安装”。
2.2 从命令行安装
- 列出可用的发行版:
wsl --list --online
- 安装选择的发行版:- 假设你选择安装 Ubuntu:
wsl --install -d Ubuntu
3. 配置 WSL 存储位置(安装在 D 盘)
3.1 移动 WSL 发行版到 D 盘
- 导出现有发行版:- 假设你已经安装了 Ubuntu,可以使用以下命令导出发行版:
wsl --export Ubuntu D:\WSL\Ubuntu.tar
- 卸载现有发行版:
wsl --unregister Ubuntu
- 创建新的发行版目录:- 在 D 盘上创建一个目录来存储 WSL 的文件: - 使用文件资源管理器或命令行创建目录,例如
D:\WSL\Ubuntu
。 - 导入发行版到 D 盘:
wsl --import Ubuntu D:\WSL\Ubuntu D:\WSL\Ubuntu.tar
4. 配置和使用 Linux 发行版
- 启动 Linux 发行版:- 在开始菜单中找到你安装的 Linux 发行版(如 Ubuntu),点击启动。
- 进行初始设置:- 初次启动时,会提示你创建一个用户帐户和密码。按照提示完成设置。
- 更新和升级系统:- 在 Linux 终端中,运行以下命令更新系统:
sudo apt updatesudo apt upgrade
5. 高级设置(可选)
5.1 设置默认用户
- 设置默认用户:- 可以设置一个默认用户,以便每次启动 WSL 时不需要重新登录:
wsl --set-default-user <username>
5.2 自定义 WSL 配置
修改
.wslconfig
文件:
可以创建或编辑位于用户主目录下的
.wslconfig
文件来调整 WSL 的配置,如内存限制、处理器数量等:
- 文件路径:
C:\Users\<YourUsername>\.wslconfig
- 示例内容:
[wsl2]memory=4GBprocessors=2
总结
以上步骤涵盖了从安装 WSL 到将其配置在 D 盘的整个过程。确保按照步骤执行,特别是在移动发行版时,要先导出和卸载再重新导入,以避免数据丢失。
项目
使用 WSL 之后提高了 qps 的项目,纯 c 语言写的 kv 存储引擎,可以点击该文字跳转到 github 上:kv存储引擎项目链接
项目开源,介绍详细,记得给颗星星 star 哦~
项目导入WSL
在本地电脑安装了WSL(Windows Subsystem for Linux)之后,可以通过多种方法将项目代码导入到WSL环境中。以下是几种常用的方法:
方法 1:使用Windows文件系统
WSL可以直接访问Windows文件系统,您可以将项目代码保存在Windows文件系统中的任意位置,然后从WSL中访问。
- 将项目代码放在Windows文件系统中: 将项目代码放在Windows系统的任意文件夹中,例如
C:\Projects\MyProject
。 - 从WSL访问该文件夹: 在WSL中,使用
/mnt/c
来访问C盘。例如,打开WSL终端并导航到项目文件夹:cd /mnt/c/Projects/MyProject
方法 2:使用VS Code远程开发扩展
VS Code提供了一个名为Remote - WSL的扩展,可以在WSL环境中轻松编辑和管理项目代码。
- 安装VS Code和Remote - WSL扩展: 从VS Code官网下载并安装VS Code,然后在VS Code中安装Remote - WSL扩展。
- 在WSL中打开项目:- 打开WSL终端并导航到项目文件夹:
cd /path/to/your/project
- 在项目文件夹中运行以下命令以启动VS Code并打开该项目:code .
方法 3:使用Git进行代码管理
如果您的项目托管在Git仓库中,可以使用Git将项目克隆到WSL环境中。
- 在WSL中安装Git(如果尚未安装):
sudoapt-get updatesudoapt-getinstallgit
- 克隆Git仓库: 在WSL终端中导航到目标目录并克隆项目代码:
cd /path/to/your/directorygit clone https://github.com/yourusername/yourproject.git
方法 4:使用SCP或SFTP传输文件
如果您的项目代码在远程服务器上,可以使用SCP或SFTP将文件传输到WSL环境中。
- 在WSL中使用SCP传输文件:
scp username@remotehost:/path/to/remote/project /path/to/local/directory
- 在WSL中使用SFTP传输文件:
sftp username@remotehostsftp> get /path/to/remote/project /path/to/local/directory
方法 5:使用WSL共享文件夹
WSL和Windows之间可以使用共享文件夹来传输文件。
- 在Windows中创建一个共享文件夹: 将项目代码放在一个文件夹中,例如
C:\Projects\MyProject
。 - 在WSL中创建一个符号链接: 在WSL终端中创建一个指向Windows文件夹的符号链接:
ln-s /mnt/c/Projects/MyProject /path/to/your/symlink
通过上述方法,您可以将项目代码轻松导入到WSL环境中,从而在Linux环境中进行开发和测试。
版权归原作者 小白yaa 所有, 如有侵权,请联系我们删除。