WSL安装及问题
1 概述
Windows Subsystem for Linux(简称WSL)是一个在Windows 10\11上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,开发人员可以在 Windows 计算机上同时访问 Windows 和 Linux 的强大功能。 通过适用于 Linux 的 Windows 子系统 (WSL),开发人员可以安装 Linux 发行版(例如 Ubuntu、OpenSUSE、Kali、Debian、Arch Linux 等),并直接在 Windows 上使用 Linux 应用程序、实用程序和 Bash 命令行工具,不用进行任何修改,也无需承担传统虚拟机或双启动设置的费用。【引用百度百科】
适用于 Linux 的 Windows 子系统 (WSL) 是 Windows 的一项功能,可用于在 Windows 计算机上运行 Linux 环境,而无需单独的虚拟机或双引导。 WSL 旨在为希望同时使用 Windows 和 Linux 的开发人员提供无缝高效的体验。【引用wsl】
2 WSL版本
WSL分为WSL1和WSL2,WSL 1 和 WSL 2 之间的主要区别在于,在托管 VM 内使用实际的 Linux 内核、支持完整的系统调用兼容性以及跨 Linux 和 Windows 操作系统的性能。 WSL 2 是安装 Linux 发行版时的当前默认版本,它使用最新最好的虚拟化技术在轻量级实用工具虚拟机 (VM) 内运行 Linux 内核。 WSL2 将 Linux 发行版作为托管 VM 内的隔离容器运行。
功能比较:
参考官网【https://learn.microsoft.com/zh-cn/windows/wsl/compare-versions】
3 启用虚拟化
可通过任务管理器(Ctrl+Shift+Esc)中的性能确认CPU虚拟化,默认开启
4 开启虚拟任务
1、通过快捷键WIN+R打开运行窗口,输入control,点击确定,打开控制面板
2、点击“程序”,打开程序面板
3、点击“启用或关闭Windows功能”
4、点击确定后,可正常应用WSL
5 安装WSL
5.1 检验安装情况
1、通过WIN+R快捷键打开运行窗口,输入cmd,打开命令提示符窗口
2、输入wsl
如果提示子系统没有已安装的分发版,说明还没有安装。
如果提示子系统没有已安装的分发版,说明还没有安装。
5.2 查看支持的 Linux 发行版
使用wsl –list –online 可查看支持的Linux发行版
5.3 无法解析服务器的名称或地址
在使用wsl –list –online 可查看支持的Linux发行版时,可能会提示“无法解析服务器的名称或地址”
这个错误通常表示Windows Subsystem for Linux(WSL)无法解析指定的服务器名称或IP地址。可能的原因包括网络配置问题、DNS服务器不可用、或者服务器名称不正确。
5.3.1 解决方法
1、检查服务器名称:确保输入的服务器名称正确无误。
2、网络配置:确保WSL的网络配置正确。可以尝试重启WSL服务:在命令提示符或PowerShell中运行wsl --shutdown。
3、DNS问题:确认Windows系统的DNS设置是否正确,可以尝试更换DNS服务器,如使用Google的8.8.8.8或8.8.4.4。
4、防火墙/安全软件:检查是否有防火墙或安全软件阻止了WSL的网络访问。
5、临时网络问题:尝试重新连接网络或重启路由器。
5.3.2 网络正常配置
如果网络正常,配置下DNS就可解决,配置方式如下:
1、右键桌面图标“网络”属性,打开网络和共享中心
2、点击“更改适配器设置”,打开网络连接窗口
3、选择WLAN右键属性,打开WLAN属性窗口
4、双击Internet协议版本4(TCP/IPv4),更改DNS
5.4 Wsl/WININET_E_NAME_NOT_RESOLVED
在执行 wsl –list –online时,有时会出现以下问题:
无法从“https://raw.githubusercontent.com/microsoft/WSL/master/distributions/DistributionInfo.json”中提取列表分发。无法解析服务器的名称或地址
Error code: Wsl/WININET_E_NAME_NOT_RESOLVED
遇到这个问题时,可以通过访问 https://www.sojson.com/ip/查询 raw.githubusercontent.com 域名对应的 IP 地址。
然后对C:\Windows\System32\drivers\etc\hosts文件进行追加
185.199.109.133 raw.githubusercontent.com
5.5 安装Ubuntu
1、选择Linux发行版的Ubuntu-24.04进行安装
2、安装过程中,会出现Ubuntu24.04.1 LTS 的安装窗口,可能会一直出现“Installing,this may take a few minutes…”这样的提示。可以通过wsl --list -v命令,查询Ubuntu的运行状态。
如果出现上面的情况,可以将该命令符提示窗口关闭。输入wsl后:
上图所示明显Ubuntu已经安装成功,却跳过了创建用户的步骤,因此,只需要创建一个新用户,并将其设定为默认启动的用户就可以解决问题。
解决方法:(参考:https://www.cnblogs.com/ziyulab/p/18446092#2-%E8%A7%A3%E5%86%B3)
1、创建新用户
2、通过cat /etc/passwd 查看用户是否添加
3、为用户赋予sudo权限
vim /etc/sudoers
# 增加配置, 在打开的配置文件中,找到root ALL=(ALL:ALL) ALL, 在下面添加一行
# 其中xxx是你要加入的用户名称
xxx ALL=(ALL:ALL) ALL
# 按esc,输入:wq!保存配置
/etc/sudoers 文件是用来配置 sudo 命令的访问权限的。
sudo 是一个用于在 Linux 和其他类 Unix 操作系统上以超级用户身份执行命令的工具。/etc/sudoers 文件定义了哪些用户或用户组具有以超级用户身份执行命令的权限。
4、设置用户为默认启动用户
vim /etc/wsl.conf
# 添加配置
[user]
default=你的用户名
# 按esc,输入:wq!保存配置
5、通过wsl --shutdown 重启Ubuntu,完成修改
5.6 启动虚拟机
在命令符提示中,输入wsl,就能进入到子系统中
5.7 注销或删除虚拟机
参考:https://blog.csdn.net/FHY26828/article/details/143863100
1、注销虚拟机:仅删除 WSL 环境配置,不会删除对应的文件:
wsl --unregister Ubuntu-24.04
2、完全删除虚拟机(包括文件夹)
(1)找到虚拟机的文件存储位置(默认在 C:\Users\<用户名>\AppData\Local\Packages)。
(2)手动删除对应的文件夹。
5.8 临时切换WSL版本
临时切换到WSL1
wsl --set-version Ubuntu-2404 1
5.9 设置默认版本
设置默认WSL2
wsl --set-default-version 2
5.10 查看版本
wsl --status
5.11 更新 WSL 内核
更新WSL后,需要重启电脑
wsl --update
通过执行wsl --update,用户可以检查并下载任何WSL2内核更新,这是因为WSL2内核是WSL2本身的一部分,并且在所有已安装的发行版之间共享,因此其更新方式与其他包更新方式不同。
更新后,增加了更多的功能,比如可通过systemd管理Linux服务;可通过 wsl --version 查看版本信息等。
5.12 以特定用户的身份运行
wsl --user test
5.13 将目录更改为主页
wsl ~
5.14 更改发行版的默认用户
更改用于发行版登录的默认用户。 用户必须已经存在于发行版中才能成为默认用户。
<DistributionName> config --default-user <Username>
例如:ubuntu config --default-user test
会将 Ubuntu 发行版的默认用户更改为“test”用户。
5.15 注意事项
当安装了vmware时,不要启动WSL2,可能导致虚拟化问题。
相关文章:

WSL安装及问题
1 概述 Windows Subsystem for Linux(简称WSL)是一个在Windows 10\11上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,开发人员可以在 Windows 计算机上同时访问 Windows 和…...
WordPress开发到底是开发什么?
WordPress 开发主要涉及基于 WordPress 平台构建、定制和扩展网站功能的过程。它不仅仅是简单的网站搭建,而是通过代码和技术实现个性化需求。 以下是 WordPress 开发的核心内容: 1. 主题开发(Theme Development) 功能ÿ…...

元脑服务器的创新应用:浪潮信息引领AI计算新时代
浪潮信息的元脑 R1 服务器现已全面支持开源框架 SGLang,能够在单机环境下实现 DeepSeek 671B 模型的高并发性能,用户并发访问量超过1000。通过对 SGLang 最新版本的深度适配,元脑 R1 推理服务器在运行高性能模型时,展现出卓越的处…...
SQL Server查询计划操作符(7.3)——查询计划相关操作符(9)
7.3. 查询计划相关操作符 78)Repartition Streams:该操作符消费多个输入流并产生多个输出流。期间,记录内容与格式保持不变。如果查询优化器使用一个位图过滤(bitmap filter),则输出流中的数据行数将会减少。一个输入流的每行记录被放入一个输出流。如果该操作符保留顺序…...

单片机项目复刻需要的准备工作
一、前言 复刻单片机的项目的时候,有些模块是需要焊接的。很多同学对焊接没有概念。 这里说一下做项目的基本工具。 比如:像这种模块,都需要自己焊接了排针才可以链接的。 二、基本模块 2.1 单排排针 一些模块买回来是没有焊接的&#x…...

【哇! C++】类和对象(五) - 赋值运算符重载
目录 编辑 一、运算符重载 1.1 运算符重载概念 1.2 全局运算符重载 1.3 运算符重载为成员函数 二、赋值运算符重载的特性 2.1 赋值运算符重载需要注意的点 2.2 赋值运算符重载格式 2.2.1 传值返回 2.2.2 传引用返回 2.2.3 检查自己给自己赋值 三、赋值运算符重载的…...

SpringCloud系列教程(十三):Sentinel流量控制
SpringCloud中的注册、发现、网关、服务调用都已经完成了,现在就剩下最后一部分,就是关于网络控制。SpringCloud Alibaba这一套中间件做的非常好,把平时常用的功能都集成进来了,而且非常简单高效。我们下一步就完成最后一块拼图Se…...

vue+element|el-tree树设置懒加载和设置默认勾选
文章目录 导文代码实现1. 基本结构2. 懒加载实现3. 默认勾选功能4. 动态加载初始节点5. 节点勾选事件监听完整代码 导文 在实际开发中,很多数据过于庞大,需要分批请求,使用到懒加载。但是在tree的方法中,使用懒加载后无法直接使用…...
零售交易流程相关知识(top-down拆解)
引入 关于POS机交易时的后台数据交互 模块之间数据交换,都可以能被窃取或篡改。由此引入加密、解密机制和签名、验签机制 经典的加密、解密机制: 对称加密:DES\ TDES\ AES\ RC4 非对称加密:RSA\ DSA\ ECC 经典的签名、验签…...

混合存储HDD+SSD机型磁盘阵列,配上SSD缓存功能,性能提升300%
企业日常运行各种文件无处不在,文档、报告、视频、应用数据......面对成千上万的文件,团队之间需要做到无障碍协作,员工能够即时快速访问、共享处理文件。随着业务增长,数字化办公不仅需要大容量,快速高效的文件访问越…...
将本地已有的项目上传至仓库
上传的仓库为Gitee 进入项目目录: 使用命令行工具进入你想要上传的项目的根目录。 初始化Git仓库: 如果项目目录尚未初始化为Git仓库,执行以下命令: git init 执行完成后,项目根目录下会自动生成一个隐藏的.git文件夹…...
中级网络工程师面试题参考示例(3)
一、企业园区网络 问题1:如何实现园区网络的自动化部署和管理?请结合实际场景说明技术选型。 答案要点: 技术选型: SDN(软件定义网络):通过控制器(如Cisco DNA Center)…...

祝福语【算法赛】
题目来源:第 27 场 蓝桥入门赛【算法题】 可以参考一下,本人也是比较菜 不喜勿喷,求求求 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);String S sc.nextLi…...

前端 | CORS 跨域问题解决
问题:Access to fetch at http://localhost:3000/save from origin http://localhost:5174 has been blocked by CORS policy: Response to preflight request doesnt pass access control check: No Access-Control-Allow-Origin header is present on the request…...
MySQL知识点(第一部分)
MySQL 基础: 1、SQL语句的分类: DDL:用于控制数据库的操作DML:用于控制表结构的字段,增、删、修DQL:用于查询语句DCL:用于管理数据库,用户,数据库的访问 权限。 2、M…...
ChatGPT使用经验分享
ChatGPT 3.5模型 与 4模型的区别 ChatGPT 3.5 示例 问:树上有9只鸟,打死了一只还剩几只? 答:如果打死了一只鸟,那么树上还剩下8只鸟。 ChatGPT 4 示例 问:树上有9只鸟,打死了一只还剩几只&…...
Webshell原理与利用
本文内容仅用于技术研究、网络安全防御及合法授权的渗透测试,严禁用于任何非法入侵、破坏或未经授权的网络活动。 1. WebShell的定义与原理 定义:WebShell是一种基于Web脚本语言(如PHP、ASP、JSP)编写的恶意后门程序,…...
Java直通车系列15【Spring MVC】(ModelAndView 使用)
目录 1. ModelAndView 概述 2. ModelAndView 的主要属性和方法 主要属性 主要方法 3. 场景示例 示例 1:简单的 ModelAndView 使用 示例 2:使用 ModelAndView 处理列表数据 示例 3:使用 ModelAndView 处理异常情况 1. ModelAndView 概…...

大模型系列课程学习-基于Vllm/Ollama/Ktransformers完成Deepseek推理服务部署
1.机器配置及实验说明 基于前期搭建的双卡机器装机教程,配置如下: 硬件名称参数备注CPUE5-2680V42 *2(线程28个)无GPU2080TI-22G 双卡魔改卡系统WSL Unbuntu 22.04.5 LTS虚拟机 本轮实验目的:基于VLLM/Ollama/ktran…...

基于深度文档理解的开源 RAG 引擎RAGFlow的介绍和安装
目录 前言1. RAGFlow 简介1.1 什么是 RAGFlow?1.2 RAGFlow 的核心特点 2. RAGFlow 的安装与配置2.1 硬件与软件要求2.2 下载 RAGFlow 源码2.3 源码编译 Docker 镜像2.4 设置完整版(包含 embedding 模型)2.5 运行 RAGFlow 3. RAGFlow 的应用场…...

国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...

19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...

React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...

UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...

linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...

自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...