Linux Windows之wsl安装使用简介

参考资料

  1. 如何使用 WSL 在 Windows 上安装 Linux
  2. windows11 安装WSL2全流程
  3. 旧版 WSL 的手动安装步骤

目录

  • 一. 前期准备
    • 1.1 确认windows的版本
    • 1.2 开启Linux子系统的支持
      • 1.2.1 图形化方式
      • 1.2.2 命令行方式
    • 1.3 安装wsl软件
    • 1.4 安装Linux分发版
  • 二. 基本配置
    • 2.1 Windows Terminal
    • 2.2 wsl
    • 2.3 发行版linux
      • 2.3.1 配置root密码
      • 2.3.2 配置ssh
      • 2.3.3 切换源为国内的源
    • 2.4 Vs Code安装wsl插件
  • 三. 命令行简介
    • 3.1 `wsl --help`
    • 3.2 子系统的安装与查看
    • 3.3 子系统的默认设置
    • 3.4 进入子系统
    • 3.5 导出导入子系统
    • 3.6 修改默认登录用户
    • 3.7 关闭与删除


一. 前期准备

1.1 确认windows的版本

⏹win11默认支持wsl,无需确认;部分win10版本不支持,需要确认

  • win + R打开运行窗口
  • 输入winver命令,并执行
  • 确认当前win10为22H2版本
    在这里插入图片描述

1.2 开启Linux子系统的支持

1.2.1 图形化方式

在这里插入图片描述

1.2.2 命令行方式

⏹执行下面两行命令之后,重启电脑。

# 开启【适用于 Linux的 Windows 子系统】
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# 开启【虚拟机平台】
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

1.3 安装wsl软件

⏹官方提供的wsl管理软件,找到最新的版本安装即可

  • https://github.com/microsoft/WSL/tags

⏹官方提供的wsl_update_x64.msi的升级包

  • https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

1.4 安装Linux分发版

  • 可以选择在Microsoft Store商店安装
  • 也可以下载Linux 分发版的安装包,并手动安装
    • 对应的安装包的下载地址可参考微软官方提供的教程
  • 💥注意💥
    • win10的自动更新功能不能关闭,否则无法正常启动
  • 安装时会提示输入账户名和密码,输入完成之后,就完成了子系统的配置

二. 基本配置

2.1 Windows Terminal

⏹在Windows Terminal中,可通过如下方式进入指定的linux发行版

在这里插入图片描述

⏹可以在设置中,指定当前linux发行版的启动命令行,工作目录等配置

  • 命令行:
    • wsl -d Ubuntu --cd ~:通过wsl命令启动名称为Ubuntu的linux发行版,启动完成之后将路径切换为home目录
  • 启动目录:
    • 我们也可以将启动目录设置为//wsl$/Ubuntu/home/用户名,此时的--cd ~就可以省略了

在这里插入图片描述

2.2 wsl

⏹安装wsl之后,可在开启菜单找到蓝色企鹅图标,进入之后,可对wsl进行各种配置

在这里插入图片描述

2.3 发行版linux

2.3.1 配置root密码

  • 初始安装之后,root用户并没有设置密码,可通过下面的命令设置密码
    sudo passwd root
    

2.3.2 配置ssh

  • wsl中的发行版linux需要配置ssh之后,外部才能访问
    # 更新apt
    sudo apt update
    # 安装openssh-server
    sudo apt install openssh-server
    # 修改配置文件
    sudo vi /etc/ssh/sshd_config# 将配置文件中的配置项的注释解开,并修改
    PasswordAuthentication yes
    PermitRootLogin yes
    UsePAM no
    
  • 安装配置完成之后,开启ssh服务
    sudo service ssh start
    

2.3.3 切换源为国内的源

⏹Ubuntu的软件安装源在海外,国内使用的话,有可能会失败,可通过镜像源的方式解决

  • 系统源备份:sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
  • 修改 sources.list, 加入镜像站提供的源
    • 主要使用下面两个镜像站
    • 清华源:https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/
    • 中科大源:https://mirrors.ustc.edu.cn/help/ubuntu.html
  • 保存之后,更新镜像源:sudo apt update

2.4 Vs Code安装wsl插件

⏹如下图所示,安装wsl插件

在这里插入图片描述

⏹插件安装完成之后,在linux中输入code .之后,.vscode-server就会安装到linux中,然后就可以通过vs code来编辑linux中的文件了。

在这里插入图片描述


三. 命令行简介

3.1 wsl --help

⏹查看wsl命令的帮助信息

在这里插入图片描述

3.2 子系统的安装与查看

# 命令行的方式升级wsl
wsl --update# 在线查看微软官方提供的子系统
wsl --list --online# 通过命令行的方式安装子系统
wsl --install -d 子系统名称# 查看本地安装的所有版本
wsl -l -v

3.3 子系统的默认设置

# 设置wsl的默认版本
wsl --set-default-version 2# 当存在多个子系统时,设置默认的子系统
wsl --set-default 子系统名称

3.4 进入子系统

# 指定用户进入wsl
wsl -d <distro_name> -u <username>
wsl -d Ubuntu_22.04 -u apluser# 启动指定的子系统, 并切换到home目录
wsl -d Ubuntu_22.04 --cd ~

3.5 导出导入子系统

⏹子系统导出

# 将安装的linux子系统导出
wsl --export Ubuntu "E:\Ubuntu_22.04.tar"

⏹子系统导入

  • 注意,导入之后的系统,会以【ext4.vhdx】的文件名保存,本质上是一个虚拟硬盘
  • 该文件名不要更改,最佳实践是在外套一层文件夹用来区分
wsl --import Ubuntu_22.04 "E:\VM_PC\wsl\Ubuntu_22.04" "E:\Ubuntu_22.04.tar" --version 2

3.6 修改默认登录用户

⏹导入wsl系统之后,默认以root账户登录

  • 可以在Windows Terminal的设置中的命令行处,指定普通用户-u 用户名的方式来登录
  • 也可以在linux的配置文件中修改默认的登录用户
    • 通过root用户登录
    • 查看该配置文件是否存在,不存在的话,就新建
      • ls -l /etc/wsl.conf
    • 编辑该配置文件
      • vim /etc/wsl.conf
    • 追加如下内容
      • [user]
      • default=apluser
    • 退出后,关闭wsl
      • wsl --shutdown
    • 再一次进入wsl之后,就可以看到通过指定的默认用户登录了
      • wsl -d Ubuntu_22.04 --cd ~

3.7 关闭与删除

⏹关闭

# 关闭指定的子系统
wsl --terminate -d Ubuntu_22.04(系统名称)# 关闭所有的子系统
wsl --shutdown

⏹删除

  • 必须先关闭然后才能卸载删除
  • 执行下面的命令之后,【ext4.vhdx】的文件会被删除
wsl --unregister Ubuntu_22.04

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

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

相关文章

matlab模糊控制实现路径规划

路径规划是机器人和自动驾驶系统中的重要问题之一&#xff0c;它涉及确定如何在给定环境中找到最优路径以达到特定目标。模糊控制是一种有效的控制方法&#xff0c;可以应用于路径规划问题。 路径规划算法的目标是在避免障碍物的情况下&#xff0c;找到机器人或车辆从起点到终…

OpenHarmony 5.0横竖屏界面适配

目录 一.背景 二.修改位置 三.参考文档 一.背景 由于需要一套代码适配横屏和竖屏设备,所以有些数值的大小可能在竖屏上面适配,在横屏上面不那么适配了,所以需要横屏特殊的数值大小(例如:宽高) 二.修改位置 在resources资源文件中新建横屏适配的文件夹,然后新建自己需…

AlphaFold3服务器安装与使用(非docker)(1)

1. 服务器显卡驱动准备 这部分我会详细记录一下我踩过的坑及怎样拯救的&#xff0c;原谅啰嗦啦 ^_^ 1.1 服务器旧配置 1.1.1 nvidia-smi [xxxxxxlocalhost ~]# nvidia-smi Thu May 29 20:54:00 2025 -------------------------------------------------------------…

Java异步编程难题拆解技术

目录 ​编辑 异步编程的核心概念 Java异步编程的主要实现方式 异步编程的常见难题 解决异步编程难题的策略 性能优化与调试技巧 实际案例分析 未来发展趋势 异步编程的核心概念 同步与异步的区别阻塞与非阻塞的差异Java异步编程的常见场景&#xff08;如网络请求、文件…

第五期书生大模型实战营-《L1G1-玩转书生大模型 API 之 Browser-Use 实践》

一、 搭建环境 pip install requests openai 1.2、获取API https://internlm.intern-ai.org.cn/api/tokens 1.3 运行API from openai import OpenAI from dotenv import load_dotenv import osfrom openai import OpenAI from dotenv import load_dotenv import os# Inter…

基于Web的安全漏洞分析与修复平台设计与实现

基于Web的安全漏洞分析与修复平台设计与实现 摘要 随着信息化进程的加快&#xff0c;Web系统和企业IT架构愈发复杂&#xff0c;安全漏洞频发已成为影响系统安全运行的主要因素。为解决传统漏洞扫描工具定位不准确、修复建议不完善、响应周期长等问题&#xff0c;本文设计并实…

深入解析异步爬虫中的协程原理:从概念到工程实践

引言 在Web数据抓取领域,同步爬虫的​​单线程阻塞模型​​已无法满足现代应用对效率的需求。据统计,2025年全球Top 1000网站中,89%采用Ajax动态加载技术,传统爬虫的平均抓取效率已下降至每秒1.5个页面。而基于协程的异步爬虫通过​​非阻塞I/O​​和​​并发调度​​,可…

告别硬编码!用工厂模式优雅构建可扩展的 Spring Boot 应用 [特殊字符]

嗨&#xff0c;各位技术伙伴们&#xff01;&#x1f44b; 在日常的软件开发中&#xff0c;我们经常面临需求变更的挑战。如何构建一个既能满足当前需求&#xff0c;又能轻松应对未来变化的系统呢&#xff1f;答案往往藏在那些经典的设计模式中。 今天&#xff0c;我们就来聊聊…

【Linux】编译器gcc/g++及其库的详细介绍

前言&#xff1a; 上文我们学到了&#xff0c;LInux中的的编辑器vim【Linux】vim编辑器-CSDN博客 本文来学习LInux中的编译器&#xff1a;gcc/g gcc是C语言编译器&#xff0c;g是C编译器&#xff0c;这两个的使用一模一样。这里我们主要使用gcc给大家介绍 1.格式 gcc 被编译的…

用“红烧鱼”类比说明卷积神经网络CNN的概念

我们用一个生活中的例子——「厨房做红烧鱼」 的场景&#xff0c;来类比卷积神经网络中多层卷积核的工作过程。你会发现&#xff0c;卷积层就像厨房里分工明确的厨师团队&#xff0c;逐步处理食材&#xff0c;最终完成一道复杂的菜品。 &#x1f41f; 生活案例&#xff1a;厨房…

uniapp与微信小程序开发平台联调无法打开IDE

经测试属于网络问题。本机需要联网。否则会出现Hbuilder运行微信小程序到模拟器时无法打开 微信开发者工具 这个页面出不来会一直显示异常。这期间微信小程序开发工具的端口是通的 需要先联网

内网穿透之Linux版客户端安装(神卓互联)

选择Linux系统版本 获取安装包 &#xff1a;https://www.shenzhuohl.com/download.html 这里以Ubuntu 18.04为例&#xff0c;其它版本方法类似 登录Ubuntu操作系统&#xff1a; 打开Ubuntu系统终端&#xff0c;更新版本 apt-get update 安装运行环境&#xff1a; 安装C 运…

硬件学习笔记--66 MCU的DMA简介

DMA&#xff08;Direct Memory Access&#xff0c;直接存储器访问&#xff09;是MCU中一种重要的数据传输机制&#xff0c;它允许外设与存储器之间或存储器与存储器之间直接传输数据&#xff0c;而无需CPU的持续干预。 1、DMA的基本原理 1.1 核心概念&#xff1a; 1&#xf…

DeepSeek本地部署及WebUI可视化教程

前言 DeepSeek是近年来备受关注的大模型之一,支持多种推理和微调场景。很多开发者希望在本地部署DeepSeek模型,并通过WebUI进行可视化交互。本文将详细介绍如何在本地环境下部署DeepSeek,并实现WebUI可视化,包括Ollama和CherryStudio的使用方法。 一、环境准备 1. 硬件要…

RK3588和FPGA桥片之间IO电平信号概率性不能通信原因

1.GPIO管脚配置问题 RK3588对IO进行配置的时候&#xff0c;如果配置为多功能复用&#xff0c;没有明确IO功能&#xff0c;可能引起信号接收不稳定&#xff0c; 需要在驱动中设备树中配置管脚为GPIO功能&#xff0c;确保没有功能复用的干扰。 2.上下拉电阻阻值设置不当 GPIO引脚…

相机--相机标定实操

教程 camera_calibration移动画面示例 usb_cam使用介绍和下载 我使用的是USB相机&#xff0c;所以直接使用ros的usb_cam功能包驱动相机闭关获取实时图像&#xff0c;然后用ros的camera_calibration标定相机。 查询摄像机的信息 v4l2-ctl -d 0 --all的作用 命令详解&#xf…

【Kotlin】高阶函数Lambda内联函数

【Kotlin】简介&变量&类&接口 【Kotlin】数字&字符串&数组&集合 【Kotlin】高阶函数&Lambda&内联函数 【Kotlin】表达式&关键字 文章目录 函数还是属性高阶函数抽象和高阶函数实例&#xff1a; 函数作为参数的需求方法引用表达式更多使用场…

飞算JavaAI 炫技赛重磅回归!用智能编码攻克老项目重构难题

深夜还在排查十年前Hibernate框架埋下的N1查询隐患&#xff1f;跨语言迁移时发现SpringMVC控制器里的业务逻辑像一团乱麻&#xff1f;当企业数字化进入深水区&#xff0c;百万行代码的老系统就像一座随时可能崩塌的"技术债冰山"。近日&#xff0c;飞算科技发布JavaAI…

Linux I2C 子系统全解:结构、机制与工程实战

Linux I2C 子系统全解&#xff1a;结构、机制与工程实战 前言 I2C&#xff08;Inter-Integrated Circuit&#xff09;作为嵌入式系统和各种电子产品中最常用的串行通信总线之一&#xff0c;在 Linux 内核中的地位极其重要。然而&#xff0c;Linux I2C 子系统的分层结构、对象模…

多线程编程技术解析及示例:pthread_cond_timedwait、pthread_mutex_lock 和 pthread_mutex_trylock

多线程编程技术解析及示例&#xff1a;pthread_cond_timedwait、pthread_mutex_lock 和 pthread_mutex_trylock 摘要 本文深入解析了多线程编程中 pthread_cond_timedwait、pthread_mutex_lock 和 pthread_mutex_trylock 三个函数的功能、使用场景及注意事项&#xff0c;并通…