admin 管理员组文章数量: 887021
最近想体验下世界上最好的Linux发行版Win10(bushi),拿来深度学习炼丹,所以参考了在WSL2中使用CUDA提到的方法安装。
列举下遇到的问题:
1 Windows预览版本没响应
按理说在设置-更新和安全-Windows预览体验计划里面注册后,就能直接更新insider preview版本的操作系统,但是我试了几次都没用,所以直接去微软官网下载iso镜像https://www.microsoft/en-us/software-download/windowsinsiderpreviewiso,在下拉框选择版本,注意要安装cuda的话英伟达要求windows版本为 Build 20145或更高,所以选择dev channel。
这里吐槽一下微软的服务器,下载真滴慢,不到200k,而且下载链接有时限,好像是12小时,折腾了半天最后是用海外的VPS离线下载完转发回来的,Windows10_InsiderPreview_Client_x64_zh-cn_21286.iso。
下载完直接安装即可,有几率失败回滚,多试几次。。。
使用镜像安装之后设置-更新和安全-Windows预览体验计划就会变成正常的状态。
2 CUDA on WSL 驱动安装
CUDA on WSL 驱动下载地址
https://developer.nvidia/cuda/wsl
根据自己的GPU类型(GeForce and Quadro)选择对应的驱动。
我的台式机显卡是2070s,就下载GeForce驱动。
不需要在wsl下安装nvidia驱动,windows会自动为wsl安装nvidia驱动!
不需要在wsl下安装nvidia驱动,windows会自动为wsl安装nvidia驱动!
不需要在wsl下安装nvidia驱动,windows会自动为wsl安装nvidia驱动!
3 WSL2安装
WSL2的具体安装方法参看微软官方指南:适用于 Linux 的 Windows 子系统安装指南 (Windows 10),非常简单。
这里有个大坑,Ubuntu是强制安装在C盘的,如果想长期用wsl2的话,绝大多数人的C盘容量肯定不够用。
为了把wsl转移到E盘,我找到了LxRunOffline 这个工具,LxRunOffline 使用教程 - WSL 自定义安装、备份,里面提到可以直接将安装在C盘的wsl移动到任意位置。
但是在使用
lxrunoffline m -n <WSL名称> -d <路径>
命令后报错,LxRunOffline 迁移wsl失败 Indicates that the directory trying to be deleted is not empty.
谷歌查到LxRunOffline项目的Issue,https://github/DDoSolitary/LxRunOffline/issues/150,发现是win某个版本更新后出现了这个问题。
查了半天发现wsl本身就有备份还原的功能,Windows10 Linux子系统安装/迁移到非系统盘提到
wsl --terminate <DistritubtionName> # 先关闭相关的分发,以免后续造成不必要的问题
wsl --export <DistributionName> <FileName> # 导出Linux子系统
wsl --unregister Ubuntu-18.04 # 注销这个分发
wsl --import <DistributionName> <InstallLocation> <FileName> # 导入/还原之前的分发版本
重新导入后的Linux分发版不再以APP的形式出现于开始菜单中:
这样操作以后不能像原来一样在开始菜单点击图标启动此Linux分发,其他并未改变。可以通过wsl -s Ubuntu命令、Windows terminal程序等方式启动。或者将其设为默认分发版,通过wsl、bash启动。
另一方面,不能像原来那样在应用商店里更新。
不存在原来那样的Ubuntu804.exe这样的命令。
实际上我操作后发现重新导入的Linux分发版跟Windows商店下载的完全一样,没有任何变化(没试过能不能在商店更新) ,可以直接通过开始菜单点击图标启动。
当然这么修改之后启动Linux是默认用root账户的,可以通过以下步骤来改成普通用户:
查看用户 UID ,一般是 1000
。
id -u <用户名>
然后在PowerShell中使用LxRunOffine直接修改默认用户
lxrunoffline su -n <WSL名称> -v 1000
4 安装cuda
直接去英伟达官网下载想用的版本,这里建议选择run文件,简单方便。
如果安装cuda的时候报错,一般是缺少编译环境,用下面命令安装后重试。
sudo apt update
sudo apt install build-essential
cuda安装完之后,一定会显示Driver not selected,正常。
5 安装cuDNN
其实后面的就跟普通的Linux安装TensorFlow-GPU一样了。
下载cuDNN,https://developer.nvidia/cudnn
tar -zxvf cudnn-11.2-linux-x64-v8.1.0.77.tgz
sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda-11.0/lib64/
sudo cp cuda/include/cudnn.h /usr/local/cuda-11.0/include/
设置读写权限
sudo chmod a+r /usr/local/cuda-11.0/include/cudnn.h
sudo chmod a+r /usr/local/cuda-11.0/lib64/libcudnn*
要验证的话,去cuda安装目录下面编译一个sample即可。
cd /usr/local/cuda/samples/4_Finance/BlackScholes
sudo make
./BlackScholes
出现Test Passed
6 后续
再然后就是熟悉的套路了,要么安装anaconda,要么用docker,常规操作。
版权声明:本文标题:Windows10子系统WSL位置迁移问题 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1726718047h1017866.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论