乐于分享
好东西不私藏

WSL安装与配置指南

WSL安装与配置指南

由于科研工作的需要,我经常在windows和linux平台反复横跳,不是重启就是虚拟机。效率低得让人抓狂。

主要原因是在计算化学领域,尤其是分子动力学方向,长期被Linux生态主导。

传统解决方案要么需要双系统切换(中断工作流程),要么使用虚拟机(牺牲约30%性能)。

直到WSL2的出现,才彻底改变了这一局面。

今天这篇,给你完整攻略。手把手教你在Windows上装Linux,让科研计算不再折腾。

先点个关注吧!

一、WSL2:不是虚拟机,是Linux的完全体

先澄清一个误解。很多人以为WSL是虚拟机。错。

WSL(Windows Subsystem for Linux)是Windows的官方功能。让你在Windows里直接跑Linux程序,不用装虚拟机,更不用双系统切换。

WSL2是第二代,关键优点有三:

  1. GPU直接调用:你的NVIDIA显卡,WSL2直接能用。不用在Linux里再装驱动。
  2. 网络智能同步:Windows开了代理,WSL自动跟上。不用重复配置。
  3. 文件无缝互通:Windows文件在Linux里直接访问,反过来也一样。

最重要的是性能。我实测过:128万原子的Amber模拟,WSL2效率达到物理Linux机的98%。

几乎没损失。

为什么要写这个教程?

我计划写一些关于量化计算和分子动力学模拟的教程。

分子动力学模拟的设置、运行和结果分析极其繁琐,涉及大量的命令行操作,对于不熟悉脚本语言的人来讲,做这些事情非常痛苦。

我想到可以利用Claude code来帮助我们加速这一过程: 将其作为“翻译官”,将我们大白话的语言翻译为繁琐的命令行语言来进行分子动力学模拟的各个步骤,大大提高效率

二、安装准备:10分钟搞定

第一步:开启Windows功能(必须做)

按下Win键,搜索“启用或关闭Windows功能”。找到这两个,打勾:

  • 虚拟机平台(Virtual Machine Platform)
  • 适用于Linux的Windows子系统

点确定,等待系统应用更改。必须重启电脑。不重启后面全白搭。

第二步:安装Ubuntu

打开微软商店(按Win+S键搜“微软商店”)。搜索“Ubuntu”,选“Ubuntu 22.04 LTS”。

别选其他版本,新手容易踩坑。

点击获取,下载大概500MB。装完点打开。 另外一种打开方式是:按住shift键,在桌面空白处单击右键,选择“在此处打开Linux shell”,即可打开ubuntu的shell界面

第三步:设置WSL2(关键一步)

如果启动时提示WSL版本问题,别慌。按下Win+X,选“Windows终端(管理员)”。

输入:

wsl -l -v

看看你的Ubuntu是不是WSL2。如果不是,输入:

wsl --set-version Ubuntu-22.04 2

等它转换完成。再输入:

wsl --set-default-version 2

这样以后都默认用WSL2了。

三、Ubuntu初体验:用户名、密码、换源

第一次启动

打开Ubuntu,等1-2分钟初始化。然后它会问:

“Enter new UNIX username:”

输入你的用户名。建议用英文,简单好记。不用和Windows用户名一致。

接着设密码。输入时屏幕不显示,正常。输完回车,再确认一次。

搞定,进入Ubuntu命令行。

换国内源(必做,否则更新慢到哭)

Ubuntu默认用国外服务器。国内访问像蜗牛。换成阿里源,速度飞起。

打开Ubuntu终端,输入:

# 先备份,防止改错sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak# 会提示你输入密码,输入密码后回车# 编辑源文件sudo nano /etc/apt/sources.list

按Ctrl+A全选,Ctrl+K删除。清空后,粘贴下面内容:

# 阿里源,Ubuntu 22.04专用deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse

按Ctrl+O保存,回车确认。按Ctrl+X退出。

然后更新:

sudo apt update

等1-2分钟。如果想更新已有软件,再输入:

sudo apt upgrade -y

四、科研环境配置:让你的WSL更好用

基础工具安装

跑科研计算,这些工具少不了:

# 编译工具链sudo apt install build-essential cmake gfortran -y# Python环境sudo apt install python3 python3-pip python3-venv -y# 开发常用sudo apt install git curl wget vim nano -y

GPU支持(如果需要)

如果你有NVIDIA显卡,并且要跑CUDA程序:

先在Windows上装好最新NVIDIA驱动。然后WSL里:

# 添加CUDA仓库wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pinsudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/3bf863cc.pubsudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/ /"# 安装CUDAsudo apt updatesudo apt install cuda-toolkit-12-4 -y

装完重启WSL,GPU就能用了。

文件互访:Windows和Linux无缝切换

从Linux访问Windows文件

cd /mnt/c   # 进入C盘cd /mnt/d   # 进入D盘

你的Windows文件全在这里,直接操作。

从Windows访问Linux文件

在Ubuntu终端里输入:

explorer.exe .

注意有个空格和点。会自动打开Windows文件管理器,定位到当前Linux目录。

或者手动打开文件管理器,地址栏输入\\wsl$,回车。能看到所有WSL发行版,双击进入。

五、日常使用小技巧

启动和关闭

在Windows终端里(不是Ubuntu终端):

wsl   # 启动WSL,进默认发行版wsl -d Ubuntu-22.04   # 启动指定发行版wsl --shutdown   # 关闭所有WSL,释放内存wsl --terminate Ubuntu-22.04   # 关闭指定发行版

平时不用就关掉,省内存。

查看状态

wsl -l -v   # 看看装了哪些发行版,什么版本

中文乱码修复

如果Ubuntu里中文显示问号:

sudo apt install language-pack-zh-hans -yexport LANG=zh_CN.UTF-8

临时解决。想永久生效,把第二行加到~/.bashrc文件末尾。

六、我踩过的坑,你别再踩

坑1:0x800701bc错误

启动时提示这个错误,缺内核组件。

去微软官网下载WSL2内核更新包。地址:https://aka.ms/wsl2kernel

下载wsl_update_x64.msi,双击安装。装完重启电脑。

坑2:Permission denied

访问Windows磁盘时提示权限不足。

在Ubuntu终端里:

sudo chmod 777 /mnt/c

临时解决。或者用管理员身份运行Windows终端。

坑3:网络连不上

WSL里无法访问网络。

先检查Windows防火墙。如果Windows开了代理,WSL应该自动同步。

没同步的话,在~/.bashrc里加上:

export HTTP_PROXY=http://127.0.0.1:7890export HTTPS_PROXY=http://127.0.0.1:7890

替换成你的代理地址。

坑4:中文乱码

按第五节的方案解决。如果还不行:

sudo apt install fonts-noto-cjk -ysudo dpkg-reconfigure locales

选zh_CN.UTF-8,重启WSL。

七、性能实测:到底有多快?

我跑过对比测试。同样的128万原子LAMMPS模拟:

  • 物理Linux服务器:100%基准
  • WSL2:98%效率
  • 虚拟机:70-75%效率

WSL2几乎没损失。虚拟机损失近30%。

内存占用:闲置时WSL2吃300-500MB。跑大任务时,可以调整内存限制。

创建文件.wslconfig在Windows用户目录:

[wsl2]memory=8GB   # 限制最大8GB内存processors=4   # 限制用4个CPU核心

根据你的电脑配置调整。

八、我的使用心得

用WSL2一年,几个体会:

  1. 别再把WSL当虚拟机。它是Windows的延伸,不是独立系统。
  2. 数据放Linux文件系统里。I/O性能更好。Windows文件系统访问有开销。
  3. 常用命令做alias。比如alias ws='wsl',省时间。

九、下一步做什么?

装好WSL2只是开始。真正强大的是上面的科研工具。

如果你搞分子动力学:

  • 装Amber或GROMACS
  • 配置MPI并行计算
  • 学点bash脚本自动化流程

如果你搞机器学习:

  • 配PyTorch/TensorFlow
  • 搞个Jupyter Lab
  • 试试CUDA加速

WSL2给了你Linux的全功能。怎么用,看你的研究方向。

十、最后几句话

科研已经很苦了,别再被工具折磨。

WSL2让我从双系统切换的泥潭里爬出来。现在Windows写论文,Linux跑模拟,无缝切换。

一天省下30分钟重启时间。一年就是180小时。

180小时能跑多少模拟?能写多少论文?能陪家人多少时间?

工具的价值,不是功能多强大,是让你更专注科研本身。

试试WSL2。它可能不会让你发Nature,但能让你少掉头发。


附:速查命令表

# Windows端wsl -l -v          # 查看发行版wsl --shutdown     # 关闭所有wsl --set-default-version 2  # 设置默认WSL2# Linux端sudo apt update    # 更新软件列表sudo apt upgrade -y # 升级软件df -h              # 看磁盘空间top                # 看资源占用

有问题评论区聊。我知道的坑,都帮你填平了。