找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

4359

积分

0

好友

565

主题
发表于 1 小时前 | 查看: 5| 回复: 0

一、介绍

现在主流的操作系统主要有三大类:Windows、Linux 和 macOS。不过 macOS 相对封闭,更多集中在消费和开发场景,商用服务端几乎见不到。所以服务器应用里,实际打交道最多的还是 Windows 和 Linux。

其中 Linux 在服务器领域占据绝对主导地位,而 Windows 则在个人桌面端,尤其是国内桌面市场,份额遥遥领先。这样一来,系统互通、开发部署时,就绕不开 Windows 与 Linux 之间的交互需求,这是非常实际的使用场景。

二、Windows 和 Linux 交互

传统上,Windows 和 Linux 交互最常用的方式,要么是虚拟机互相通信,要么是远程桌面。如果不需要 UI,还可以通过 SSH 远程登录,这对在 Windows 上操作纯服务器版 Linux 很有价值。

但这些方式多多少少都会有系统、版本或驱动兼容性问题,很多场景下用起来并不顺手,仍然“你是你,我是我”。想要流畅自然的通信,既考验技术也看运气。

特别是对 Windows 用户来说,很多人本身就不熟悉 Linux 的安装、操作和管理。那能不能把 Linux 天然集成到 Windows 系统里?前面说过,有需求就有人解决,微软和 Windows 使用者其实一直在做各种尝试。

三、分析和发展

Windows 系统想“一统天下”的野心从来没消失,只是不断被现实打击,现在收敛了很多。不知道大家有没有在 Visual Studio 里用 J++ 开发 Java 的经历?现在 Visual Studio 已经可以原生支持 Linux 开发和远程调试,从这一点也能看出:开发工具可以兼容,系统同样可以兼容。

微软早期推出过 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 年宣布开源,相关代码可以在 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 也有一些基础要求:必须是 64 位版本的 Win10,版本号不低于 Build 19041。

    安装:使用管理员权限打开 PowerShell,输入 wsl --install。这条命令会启用 WSL 功能,并安装 WSL2 相关的虚拟机平台以及默认的 Ubuntu 发行版。

    使用:它其实有点类似 conda,可以用下面这些命令:

    • wsl --list --verbose:查看版本
    • wsl:启动默认发行版
    • wsl -d:启动指定发行版

    扩展:可以在 VS Code 中安装 WSL 扩展直接操作;Win10 2004 以上版本可以直接用 WSL2 运行 Linux 图形化桌面应用。但一般建议把相关 Linux 文件存放在 Linux 系统中以提高性能。

    它可以用常规的 Linux 命令处理,比如先安装 nginx 或 Apache:

    # 在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 已经相当不错,但距离真正普及,估计还需要一段时间打磨。不过微软这个方向肯定是正确的,能不能坚持走下去,就要看微软的定力和应用的普及情况了。

对 Windows 与 Linux 融合玩法感兴趣的读者,也可以到 云栈社区 继续交流。




上一篇:iPhone 18 标准版升级爆料:A20 芯片 12GB 内存与缩小版灵动岛下放
下一篇:DeepSeek V4 Pro 发布:模型、协议与 DSH 运行时,Agent 三层架构解析
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-8-14 04:05 , Processed in 0.825609 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表