如何在Linux上运行Windows软件?

发表时间: 2024-08-06 08:54

Windows作为最常用的系统可能是最多人日常使用的,但很多开发工具,特别是最近大火的AI工具其实最适应的还是Linux生态,使用Windows,总会有各种奇奇怪怪、莫名其妙的问题。那想不想在Windows系统里直接运行Linux命令?或者在Linux环境中使用Windows软件?Windows和Linux,两个看似水火不容的操作系统,如今却能在同一台电脑上和谐共处,这听起来有点不可思议,但微软的WSL(Windows Subsystem for Linux)却让这一切成为了现实。

WSL是什么?

WSL全称Windows Subsystem for Linux,简单说就是运行在Windows上的Linux子系统。它让你能在Windows里直接使用Linux,实现了Windows和Linux的"二合一"。

WSL有两个版本:WSL1和WSL2。WSL1本质上是个翻译层,把Linux系统指令翻译成Windows内核能理解的指令。而WSL2则是基于Hyper-V虚拟化平台,运行真正的Linux内核,兼容性和性能都更好。

WSL2怎么工作的?

开启WSL2后,你的Windows其实变成了运行在Hyper-V上的一个大号虚拟机,而WSL2则是Hyper-V上运行的另一个虚拟机。两个虚拟机之间可以通信、共享文件。WSL2还支持Docker、GPU直通等高级功能。

怎么用WSL2?

使用WSL2有两个前提:

  1. 开启CPU虚拟化(大多数电脑默认开启)
  2. 开启"适用于Linux的Windows子系统"和"虚拟机平台"这两个Windows功能

然后就可以用命令安装WSL了:

wsl --install

这会默认安装Ubuntu。想装其他Linux发行版,可以用:

wsl --list --onlinewsl --install -d <发行版名称>

WSL2最新的黑科技?

  1. Windows和Linux文件互通
    Windows的C盘会自动挂载到Linux里,你也可以在Windows资源管理器里直接访问Linux文件。
  2. 命令混用
    在Windows命令行里可以直接用Linux命令,比如:
dir | wsl grep .txt
  1. 图形界面
    WSL2支持运行Linux图形程序,比如GIMP。
  2. GPU直通
    WSL2可以直接使用Windows上的GPU,对AI开发很有用。
  3. 远程桌面
    一些发行版如Kali Linux还支持远程桌面连接。

WSL2配置小技巧

WSL2有两种配置文件:.wslconfig(全局配置)和wsl.conf(单系统配置)。

比如要开启systemd支持,可以在wsl.conf里加:

[boot]systemd=true

要改网络模式,可以在.wslconfig里加:

[wsl2]networkingMode=mirrored

记得修改后要用wsl --shutdown重启WSL。

目前WSL对docker也提供了支持,基本是无缝衔接了。

总的来说,WSL2是个很强大的工具,让Windows用户也能轻松体验Linux的魅力。无论你是开发者还是普通用户,都可以试试看,说不定会有意想不到的收获!