在搜索中打开启用或关闭windows功能
开启适用于linux的windows子系统 如果有问题的话虚拟机平台也开启
在powershell下执行下面命令效果相同。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
需要确保windows版本 大于win10 v2004 的内部版本 19041 或更高版本
可以通过在快捷键win+r
,输入winver
查看自己的windows版本
版本不达标可以通过以下升级工具升级
https://www.microsoft.com/zh-cn/software-download/windows10
升级成功并重启windows
登录微软商店账号,搜索terminal 并安装对应服务
这里先用管理员运行powershell
# 设置一下默认的版本 不然后面切换版本比较麻烦 切换异常得删除ubuntu18,再安装一次
wsl --set-default-version 2
如果c盘不够大,可以先执行安装,安装完成之后参考下方修改安装路径
安装完毕后在商店搜索安装Ubuntu 18.04 LTS
安装完成之后点击打开 ,系统会自动执行初始化
初始化完成之后 输入登录系统的用户名及密码
deepwise/XJM@151089
重新打开windows 的terminal之后 可以通过terminal的下拉框来登录ubuntu
可以通过sudo -i
切换到root用户
# 给deepwise用户 免密操作
sudo echo "deepwise ALL=(ALL:ALL) NOPASSWD: ALL" >>/etc/sudoers
更换阿里源
cp /etc/apt/sources.list /etc/apt/sources.list.bak
echo "deb http://mirrors.aliyun.com/ubuntu/ focal main restricted
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted
deb http://mirrors.aliyun.com/ubuntu/ focal universe
deb http://mirrors.aliyun.com/ubuntu/ focal-updates universe
deb http://mirrors.aliyun.com/ubuntu/ focal multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted
deb http://mirrors.aliyun.com/ubuntu/ focal-security universe
deb http://mirrors.aliyun.com/ubuntu/ focal-security multiverse">/etc/apt/sources.list
更新源
apt update
# apt upgrade -y
powershell切换wsl1到wsl2
# 查看当前版本
wsl -l -v
# 如果是2的话 不用切换了
wsl --set-version Ubuntu-18.04 2
确保WSL2的linux内核为4.19.121以上
# 查看内核版本
uname -a
提示"WSL 2 需要更新其内核组件”。下载并安装 WSL2 Llinx内核后再执行上面的命令,这个可能需要一会时间。
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
在win10系统下安装wsl显卡驱动
安装wsl的显卡驱动 以便在docker中可以获取到GPU 这里需要安装的win10的驱动,而非linux版本的驱动
https://developer.nvidia.com/cuda/wsl
如图 还没有安装nvidia驱动启动容器调用GPU会报错
sudo apt-get update
sudo apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
curl -s -L https://nvidia.github.io/libnvidia-container/experimental/$distribution/libnvidia-container.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-docker2
启动docker
sudo service docker stop
sudo service docker start
sudo nvidia-docker version
sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi
sudo docker run --runtime=nvidia --rm -it --name tensorflow-1.14.0 tensorflow/tensorflow:1.14.0-gpu-py3
# 进入容器之后执行 查看GPU是否可用
python
import tensorflow as tf
print(tf.test.is_gpu_available())
挂载磁盘
wmic diskdrive list brief
GET-CimInstance -query "SELECT * from Win32_DiskDrive"
wsl --mount
# D盘默认会挂载在/mnt/d
修改ubuntu安装路径
需要下载发行版https://docs.microsoft.com/zh-cn/windows/wsl/install-manual
我下载到的文件名为:Ubuntu_1804.2019.522.0_x64.appx
默认安装到C盘,随着Ubuntu的使用,后续有可能会占满C盘,为了方便使用,我们安装它到其它盘。
使用压缩软件打开Ubuntu_1804.2019.522.0_x64.appx(它本身就是一个压缩包),解压出里面的install.tar.gz文件备用。
导入Ubuntu
打开Windows Terminal,默认会进入命令行,输入:
#命令格式:wsl --import <发行版名字> <安装位置> <文件名> [选项]
# 导出 测试过程中导出,直接安装会有网络问题
# wsl --shutdown
# wsl --export Ubuntu-18.04 D:\ubuntu18_04.tar
wsl --import Ubuntu-18.04 D:\ubuntu18_04 D:\ubuntu18_04.tar
wsl -l -v
# 如果需要删除
# wsl --unregister Ubuntu-18.04
等待命令完成后,打开D:wsl2ubuntu目录,看到有一个 ext4.vhdx文件,刚开始安装完成时大约有1.2G左右(后续使用会变大),即为安装好的Ubuntu。
重新打开terminal就会显示刚刚安装的ubuntu18.04
如果报错,需要对部分包进行降级
docker: Error response from daemon: OCI runtime create failed: container_linux.go:367: starting container process caused: process_linux.go:495: container init caused: Running hook #1:: error running hook: exit status 1, stdout: , stderr: nvidia-container-cli: initialization error: driver error: failed to process request: unknown.
提示版本问题 可以尝试降级
sudo apt-get install nvidia-docker2:amd64=2.5.0-1 \
libnvidia-container-tools:amd64=1.3.3-1 \
nvidia-container-runtime:amd64=3.4.2-1 \
libnvidia-container1:amd64=1.3.3-1 \
nvidia-container-toolkit:amd64=1.4.2-1
参考
nvidia-docker2官方安装文档
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker
win11参考
https://zhuanlan.zhihu.com/p/434239083
其他
https://blog.csdn.net/m0_49648190/article/details/118978891
https://blog.csdn.net/qq_35818865/article/details/124083724
https://www.cnblogs.com/zongzc/p/15955848.html
挂载
https://docs.microsoft.com/en-us/windows/wsl/wsl2-mount-disk
修改ubuntu的安装路径
https://www.wzy2.com/93247.html