通过WSL2在Windows11上安装Linux子系统到非系统盘,并安装CUDA

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盘或者其他盘符上。

步骤

同样在管理员模式下的命令提示符中。

  1. 关闭wsl
wsl --shutdown
  1. 导出当前WSL系统备份
wsl --export Ubuntu D:\ubuntu_backup.tar 

此操作将原linux子系统导出为tar文件,保存到D盘,此时D盘下会有一个ubuntu_backup.tar文件。

  1. 注销原系统
wsl --unregister Ubuntu 

此操作会释放C盘空间,但会留有几百兆的系统文件。

  1. 重新导入到其他盘
wsl --import Ubuntu D:\WSL-ubuntu\ D:\ubuntu_backup.tar

此操作最终将虚拟硬盘文件ext4.vhdx迁移到D:\WSL-ubuntu\目录。以后在Linux系统中生成的文件数据都会存储在ext4.vhdx中,也就不影响C盘的容量了。

  1. 确认更改成功
wsl -l -v

会看到如下信息,表明更改成功。

此时在开始菜单中可能没有Ubuntu图标了,不过可以通过点击wsl图标开启wsl,之后在wsl中开启Ubuntu。可能会出现警告信息如下,不影响正常使用,直接忽略掉就可以了。

安装CUDA

安装的子系统不能直接使用Windows中已安装的CUDA工具,NVIDIA官方提供了针对WSL的CUDA Toolkit(如cuda-repo-wsl-ubuntu),可直接在WSL中安装并调用GPU资源。

具体安装步骤需要在打开的Linux窗口下运行以下命令:

  1. 更新系统包
sudo apt update
sudo apt upgrade -y
  1. 安装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
  1. 验证GPU可用性
nvidia-smi  # 检查GPU状态
nvcc --version  # 查看CUDA版本

如果这里显示未找到命令,需要下一步,配置环境变量

  1. 配置环境变量

编辑系统变量文件,输入以下命令

vim ~/.bashrc

在打开的文件中的文末追加添加下面两行

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

  1. 使配置生效
source ~/.bashrc

再次验证GPU可用性,出现以下提示就是安装CUDA成功了。

安装anaconda3(python环境)

做python开发怎么能少的了anaconda?秉持着“一条龙服务”的精神,anaconda的安装也顺便写了。在Linux窗口根目录下键入命令。

  1. 下载anaconda3
wget https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh
  1. 安装anaconda3

在下载的anaconda3当前目录输入以下命令。

bash Anaconda3-2024.10-1-Linux-x86_64.sh
  1. 阅读并接受许可协议,按yes
  2. 选择安装路径,默认路径是~/anaconda3,建议直接默认路径敲ENTER
  3. 一路根据提示敲回车或者输入yes,最终安装完成

  1. 配置环境变量

如果安装最后步骤输入了yes,直接输入source ~/.bashrc激活环境变量。就可以使用conda命令了。

否则需要配置环境变量。

vim ~/.bashrc

在文末追加添加anaconda3的安装路径,然后source ~/.bashrc激活环境变量

export PATH="/home/你的用户名/anaconda3/bin:$PATH"

全部环境搭建完就可以在Windows上使用Linux快乐地做AI相关开发了。


### WSL 迁移至 D 盘的操作方法 #### 关闭当前正在运行的 WSL 实例 为了安全地执行迁移操作,需要先停止所有正在使用的 WSL 发行版实例。这可以通过输入以下命令来完成: ```bash wsl --shutdown ``` 此命令将会终止所有的 WSL 背景进程[^1]。 #### 导出现有的 Linux 发行版 接着,在目标磁盘(本案例中的 D 盘)建立一个新的目录用于存放导出的数据。假设创建名为 `WSL` 的文件夹,则路径应为 `D:\WSL`。进入该位置使用下面的 PowerShell 或 CMD 命令将现有发行版导出成 tar 文件: ```powershell wsl --export Ubuntu-20.04 "D:\WSL\ubuntu.tar" ``` 这里的 `Ubuntu-20.04` 是指要被导出的具体版本名;如果不确定具体名称可以省略参数仅保留双引号内的部分让系统自动识别默认发行版[^3]。 #### 卸载旧的 WSL 配置 一旦成功导出了备份文件之后就可以卸载原来的配置了。通过 Windows 设置 -> 应用 -> 已安装的应用列表找到对应的 Linux 发行版条目点击它选择“高级选项”,再按下“重置”。或者也可以直接利用命令行工具快速实现这一过程: ```powershell wsl --unregister Ubuntu-20.04 ``` 这条指令会彻底清除指定发行版及其关联的所有数据,因此务必确认已经完成了前面提到过的导出工作后再继续此步骤[^4]。 #### 重新导入已保存的镜像到新位置 最后一步就是把之前制作好的 `.tar` 归档恢复回新的环境当中去。同样是在命令提示符里边键入如下语句即可完成整个迁移流程: ```powershell wsl --import Ubuntu-20.04 "D:\WSL" "D:\WSL\ubuntu.tar" ``` 上述命令里的第一个参数是要赋予的新发行版标签,第二个是指定其根目录的位置,第三个则是实际存储着打包好系统的压缩包所在之处。 至此就实现了完整的从 C 到 D 的转移动作,且保持原有设置不变。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI学渣磊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值