一、Win10开启Linux子系统

具体流程可查看适用于 Linux 的 Windows 子系统安装指南 (Windows 10)

操作步骤

1.启用适用于 Linux 的 Windows 子系统

需要先启用“适用于 Linux 的 Windows 子系统”可选功能,然后才能在 Windows 上安装 Linux 分发。
以管理员身份打开 PowerShell 并运行:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

2.检查运行 WSL 2 的要求

对于 x64 系统:版本 1903 或更高版本,采用 内部版本 18362 或更高版本。
对于 ARM64 系统:版本 2004 或更高版本,采用 内部版本 19041 或更高版本。
低于 18362 的版本不支持 WSL 2。 使用 Windows Update 助手更新 Windows 版本。

3.启用虚拟机功能

安装 WSL 2 之前,必须启用“虚拟机平台”可选功能。 计算机需要虚拟化功能才能使用此功能。
以管理员身份打开 PowerShell 并运行:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

重新启动 计算机,以完成 WSL 安装并更新到 WSL 2。

4.下载 Linux 内核更新包

  1. 下载最新包:适用于 x64 计算机的 WSL2 Linux 内核更新包
  2. 运行上一步中下载的更新包。

5.将 WSL 2 设置为默认版本

打开 PowerShell,然后在安装新的 Linux 发行版时运行以下命令,将 WSL 2 设置为默认版本:

wsl --set-default-version 2

6.安装所选的 Linux 分发

打开 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

  1. 安装好LxRunOffline,并将其目录添加到环境变量Path中;
  2. 查看可使用子系统名称,在PowerShell中输入:
LxRunOffline.exe list
  1. 迁移子系统至目标目录:
LxRunOffline move -n <子系统名称> -d <迁移路径>
  1. 查询是否迁移成功:
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”,即可使用图形化界面。

此步所遇到的问题

一、远程桌面连接黑屏

可能原因:

  1. 关掉了Win10子系统终端界面;
  2. 长时无操作。

解决方法:

  1. 在使用图形界面时保持终端开启;
  2. 断连后重新启动xrdp服务,在子系统终端输入:
sudo service xrdp restart

四、子系统CUDA安装

官网给出的是docker方法,地址:https://developer.nvidia.com/blog/announcing-cuda-on-windows-subsystem-for-linux-2/,上面网页给出了详细步骤。
本文使用的是单独安装CUDA Toolkit。

操作步骤

1. 在Win10上安装支持WSL的显卡驱动

在Win10上安装支持WSL的显卡驱动,地址:https://developer.nvidia.com/cuda/wsl/download,不需要在子系统上装显卡驱动。

2. 切换镜像源

切换至清华源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

3. 安装CUDA

在英伟达官网寻找适合版本的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。

4. 配置环境变量

#打开.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后检查不到

可能原因:

  1. 未正确配置环境变量;
  2. CUDA Toolkit版本不对应。

解决方法:

  1. 按正确操作步骤配置环境变量;
  2. 到英伟达官网选择正确版本,子系统需要选择WSL-Ubuntu发行版本。
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐