深度学习环境配置系列文章(四):WSL2配置Windows11和Linux双系统

news2024/12/1 0:41:11

深度学习环境配置系列文章目录

第一章 专业名称和配置方案介绍
第二章 Anaconda配置Python和PyTorch
第三章 配置VS Code和Jupyter的Python环境
第四章 WSL2配置Windows11和Linux双系统
第五章 配置Docker深度学习开发环境


第四章文章目录

  • 深度学习环境配置系列文章目录
  • 前言
  • 一、Windows11配置WSL2的详细步骤
    • 1.用控制面板打开虚拟化功能
    • 2.用命令行配置环境
    • 3.下载Linux子操作系统
  • 二、Windows11配置WSL2的常见错误
    • 1.解决Hyper-V没有的问题
    • 2.解决WSL启动Linux时出现有关“??????”的bug
    • 3.WSL子系统初始化报错
  • 三,VS Code远程连接WSL2
    • 1.下载插件“Remote Development”
    • 2.远程连接WSL


前言

WSL2(Windows Subsystem for Linux 2)是微软开发的技术,让用户能在Windows系统上运行Linux环境。它使用虚拟化技术,提供更好的性能和兼容性。WSL2支持常见的Linux发行版,可以直接运行原生的Linux应用程序。同时,它与Windows系统集成,并支持与Windows的互操作性。这使得开发人员和系统管理员能够在Windows上享受Linux工具和开发环境的便利。


一、Windows11配置WSL2的详细步骤

1.用控制面板打开虚拟化功能

图2-20所示

如图2-20所示,首先在系统中搜索“控制面板”,选择“程序”,再选择“启用或关闭Windows 功能”。
然后开启Windows虚拟化、Linux子系统(WSL2)、Hyper-V。

图2-20 Windows11配置WSL2的详细步骤

注意,有些Windows11系统(尤其是家庭版)没有功能Hyper-V,解决办法参考下一小节。解决完成后再继续进行下面的操作。

2.用命令行配置环境

用管理员身份打开PowerShell,分别输入以下的指令。

1.bcdedit /set hypervisorlaunchtype Auto    
2.Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All    
3.Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform #需要重启系统,请注意输入“y”并按“回车”建以重启    
4.Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

如果以上内容不能顺利运行,可以执行以下的指令。

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

3.下载Linux子操作系统

打开Microsoft Store,可以找到多种不同的Linux操作系统,例如Debian、Ubuntu、Kali等。只需在搜索框输入所需要的操作系统名,选择下载即可。如图2-21所示,这里笔者选择使用Ubuntu。
图2-21 微软商店

下载完成后,在开始菜单中打开Ubuntu。在弹出的终端中可以进行初始化,进行注册用户名、密码等。如果你一路操作下来都很顺利,本次安装到此就结束了。
如果你出现了报错,希望在下一节中,笔者提供的解决方案可以帮助到你。

二、Windows11配置WSL2的常见错误

1.解决Hyper-V没有的问题

如果在控制面板开启虚拟化功能这一步里没有Hyper-V,那么可以通过如下方法解决。

1)首先在电脑中新建一个.txt文件,把以下内容贴进去。

1.pushd "%~dp0"    
2.dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt    
3.for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"    
4.del hyper-v.txt    
5.Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL    

2)然后保存,并将文件后缀名改为“.cmd”,随后双击运行它。如果改名以后发现还是“txt”文件,说明只是改了个名字而已,文件格式并没有更改成功。解决方法如图2-22所示。
图2-22 显示文件扩展名

确认后,再重新将“txt”文件名后缀改为“cmd”,双击运行即可。

3)运行完毕,重新在管理员权限下的PowerShell中运行刚刚的Microsoft-Hyper-V指令即可。

1.Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All      

2.解决WSL启动Linux时出现有关“???”的bug

报错结果如图2-23所示。
图2-23 “??????”的bug
解决方法,下载软件Windows Subsystem for Linux Update setup官方版,将WSL1升级到WSL2即可解决问题。
下载完毕后,以默认配置安装一遍程序,问题即可解决。

3.WSL子系统初始化报错

如图2-24所示,启动WSL系统时报错“参考的对象类型不支持尝试的操作”。
图2-24 参考的对象类型不支持尝试的操作
解决方案是使用注册表方式。复制以下代码,新建文件“test.reg”(文件名可任意取,需以.reg结尾),双击执行。

1.Windows Registry Editor Version 5.00    
2.[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\AppId_Catalog\0408F7A3]    
3."AppFullPath"="C:\\Windows\\System32\\wsl.exe"    
4."PermittedLspCategories"=dword:80000000    

三,VS Code远程连接WSL2

1.下载插件“Remote Development”

使用VS Code远程连接WSL2需要下载特定的插件“Remote Development”如图2-25所示。
图2-25 安装插件Remote Development

插件安装完成后,按照图2-26所示进行远程连接本地的WSL,第一次进入远程模式,会慢一些,需要下载一些组件,耐心等待下载就好。

2.远程连接WSL

图2-26 VS Code远程连接本地的WSL

注意,如果你打开这个远程界面,如果没有发现WSL项,点击左下角,然后选择第一项即可,如图2-27。
图2-27 VS Code远程连接本地的WSL

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/523045.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

横截面收益率(二) 阿尔法策略是如何构建的

资本资产定价模型自从首次被提出以来在金融经济学中一直处于中心地位。 在一系列简化假定条件下,资本资产定价模型表明,任何证券的收益率与该证券 的系统性风险(或者贝塔值)呈线性关系。因此,依据资本资产定价模型横截…

【STM32】基础知识 第十三课 中断

【STM32】基础知识 第十三课 中断 概述中断是什么中断的作用 & 意义STM32 中断体系NVIC中断向量表STM32 中断优先级基本概念 STM32 外部中断器 (EXTI)EXTI 简介EXTI 配置 AFIOAFIO 与中断 案例 概述 今天小白我将带领大家详细介绍 STM32 单片机中的中断处理机制, 包括中断…

Python每日一练(20230514) 不同路径 I\II\III UniquePaths

目录 1. 不同路径 I Unique Paths 1 2. 不同路径 II Unique Paths 2 3. 不同路径 III Unique Paths 3 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 不同路径 I Unique Paths 1 一个…

Java每日一练(20230514) 滑动窗、最大子序和、转罗马数字

目录 1. 滑动窗口最大值 🌟🌟 2. 最大子序和 🌟 3. 整数转罗马数字 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1.…

C/C++每日一练(20230514) 全排列、分数转小数、排序链表去重II

目录 1. 全排列 🌟🌟 2. 分数到小数 🌟🌟 3. 删除排序链表中的重复元素 II 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Ja…

【C++】unordered_map与unordered_set(系列关联式容器)

文章目录 1.unordered系列关联式容器2. unordered_map3.unordered_set 1.unordered系列关联式容器 在C98中,STL提供了底层为红黑树结构的一系列关联式容器,如map和set,它们在查询时效率可达logN,即最差情况下需要比较红黑树的高度…

【UnavailableInvalidChannel: The channel is not accessible or is invalid.】

Collecting package metadata (current_repodata.json): failedUnavailableInvalidChannel: The channel is not accessible or is invalid.channel name: simplechannel url: http://pypi.douban.com/simpleerror code: 404.condarc以点开头,一般表示 conda 应用程…

前端016_文章管理模块_列表功能

文章管理模块_列表功能 1、需求分析2、Mock模拟接口数据3、Api调用接口4、列表模版6、分页查询7、条件查询1、需求分析 文章管理模块主要进行对文章的增删改查,一篇文章可以选择多个标签。 首先开发模块中的列表功能,包含数据列表、分页、查询。 2、Mock模拟接口数据 请求…

『MySQL 实战 45 讲』14 - count(*) 慢的根本原因

count(*) 慢的根本原因 count(*) 的实现方式 MyISAM 引擎会把一个表的总行数存在了磁盘上InnoDB 引擎需要把数据一行行读出,累计计数 为什么 InnoDB 不跟 MyISAM 一样,也把数字存起来呢 由于多版本并发控制的原因(和快照读有关系&#xf…

APP 兼容性测试是什么?8年测试老鸟告诉你

1、APP 兼容性测试认识 随着 APP 应用范围越来越广,用户群体越来越大,终端设备的型号也越来越多,移动终端碎片化加剧,使得 APP 兼容性测试成为测试质量保障必须要考虑的环节。 APP 兼容性测试通常会考虑:操作系统、厂…

Golang每日一练(leetDay0065)

目录 191. 位1的个数 Nnumber of 1-bits 🌟 192. 统计词频 Word Frequency 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 191. 位1的个数 Nnum…

《编程思维与实践》1070.复数幂

《编程思维与实践》1070.复数幂 题目 思路 思路比较简单,就是细节比较繁琐: ( a b i ) ( c d i ) ( a c − b d ) ( a d b c ) i (abi)(cdi)(ac-bd)(adbc)i (abi)(cdi)(ac−bd)(adbc)i , 利用该公式分实部和虚部进行计算结果即可. 由于涉及加减和正负号,所以在大整数结构…

MySQL的事务

1、事务的概念 事务是一种机制、一个操作序列,包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么都执行,要么都不执行。 事务是一个不可分割的工作逻辑单元&#xff…

【python数据分析】Pandas数据载入

🙋‍ 哈喽大家好,本次是python数据分析、挖掘与可视化专栏第五期 ⭐本期内容:Pandas数据载入 🏆系列专栏:Python数据分析、挖掘与可视化 👍“总有一段时光悄悄过去然后永远怀念.” 文章目录 前言一、数据载…

fusion app 网页远程控制app

拥有此网页,即可。远程控制软件里面的公告更新以及其他内容。 网页并无联系方式,请自己摸索。 从此即可摆脱, QQ收藏,微云,讯飞语记的束缚! 使用本程序网站放再多的内容都不会乱码! FA2和1都可…

代码随想录算法训练营第四天|24. 两两交换链表中的节点 、19.删除链表的倒数第N个节点 、面试题 02.07. 链表相交 、142.环形链表II

两两交换链表中的节点 题目链接:力扣 解题思路:虚拟头节点,然后进行模拟即可。 我拿到这道题的时候,其实交换的思路是有的,但是首先没有设虚拟节点,这使得我的解答很乱,有很多if条件判断。其次…

Eclipse中如何使用:Maven、Git、GitHub、码云

第1章 在Eclipse 中使用 Maven 1.1 安装 Maven 核心程序 1)下载地址:http://maven.apache.org/ 2)检查 JAVA_HOME 环境变量。Maven 是使用 Java 开发的,所以必须知道当前系统环境中 JDK 的安装目录。 即:安装jdk目录中bin目录的上一级目录…

基于ESP32的单通道LoRaWAN网关设计资料介绍-操作模式

资料下载链接》》 介绍 这是在由ESP8266/ESP32 mcu和sx1276无线电组成的平台上实现LoRa网关功能的第6代软件。与旧版本的网关不同,此版本将在单一频率上收听所有可用的扩频因子 (SF)。网关使用 Web 功能(通过 Intranet)启用网关的监控和配置…

桂院导航小程序 云开发项目 二次开发教程

Gitee代码仓库:桂院导航小程序 GitHub代码仓库:GLU-Guide​​​​​​​ 演示视频 桂院校园导航小程序 演示视频 先 假装 大伙都成功安装了云开发项目,并能在 微信开发者工具 和 手机 上正确运行。 接着就是 将项目 改成自己的学校。 代码…

Redis性能测试怎么做?看看字节8年测试工程师写的测试总结

最近测试服务端的时候,接触到了redis,之前也看过,但不系统,借着这次实践,记录一下 01、简介 Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 它通常被称为数据结构…