我的 WSL 2 安装记录

工位上换了新电脑,于是需要给新电脑安装 Linux 子系统(WSL 2)用来跑代码。
这里简单记录一下我的安装过程。

  1. 安装 WSL 2

这里主要是按照微软官方的教程[1][2]来做。

先在 powershell 里启用 WSL 和虚拟机功能

1
2
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart  
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

然后安装适用于 x64 计算机的 WSL2 Linux 内核更新包,并在 powershell 里将 WSL 2 设置为默认。

1
wsl --set-default-version 2

WSL 2 的自定义安装位置参考的是CSDN上给的做法:我下载了Ubuntu 24.04 的 AppxBundle,从包里提取 Ubuntu_2404.0.5.0_x64.Appx ,然后在我想要的位置将它当成 zip 解压。最后运行一下 ubuntu2404.exe 即可。

  1. 安装CUDA

Nvidia 的安装教程 和它给的下载链接主要是针对 WSL-Ubuntu 的。

我用的网络下载,在shell里就应该是:

1
2
3
4
5
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-6
sudo apt-get -y install cuda

即使是这么安装完,还是会有非常幽默的 nvcc 找不到、 libcuda.so 找不到等问题。我就参照网上的做法[3][4]~/.bashrc 里补充了这么一段:

1
2
3
4
5
6
# >>> Nvidia CUDA initialize >>>
export CUDA_HOME=/usr/local/cuda
export PATH=${CUDA_HOME}/bin:${PATH}
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export LD_LIBRARY_PATH=/usr/lib/wsl/lib/:${LD_LIBRARY_PATH}
# <<< Nvidia CUDA initialize <<<

搞定。


  1. https://learn.microsoft.com/zh-cn/windows/wsl/install ↩︎

  2. https://learn.microsoft.com/zh-cn/windows/wsl/install-manual ↩︎

  3. https://stackoverflow.com/questions/68221962/nvcc-not-found-but-cuda-runs-fine ↩︎

  4. https://github.com/microsoft/WSL/issues/8587 ↩︎