马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
要在 Windows 上跑 Linux 工具链,过去要么装 VirtualBox/VMware,要么装 WSL。WSL 的优势是启动快、和 Windows 文件系统互通;WSL2 更进一步带上了完整虚拟机内核,连 Docker、CUDA 都能用。这篇从 BIOS 开虚拟化开始,一路到在 WSL 里装 CUDA、miniconda 和 PyTorch。
一、装 WSL
1. WSL1
- 设置 → 更新与安全 → 开发者选项,打开「开发人员模式」;
- 控制面板 → 程序和功能 → 启用或关闭 Windows 功能,勾选「适用于 Linux 的 Windows 子系统」;
- 重启;
- Microsoft Store 里搜 Ubuntu,建议装 22.04;
- 启动子系统,第一次会初始化并提示设用户名密码。
2. 升到 WSL2
- 先确认 BIOS 里开了虚拟化。以华硕 B550M + AMD CPU 为例:关机重启,出现品牌图标时按 F2 进 BIOS → Advanced → CPU Configuration → SVM Mode 设为 Enabled,保存重启;
- 再在「启用或关闭 Windows 功能」里勾选「虚拟机平台」;
- 重启;
- 下载「WSL Linux 内核更新包」(x64 版 msi),双击安装;
- PowerShell 里
wsl -l -v 看已装发行版,然后 wsl --set-version Ubuntu-22.04 2 升到 WSL2。随时可以换回 WSL1,把命令里的 2 改成 1 即可。
二、在 WSL 里配环境
1. CUDA Toolkit
这里有个专门的坑:要装 wsl-ubuntu 版本的 CUDA 仓库,而不是普通 ubuntu 的仓库(两者的本地安装包和内核接口不同)。以 12.0 为例:
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.0.1/local_installers/cuda-repo-wsl-ubuntu-12-0-local_12.0.1-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-12-0-local_12.0.1-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-12-0-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda
装完 nvcc -V 常常看不到版本,要在 ~/.bashrc 末尾补两行:
export PATH=/usr/local/cuda/bin PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64 LD_LIBRARY_PATH
vi 里按 i 进入插入模式粘贴,然后 esc 再 :wq 保存,最后 source ~/.bashrc,再跑 nvcc -V 就有输出了。
2. miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
source ~/.bashrc
conda --version
3. PyTorch
先用 conda 建一个环境再装,避免污染 base:
conda create -n torch python=3.10
conda activate torch
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
国内网络可以把 -c 后面的源换成清华镜像地址,注意 Linux 与 Windows 的包名有差异。
三、三个高频报错
- 启动 ubuntu 提示「未启用虚拟化」但 BIOS 明明开了:先用管理员身份开 PowerShell 跑
wsl --set-default-version 1 退回 WSL1 试试;
- 还是不行:装最新的 WSL2 内核更新包(wsl_update_x64.msi),装完重启再启动;
- PyTorch 能 import 但跑 GPU 很慢或报错:八成装成了 CPU 版本,检查
torch.version.cuda 是不是 None,重装时把 pytorch-cuda=xx带上并确认源里的版本匹配。
四、实用提示
- WSL 里访问 Windows 文件在
/mnt/c/ 下,Windows 访问 WSL 文件系统是 \\wsl$\Ubuntu-22.04;
- 默认装到 C 盘,空间紧张可以用
wsl --export / wsl --import 迁移到 D 盘;
- 关掉终端不会关掉 WSL2 虚拟机进程,占内存的话在 PowerShell 里
wsl --shutdown。
qidao123.com企服评测-应用市场 编辑提示 |