理论篇
实战篇
近两年由于AI的快速发展,各大社区关于AI的开源项目如雨后春笋般涌现,而AI项目的运行又必不可少的使用到硬件-显卡!显卡在AI发展中有重要作用。它为深度学习算法中的矩阵运算提供强大的并行计算能力,大大缩短模型训练时间,并且在AI应用中的推理阶段也能快速处理数据,如在图像识别、语音识别等应用场景下,显卡能保证系统快速准确地给出结果。这也是我深度使用WSL的原因,我没有现成的服务器或显卡,只有6G显存的笔记本独立显卡3060,所以想要跑AI项目只有使用虚拟机来实现,但是传统的VMWare或VirtualBox对显卡的支持不是有限就是需要非常复杂的配置与操作,直接把我给劝退了。翻查资料得知 WSL可以直接使用宿主机的显卡,可以说是无缝连接,安装对应的驱动即可,于是我果断入坑,无法自拨。好了,开启我们的实战吧!
检查系统版本
在开始安装 WSL 之前,首先要确保你的 Windows 系统满足条件。WSL 支持 Windows 10 版本 16215 及更高版本,以及 Windows 11。你可以通过以下步骤检查系统版本:
命令操作:
按下 Win + R 键,打开运行对话框。
输入 “winver” 并回车,弹出的窗口会显示你的 Windows 版本信息。
图形操作:
快捷键:Win + PB(Pause Break) 弹出系统信息,其中系统规格内容
按下 Win + S 键,打开搜索对话框。
启用 WSL 功能
命令操作:
以管理员身份打开 PowerShell。你可以在开始菜单中搜索 “PowerShell”,然后右键选择 “以管理员身份运行”。
在 PowerShell 中输入以下命令并回车,以启用适用于 Linux 的 Windows 子系统功能:
wsl --install
这个命令会自动下载并安装最新版本的 WSL 以及默认的 Ubuntu 发行版。如果你的网络环境不太稳定,可能会导致下载失败,这种情况下可以尝试手动下载安装包进行安装,步骤如下:
打开 Microsoft Store,搜索你想要安装的 Linux 发行版,如 Ubuntu、Debian 等。这里以 Ubuntu 为例。
点击进入 Ubuntu 页面,然后点击 “获取” 按钮进行下载和安装。安装完成后,在开始菜单中找到并打开 Ubuntu 应用。
图形操作:
快捷键 Win + s 打开搜索框,搜索 Windows功能,点击 启用或关闭 Windows 功能 选项
安装完成后可能需要重启
首次启动与配置
当你在 powershell 命令窗口输入
wsl
首次启动安装好的 Linux 发行版时,会弹出一个命令行窗口,它会提示你创建一个新的用户和密码。按照提示输入用户名和密码,这个用户将拥有在 Linux 环境中的所有权限。
设置完成后,系统会自动进行一些初始化配置,这个过程可能需要一些时间,请耐心等待。配置完成后,你就会看到熟悉的 Linux 命令行提示符,例如 “yourusername@yourhostname:~$”,这表明你已经成功进入了 Linux 环境。
更新系统与软件
在使用 WSL 中的 Linux 系统之前,建议先更新系统软件包。在 Linux 命令行中输入以下命令:
sudo apt update
sudo apt upgrade
sudo命令用于以管理员权限执行后续命令,apt update命令用于更新软件包列表,apt upgrade命令用于安装软件包的最新版本。
WSL 文件系统操作
访问 Windows 文件系统:在 WSL 中,Windows 的磁盘分区会挂载到 “/mnt” 目录下。例如,如果你想访问 C 盘,可以输入 “cd /mnt/c”,然后就可以像在 Linux 系统中操作本地文件一样操作 C 盘的文件了。你可以在 WSL 中使用 Linux 命令对 Windows 文件进行复制、移动、删除等操作,也可以在 Windows 资源管理器中访问 WSL 中的文件。在 Windows 资源管理器的地址栏中输入 “\wsl$”,回车后就可以看到你安装的所有 Linux 发行版,点击进入可以访问其中的文件。
在 WSL 与 Windows 之间共享文件:假设你在 Windows 的 “C:\Users\YourUsername\Documents” 目录下有一个文件 “example.txt”,你想在 WSL 中使用它。首先进入到对应的目录,即 “cd /mnt/c/Users/YourUsername/Documents”,然后就可以对 “example.txt” 进行操作了。反之,如果你在 WSL 的家目录下创建了一个文件 “test.sh”,想在 Windows 中使用它,可以通过 “\wsl$\ 发行版名称 \home\yourusername” 路径在 Windows 资源管理器中找到该文件。
WSL 的高级设置与管理
设置默认 WSL 版本:如果你同时安装了 WSL1 和 WSL2,并且想设置某个版本为默认安装版本,可以在 PowerShell 中使用以下命令:
wsl --set-default-version 2
这里的 “2” 表示 WSL2,如果你想设置为 WSL1,则将 “2” 改为 “1”。
2. 管理 WSL 实例:你可以使用以下命令管理 WSL 实例。例如,列出所有已安装的 WSL 发行版:
wsl --list --verbose
停止某个 WSL 发行版,假设发行版名称为 “Ubuntu”:
wsl --terminate Ubuntu
将某个 WSL 发行版从 WSL1 转换为 WSL2,假设发行版名称为 “Debian”:
wsl --set-version Debian 2
运行特定的Linux发行版:
wsl --distribution <DistributionName>
以特定用户身份运行:
wsl --user <Username>
关闭所有WSL发行版:
wsl --shutdown
关闭指定的WSL发行版:
wsl --terminate <DistributionName>
导出发行版:
wsl --export <DistributionName> <FileName>
导入发行版:
wsl --import <DistributionName> <InstallLocation> <FileName>
查看WSL状态:
wsl --status
查看WSL版本:
wsl --version
获取帮助信息:
wsl --help
显卡使用
前面已经说了,我深度使用wsl的原因主要还是因为它可以无缝使用宿主机的显卡,下面把操作步骤大概记录下:
查看宿主机是否已安装显卡驱动,在宿主机powershell或cmd窗口中输入
nvidia-smi
命令,如果出现类似下图说明是已安装如果没有则需要先去显卡官网下载驱动安装了,选择你的电脑型号查找下载即可
在wsl系统也输入同样的指令查看是否安装(这里我用的是另外一台没有安装过的电脑截图,因为我的已经安装过了~):
没有安装就会出现类似上面的图,这时就要选择对应的驱动版本进行安装了,主要看宿主机的是什么版本( Driver Version ),然后安装相近的,注意不要跨大版本,以免出现不兼容的情况,我的是566.36,于是我安装的是 565.57.01 版本
apt install nvidia-utils-565-server
, 安装成功后再输入:
然后输入 nvcc --version,显示出版本信息说明驱动工具包也安装完成了,可以进入开发了
下面是我运行 spark-tts 时宿主机GPU的运行情况:
通过以上这些实践步骤,你已经可以在 Windows 系统上熟练地安装、配置和使用 WSL 了。无论是进行开发工作还是学习 Linux 知识,WSL 都能为你提供一个强大且便捷的环境。在实际使用过程中,你可能还会遇到各种各样的问题,不妨多查阅官方文档和相关技术论坛,相信你会在 WSL 的世界中不断探索并收获更多的乐趣。