具体流程可查看适用于 Linux 的 Windows 子系统安装指南 (Windows 10)
需要先启用“适用于 Linux 的 Windows 子系统”可选功能,然后才能在 Windows 上安装 Linux 分发。
以管理员身份打开 PowerShell 并运行:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
对于 x64 系统:版本 1903 或更高版本,采用 内部版本 18362 或更高版本。
对于 ARM64 系统:版本 2004 或更高版本,采用 内部版本 19041 或更高版本。
低于 18362 的版本不支持 WSL 2。 使用 Windows Update 助手更新 Windows 版本。
安装 WSL 2 之前,必须启用“虚拟机平台”可选功能。 计算机需要虚拟化功能才能使用此功能。
以管理员身份打开 PowerShell 并运行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
重新启动 计算机,以完成 WSL 安装并更新到 WSL 2。
打开 PowerShell,然后在安装新的 Linux 发行版时运行以下命令,将 WSL 2 设置为默认版本:
wsl --set-default-version 2
打开 Microsoft Store,并选择你偏好的 Linux 分发版。
一、出现错误 0x80070003 或错误 0x80370102
可能原因:
1.计算机BIOS未启用虚拟化;
2.VMware与WSL冲突。
解决方法:
1.BIOS启用虚拟化,具体流程可自行百度;
2.这是我遇到的问题,没有找到共存的办法,一次只能择一使用。
若要启用WSL,使用:
bcdedit /set hypervisorlaunchtype auto
若要启用VMware,使用:
bcdedit /set hypervisorlaunchtype off
本文使用的是LxRunOffline,通过修改注册表路径以实现迁移的,项目地址:https://github.com/DDoSolitary/LxRunOffline
LxRunOffline.exe list
LxRunOffline move -n <子系统名称> -d <迁移路径>
LxRunOffline get-dir -n <子系统名称>
若成功则显示迁移地址。也可在资源管理器中转至迁移地址,会有一个“ext4.vhdx”名字的文件。
一、在迁移之后再打开子系统可能会报“拒绝访问”
报错原因: WSL未开启
解决方法: 在PowerShell中输入
wsl -d <子系统名称>
以开启子系统。
本文使用了远程桌面连接以实现子系统的可视化界面,在子系统终端中输入:
sudo apt-get update
# 安装 xorg
sudo apt-get install xorg
# 安装xfce4
sudo apt-get install xfce4
# 安装xrdp
sudo apt-get install xrdp
# 配置xrdp
sudo sed -i 's/port=3389/port=3390/g' /etc/xrdp/xrdp.ini
# 上面是配置端口
# 向xsession中写入xfce4-session
sudo echo xfce4-session >~/.xsession
# 重启xrdp服务
sudo service xrdp restart
# 如果有防火墙,允许就好了。
然后在Win10系统中使用远程桌面连接,连接至“localhost:3390”,即可使用图形化界面。
一、远程桌面连接黑屏
可能原因:
解决方法:
sudo service xrdp restart
官网给出的是docker方法,地址:https://developer.nvidia.com/blog/announcing-cuda-on-windows-subsystem-for-linux-2/,上面网页给出了详细步骤。
本文使用的是单独安装CUDA Toolkit。
在Win10上安装支持WSL的显卡驱动,地址:https://developer.nvidia.com/cuda/wsl/download,不需要在子系统上装显卡驱动。
切换至清华源https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/,选择对应版本,并且取消掉注释,包括预发布软件源。
#备份源文件
sudo cp /etc/apt/sources.list /etc/apt/sources.bak1
#更换上面的清华镜像源,删除原有内容,粘贴清华源
sudo gedit /etc/apt/sources.list
#更新源
sudo apt-get update
#更新软件
sudo apt-get upgrade
在英伟达官网寻找适合版本的CUDA Toolkit,本文使用的是CUDA Toolkit 11.1。(注:安装子系统所需的CUDA Toolkit,要选择WSL-Ubuntu发行版本的安装程序)
按照官网所给定的安装说明进行安装,下面给出的是CUDA Toolkit 11.1 runfile的安装指令:
wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run
sudo sh cuda_11.1.0_455.23.05_linux.run
在安装选项中,取消选中Driver。
#打开.bashrc文件
sudo gedit ~/.bashrc
#将下列内容添加至文档末尾
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.1/lib64
export PATH=$PATH:/usr/local/cuda-11.1/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-11.1
#更新
source ~/.bashrc
#检查是否配置成功,若成功会显示CUDA版本
nvcc -V
一、找不到gcc && 缺少依赖项但将不会安装
可能原因: 软件源不支持该版本。
解决方法: 更换最新的对应版本的清华源,并且取消掉所有注释,包括预发布软件源。
二、安装完CUDA后检查不到
可能原因:
解决方法: