news 2026/8/14 1:52:46

计算机原理—Windows中的WSL

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
计算机原理—Windows中的WSL

一、介绍

作为大家熟悉的操作系统,一般现在有三大系统即Windows系统、Linux系统和MacOS系统。不过苹果的系统相对封闭,而且一般是消费和开发领域比较多,而商用服务上几乎看不到。所以对于服务器应用来说,其实经常用到的是Windows和Linux要居多。
而且在这其中,Linux又在服务器应用中占据着绝对的主导地位,而Windows系统则在个人用户桌面占有主力地位,特别是在国内,占据的比例更是遥遥领先。那么在系统互通和开发部署之间,就需要二者进行交互,这是一个非常实际的应用场景。

二、Windows和Linux交互

在传统的Windows和Linux的互相交互中,最常见的就是使用虚拟机互相通信,或者使用远程桌面。当然,如果不考虑UI交互还可以考虑一些SSH的远程登陆,这对于在Windows上操作Linux纯服务器版本有着重要的应用价值。
但是上面的种种方式,都不可避免的带来各种系统、版本或驱动的兼容性,导致在不少的场景下,使用起来并不方便。仍然是你是你,我是我。要想达到很流畅自然的通信,仍然是一个技术和运气的问题。
特别是作为Windows上的应用者,可能对Linux的各种安装、操作和管理本身就不是多么熟悉,能不能够把Linux天然的集成到Windows系统中呢?前面多次提到过,有需求就会有人去解决。Windows的应用者和微软都在不断做着各种各样的尝试。

三、分析和发展

Windows系统试图统一天下的野心时刻都没有放弃过,只不过不断的被打击,才导致现在安分了许多。不知道大家还有没有在visual studio中使用j++来开发java的经历。而现在的Visual studio已经可以原生支持Linux开发和远程调试。从这一点,大家可以窥出一些端倪。开发工具可以兼容,那系统同样可以兼容。
在早期的Windows Services中,微软就推出过SFU(Windows Services for UNIX),但由于支持有限,所以未被大众所知。后来随着安卓的兴起,微软又搞了一个项目Project Astoria,意图让Android的应用可以运行在Win10的移动版本中。不过最终由于种种原因,还是没能最终推出。但这也造就了后来的WSL。

四、WSL

WSL,Windows Subsystem for Linux。它目前有两个版本即WSL1和WSL2。WSL1于2016年推出,WSL2于2019年推出。并且,微软在WSL2的基础上,于2021年将WSL的代码从Windows代码库中独立,并于2025年宣布开源WSL,相关代码可以Github中获取。

  1. WSL1
    此版本类似于在Windows内核中增加了一个内核兼容的驱动层。它负责将对Linux的系统调用映射到Windows内核中。这样就保证了Linux的可执行文件在Windows平台上的调用。这看上去挺美,但熟悉二者本质不同的开发者明白,Windows的不少核心调用和Linux的核心调用无法进行一一映射。它不是一种类似语言的翻译,而是根本设计理念的不同。所以WSL1的应用,天然就有着根本上的限制或者说缺陷
  2. WSL2
    既然知道了WSL1的缺点,WSL2就推出了。他使用一个轻量的Hyper-V虚拟机直接原生在Windows系统中,在虚拟机中运行完整的Linux内核,这样就可以完整的使用Linux的各种系统调用了。虽然从表面上看,它类似于前面提到的虚拟机方式,但它原生于Windows内核中,利用虚拟化技术直接进行处理。所以其对GPU加速、图形化支持,特别是systemd和网络等支持的更好
  3. WSL的应用
    明白了WSL的特点,要想使用WSL,还是需要一些要求的。基础是必须是64位版本的Win10,版本必须不小于(Build 19041)。
    安装:使用管理员权限打开Power shell,输入:wsl --install。此命令会启用WSL功能并安装WSL2相关的虚拟机平台以及默认的Ubuntu发行版
    使用:它其实有点类似conda了,可以使用类似的命令:wsl --list --verbose(查看版本),wsl(启动默认发行版),wsl -d (启动指定发行版)
    扩展:可以在VS Code中安装WSL扩展直接操作。Win10 2004以上可使用WSL2直接运行Linux图形化桌面应用。但一般建议将相关Linux的文件存放在Linux的系统中以提高性能。它可以使用常规的Linux命令进行处理:
    # 在WSL2中安装nginx或Apache,方法是一致的 sudo apt update sudo apt install nginx -y #apache2 # 启动,WSL2默认未启用systemd sudo service nginx start #apache2 #Windows浏览器 http://localhost

一般来说,推荐使用WSL2,毕竟其完全的Linux支持不可小觑。但如果想使用虚拟安装自行处理或对双方的文件交互要求比较强的化,还是建议安装WSL1。不过好像到现在大家还是习惯用虚拟机或者远程的比较多。

五、总结

目前看windows中的WSL2已经相当不错了。但距离真正的普及,估计还是需要一段时间磨砺。不过微软的这种前进的方向肯定是正确的,能否坚持下去,就看微软的坚持和应用的普及情况了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/14 1:47:19

碳化硅外延厚度预测:从数据清洗到模型构建的完整建模指南

1. 从“测不准”到“算得准”:碳化硅外延厚度建模的挑战与机遇在半导体制造,尤其是以碳化硅(SiC)为代表的第三代半导体领域,外延层厚度是一个关乎器件性能与良率的命脉参数。它直接决定了器件的耐压等级、导通电阻和开…

作者头像 李华
网站建设 2026/8/14 1:45:06

ANSYS 2025 R1 安装避坑指南:从授权原理到环境配置的完整解决方案

如果你正在为ANSYS 2025 R1的安装而头疼,看到网上各种零散、过时甚至相互矛盾的教程,那么这篇文章就是为你准备的。这不仅仅是一篇安装指南,更是一份基于大量真实踩坑经验总结的“避坑全记录”。很多教程只告诉你“下一步”该点哪里&#xff…

作者头像 李华
网站建设 2026/8/14 1:44:17

ORB-SLAM3 SearchByProjection()

将关键帧的地图点投影到当前帧,在投影位置附近搜索匹配特征点,通过描述子距离和旋转一致性筛选匹配。 分析代码流程: 获取当前帧位姿和光心位置。 初始化旋转直方图。 遍历关键帧的所有地图点: 跳过坏点或已找到的点。 将世界点变换到相机坐标系,投影到图像平面。 检…

作者头像 李华
网站建设 2026/8/14 1:41:52

百万上下文多模态AI:技术原理、应用场景与托管服务实战指南

1. 从“上下文”到“多模态”:一次技术范式的跃迁最近和几个做AI应用开发的朋友聊天,大家不约而同地都在讨论一个词:“上下文窗口”。以前我们聊模型,焦点往往是“参数量多大”、“在某个榜单上排名第几”,但现在风向变…

作者头像 李华