windows11使用wsl安装ubuntu20.04并安装1050ti驱动
windows11使用wsl安装ubuntu20.04并安装1050ti驱动
参考:
NVIDIA Container Toolkit(NVIDIA Docker)安装教程 - 知乎 (zhihu.com)
本教程环境:
windows11上使用wsl安装的ubunto20.04LTS 显卡 Goforce 1050ti
安装NVIDIA Container Toolkit(NVIDIA Docker)
平台要求
- 内核版本 > 3.10 的 GNU/Linux x86_64
- Docker >= 19.03(推荐,但某些发行版可能包含旧版本的 Docker。支持的最低版本为 1.12)
- GPU架构 >= Kepler(或计算能力 3.0)的 NVIDIA GPU
- NVIDIA Linux 驱动程序>= 520.56.06 (请注意,不支持较旧的驱动程序版本或分支。)
安装NVIDIA-DRIVE(Base apt)
1.添加 PPA 源:
1 | sudo add-apt-repository ppa:graphics-drivers/ppa |
2.为系统安装依赖项以构建内核模块:
1 | sudo apt-get install dkms build-essential |
3.打开终端,输入如下命令,显示当前设备支持驱动的版本:
1 | ubuntu-drivers devices |
1 | (base) xuehao@xuehao-Z370-HD3:~$ ubuntu-drivers devices |
4.安装指定版本驱动:
1 | sudo apt install nvidia-driver-525 |
5.重启设备:
1 | sudo reboot |
6.执行以下命令验证驱动是否安装成功:
1 | nvidia-smi |
打印以下信息则安装成功:
1 | (base) xuehao@xuehao-Z370-HD3:~$ nvidia-smi |
安装 NVIDIA 容器工具包(NVIDIA Container Toolkit)
1.设置包存储库和 GPG 密钥:
1 | distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \ |
2.更新包列表后安装nvidia-docker2包(和依赖项):
1 | sudo apt-get update |
3.设置默认运行时后重启 Docker 守护进程完成安装:
1 | sudo systemctl restart docker |
4.此时,可以通过运行基本 CUDA 容器来测试工作设置:
1 | sudo docker run --rm --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi |
这应该会产生如下所示的控制台输出:
1 | +-----------------------------------------------------------------------------+ |
wsl介绍
通过适用于 Linux的Windows子系统(WSL),可以直接在 Windows 上运行你最喜爱的Linux 工具、实用工具、应用程序和工作流。
跨OS文件访问
你可以跨操作系统处理所有文件!
从Linux访问Windows 文件
通过导航到/mnt,然后导航到你的Windows 驱动器号(例如在本示例中为C驱动器),可以从Linux中访问你的Wind’cd/mnt/c’使用文件资源管理器访问Linux文件
可以通过导航到\wsl.localhost\’或单击’Linux’图标来查看文件资源管理器中的Linux文件。
从WSL启动Windows 文件和程序
即使使用WSL时,也可以直接从bash运行Windows可执行文件。试运行’powershell.exe/c start.,在当前文件夹中打开文件资源管理器。
可以通过本机Windows交互操作(例alt-tab、开始菜单启动、任务栏固定以及剪切和粘贴支持)使用基于图形的Linux应用程序。
下面是可试的应用列表(可以通过键入’sudo apt install
gedit-基本文本编辑器
·audacity-录制和编辑音频文件
·blender-制作3D动画和可视化效果
gimp-编辑照片
nautilus -Linux文件资源管理器
·vlc-视频播放器
GPU加速
WSL可以利用Windows GPU进行机器学习工作流
在WSL中运行的Linux二进制文件可以自动使用 Windows中的GPU来加快性能。只需像在常规Linux计算机上那样安装和运行这些工作流。开始入门有很多种不同的方法,如果使用NVIDIA显卡,可以在docker容器中运行CUDA,还可以在AMD、Intel或 NVIDIA显卡上使用 DirectML运行 PyTorch或 TensorFlow。请参阅下面的入门指南了解详细信息。
网络集成
可以跨 Windows和Linux操作系统轻松访问网络应用。
从 Windows 访问Linux网络应用
如果要在Linux分发版中生成网络应用(例如在NodelS或SQL Server 上运行的应用),则可以(像通常那样)使用localhost 从Windows 应用 Edge 或 Chrome Internet 浏览器)访问它。这意味着,如果启动了侦听端口3000的Linux 服务器,则可以在Windows 上的Edge中转到http://localhost:3000来访问它。
镜像模式网络
WSL还包括一种称为镜像模式的新网络模式,该模式添加了IPv6支持等高级功能,并且能够访问局域网中的网络应用
发行版管理
WSL是试用不同Linux发行版的好方法。
列出可安装的WSL发行版命令
‘wsl.exe-I-o’
安装命名的WSL发行版命令
‘wsl.exe –install
列出可用的WSL发行版命令 ‘wsl.exe -I’
Docker Desktop集成
Docker Desktop非常适合与 WSL配合使用,可帮助你使用Linux容器进行开发。
将Docker Desktop与WSL配合使用的一些优点是:
·可以使用相同的Docker守护程序和映像在WSL或Windows 中运行Docker命令。
·可以使用 WSL中的Windows 驱动器自动装载功能在 Windows 和Linux之间无缝共享文件和文件夹。
·由于WSL的互操作性,你可以使用首选的Windows 工具和编辑器处理 Linux代码和文件,反之亦然。
VS Code集成
可以直接从VS Code使用WSL作为全时开发环境。
如何安装:
安装VS Code后,可以从Windows终端安装远程WSL扩展:
“code -install-extension ms-vscode-remote.remote-wsl”
在 Visual Studio Code 中打开 WSL 项目
若要在WSL发行版中使用VS Code打开项目,请打开该发行版的命令行并运行’code.以打开项目文件。
还可以通过 VS Code 自身的命令面板访问更多 VS Code 远程选项。在键盘上点击Shift+Ctrl+P”打开命令面板并键入
扩展wsl命令简单使用及wsl安装的ubuntu的备份与还原
参考:wsl2子系统的备份和还原 - CharyGao - 博客园 (cnblogs.com)
wsl2子系统的备份和还原
查看当前WSL版本
查看有哪些可以安装的系统
wsl --list --online
wsl -l
1 | PS C:\windows\system32> wsl -l |
wsl --version
1 | PS C:\windows\system32> wsl --version |
查看运行中的子系统
wsl -l --running
1 | PS C:\windows\system32> wsl -l --running |
运行与安装子系统
wsl --distribution Ubuntu-22.04
wsl --install Ubuntu-22.04
1 | PS C:\windows\system32> wsl --distribution Ubuntu-22.04 |
停止子系统
wsl --terminate Ubuntu-22.04 或 wsl --shutdown (停止当前子系统)
1 | PS C:\windows\system32> wsl --terminate Ubuntu-22.04 |
备份子系统(需要先停止才能备份)
wsl --export Ubuntu-22.04 D:\temp\Ubuntu-22.04.tar
1 | PS C:\windows\system32> wsl --export Ubuntu-22.04 D:\temp\Ubuntu-22.04.tar |
卸载子系统
wsl --unregister Ubuntu-22.04
还原子系统
wsl --import <Distro> <InstallLocation> <FileName> [Options]
wsl --import Ubuntu-22.04 C:\WSL D:\temp\Ubuntu-22.04.tar
Note: 当还原后的子系统变为root权限了
改为默认用户权限
- 查看当前用户
ls /home/ - 尝试切换至用户权限
su 用户名 - 切换至root权限
sudo su - 修改默认配置文件
- 备份
cp /etc/wsl.conf /etc/wsl.conf.bk - 修改
vim /etc/wsl.conf在最前面增加以下内容1
2[user]
default=用户名 - 重启wsl,在power shell中重启
1
2
3
4
5
6
7
8
9
10
11
12
13# 查看当前运行的wsl
wsl --list --running
# 停止特定的wsl
wsl -t Ubuntu-22.04
# 启动特定版本wsl
wsl -d Ubuntu-22.04
#或者
# 停止当前所有运行wsl
wsl --shutdowm
# 启动默认wsl
wsl
- 备份
wsl2迁移与恢复
此处记录一下wsl2的迁移,以及当在系统C盘重置系统如何恢复旧版wsl2
wsl2迁移
这个是建立在已经安装wsl2的基础之上
1.查看当前wsl下的Linux是否为关闭状态,当state为Stopped才能进行下一步。
1 | wsl -l -v |
若state为Running时,利用下面的命令结束
1 | wsl --shutdown |
2.以.tar的形式导出到其他盘
1 | wsl --export Ubuntu-20.04 e:\Ubuntu-20.04.tar |
【注】此处导出的==Ubuntu-20.04.tar==文件可以作为备份文件,下次恢复时直接执行第4步的导入系统就行
3.注销原有的linux系统
1 | wsl --unregister Ubuntu-20.04 |
4.导入系统
1 | wsl --import Ubuntu-20.04 E:\ubuntu2004 E:\Ubuntu-20.04.tar |
5.修改默认用户(因为不修改用户名,打开wsl ubuntu之后,默认以root身份登录。)
1 | ubuntu.exe config --default-user <--用户名--> |
用户名是原有wsl ubuntu的用户名称。
重装系统恢复旧版wsl2
此处是针对重置系统盘,同时旧版wsl2已经迁移到其他盘,如何恢复旧版wsl2
1.先重新安装一个新的wsl2,这个可以参照网上的wsl2安装教程,注意安装的Ubuntu的版本要和旧版的Ubuntu版本(即你想恢复的Ubuntu)一致
2.当安装wsl2成功后,此时wsl2默认安装在系统C盘,然后按照上面的==wsl2迁移==步骤把wsl2迁移到其他盘
3.迁移成功后,把新版的==ext4.vhdx==删除,拷贝成旧版的ext4.vhdx
4.启动wsl2,即可恢复旧版wsl2
【注】一定要把新版的==ext4.vhdx==删除,不能用旧版的去替换新版的==ext4.vhdx==(即如下图操作是不能恢复到旧版),否则替换成功后,当你启动wsl2会发现还是新版的Ubuntu。
Docker 是指容器化技术,用于支持创建和使用 Linux® 容器(LXC技术) 。
我们在 Window 上安装 Docker Desktop ,需要基于 Linux 环境。
在 Windows上,Docker Desktop 为我们提供通过了两个选项:WSL 与 Hyper-V 。
一、WSL2 以及 hyper-v区别,二者安装docker desktop
1.WSL2和hyper-v区别
简单来说:
- wsl是一个运行在我下面的解释linux命令的程序,可以直接操作win的资源,又集成了如putty类的集合,不过人家是自己做的。WSL 使用 Hyper-V 架构来实现其虚拟化。。
- WSL 官方文档(Windows Subsystem for Linux,适用于windows的linux子系统)则是Windows 操作系统的一项特性,可让您直接在 Windows 上运行 Linux 文件系统以及 Linux 命令行工具和 GUI 应用程序,以及传统的 Windows 桌面和应用程序。
- 运行WSL的开销比运行一个虚拟机低很多。WSL 2实际上用的是运行在Hyper-v上的linux内核,相较于虚拟机你不需要很多的性能开销。
- hyper-v是虚拟机程序,可以提供一个完整的计算机环模拟,与host需要通过网络访问 。Hyper-V 微软官方文档 :让你可以在 Windows 上以虚拟机形式运行多个操作系统,提供硬件虚拟化。
在大多数情况下:
如果你只使用 Docker : WSL
如果你需要Linux,其他的虚拟机或想访问Docker的高级选项卡来分配资源: Hyper-V。
2.安装Docker Desktop
参考:docker win10专业版下 WSL 2 或 hyper-v 安装Docker Desktop
二、docker desktop限额配置,资源配置方法
使用WSL2和hyper-v安装的docker,配置是有区别的。
1.使用WSL2运行docker:
这里会是选择状态:
它的配置方法如图所示,需要在用户目录(比如:C:\Users\lc)下建立一个新文件,叫做.wslconfig,
修改文件内容为:
1 | [wsl2] |
memory: 表示最大使用 2GB 内存
swap: 表示不设置 swap
localhostForwarding: 默认值为 true。如果 WSL 2 VM 中绑定到通配符或 localhost 的端口应该可以通过 localhost:port 从主机连接。
processors: 使用的核心数量,默认和你的 Windows 系统使用的核心数一样
重启wsl2:
1 | wsl --shutdown |
2.使用hyper-v运行docker:
首先不勾选Use the WSL 2 based engine,
然后进入Resources Advanced:
修改即可!
【Docker】Docker Desktop配置资源:cpu、内存等(windows环境下)_wsl 2 对比 hyper-v-CSDN博客











