wsl简介
在一台Windows电脑上使用Linux系统的方法,之前只知道两种方式,一种是在电脑上安装双系统,另一种是通过安装虚拟机(VMware或VirtualBox等)安装Linux系统。这两种方式对于主用Windows的开发人员来说,第一种需要切换系统比较麻烦,文件也不方便互传;第二种虽然方便一些,但涉及AI研发使用CUDA以及磁盘空间占用等方面时也不好用。后来了解到Windows有个叫wsl的功能可以也使用Linux。
什么是wsl?这里引用微软官方的原文:
对于Windows11,默认安装的是wsl2。“WSL 2 是默认发行版类型。 WSL 2 使用虚拟化技术在轻量级实用工具虚拟机 (VM) 中运行 Linux 内核。”也就是说,通过wsl2安装的Linux系统已经具有了Linux内核,基本可以具备使用Linux的所有需求。以下是三种Windows系统安装Linux系统的方案对比。
方法 | 启动速度 | 资源占用 | 系统隔离性 | 适用场景 |
---|---|---|---|---|
虚拟机 | 分钟级 | 高 | 完全隔离 | 完整GUI操作、内核级调试 |
WSL | 秒级 | 较低 | 子系统隔离 | 原生Linux工具链开发 |
双系统 | 分钟级 | 独占硬件 | 物理隔离 | 需要直接操作硬件的场景 |
wsl2安装
1.按下 Win + S
,在Windows搜索框输入搜索“Windows功能”,在打开的菜单中勾选【适用于Linux的Windows子系统】。启用后会提示重启电脑生效。
2.按下 Win + S
,在搜索框输入cmd,用管理员模式打开命令提示符。
输入如下命令:
wsl -l -v
此时应该会有下图提示,这种情况下就可以安装Linux发行了。
(如果不是以上提示而是提示需要更新安装之类的,直接按照提示键入ENTER安装即可,这种情况还需要重启一次)
3.安装Linux发行版,以Ubuntu为例。
同样在管理员模式下的命令提示符中输入如下命令进行安装(可能需要魔法哦)
wsl --install
4.设置用户名和密码
安装完成后,最近添加的文件中会有下列几项,点击运行Ubuntu,
在等待一会儿后会有输入用户名的提示如下,删除预设的用户名,改为我们自己的,然后输入两次密码。
到此便是安装成功了,可以正常使用该Linux系统。
更改wsl2安装的Linux目录
通过wsl2安装的Linux系统默认安装在C盘,这很不科学,C盘作为系统盘本来空间就不大。我们需要将其更改到D盘或者其他盘符上。
步骤:
同样在管理员模式下的命令提示符中。
- 关闭wsl:
wsl --shutdown
- 导出当前WSL系统备份:
wsl --export Ubuntu D:\ubuntu_backup.tar
此操作将原linux子系统导出为tar文件,保存到D盘,此时D盘下会有一个ubuntu_backup.tar文件。
- 注销原系统:
wsl --unregister Ubuntu
此操作会释放C盘空间,但会留有几百兆的系统文件。
- 重新导入到其他盘:
wsl --import Ubuntu D:\WSL-ubuntu\ D:\ubuntu_backup.tar
此操作最终将虚拟硬盘文件ext4.vhdx
迁移到D:\WSL-ubuntu\
目录。以后在Linux系统中生成的文件数据都会存储在ext4.vhdx
中,也就不影响C盘的容量了。
- 确认更改成功:
wsl -l -v
会看到如下信息,表明更改成功。
此时在开始菜单中可能没有Ubuntu图标了,不过可以通过点击wsl图标开启wsl,之后在wsl中开启Ubuntu。可能会出现警告信息如下,不影响正常使用,直接忽略掉就可以了。
安装CUDA
安装的子系统不能直接使用Windows中已安装的CUDA工具,NVIDIA官方提供了针对WSL的CUDA Toolkit(如cuda-repo-wsl-ubuntu
),可直接在WSL中安装并调用GPU资源。
具体安装步骤需要在打开的Linux窗口下运行以下命令:
- 更新系统包:
sudo apt update
sudo apt upgrade -y
- 安装CUDA:
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
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/3bf863cc.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/ /"
sudo apt install cuda
- 验证GPU可用性
nvidia-smi # 检查GPU状态
nvcc --version # 查看CUDA版本
如果这里显示未找到命令,需要下一步,配置环境变量
- 配置环境变量
编辑系统变量文件,输入以下命令
vim ~/.bashrc
在打开的文件中的文末追加添加下面两行
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
- 使配置生效
source ~/.bashrc
再次验证GPU可用性,出现以下提示就是安装CUDA成功了。
安装anaconda3(python环境)
做python开发怎么能少的了anaconda?秉持着“一条龙服务”的精神,anaconda的安装也顺便写了。在Linux窗口根目录下键入命令。
- 下载anaconda3
wget https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh
- 安装anaconda3
在下载的anaconda3当前目录输入以下命令。
bash Anaconda3-2024.10-1-Linux-x86_64.sh
- 阅读并接受许可协议,按
yes
。 - 选择安装路径,默认路径是
~/anaconda3
,建议直接默认路径敲ENTER
键 - 一路根据提示敲回车或者输入
yes
,最终安装完成
- 配置环境变量
如果安装最后步骤输入了yes,直接输入source ~/.bashrc
激活环境变量。就可以使用conda命令了。
否则需要配置环境变量。
vim ~/.bashrc
在文末追加添加anaconda3的安装路径,然后source ~/.bashrc
激活环境变量
export PATH="/home/你的用户名/anaconda3/bin:$PATH"
全部环境搭建完就可以在Windows上使用Linux快乐地做AI相关开发了。