当前位置: 首页 > news >正文

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

相关文章:

  • 蓝光过滤APP:护眼小助手,守护您的视力健康
  • 【Linux网络编程】网络层IP协议
  • OD 算法题 B卷【文件目录大小】
  • 【架构艺术】平衡技术架构设计和预期的产品形态
  • 托福阅读感悟40-3
  • 智能体觉醒:AI开始自己“动手”了-自主进化开启任务革命时代
  • 输入ifconfig,发现ens33不见了,无法连接至虚拟机
  • 华为IP(7)
  • 为什么有的编程语言允许字符串和整数相加?字符串和整数比较?字符串拼接?格式串详解?字面量?
  • 51单片机基础部分——LED
  • vscode + cmake + ninja+ gcc 搭建MCU开发环境
  • MobaXterm国内下载与安装使用教程
  • <5>, Qt系统相关
  • QT中更新或添加组件时出现“”qt操作至少需要一个处于启用状态的有效资料档案库“解决方法”
  • 性能优化 - 案例篇:缓存_Guava#LoadingCache设计
  • C# winform教程(二)
  • 小明的Java面试奇遇之商城系统的技术挑战与实战
  • 生产系统中TongWeb故障应急处理办法
  • 飞牛fnNAS装机之迷你小主机的利旧
  • 第14讲、Odoo 18 实现一个Markdown Widget模块
  • 网站隐私声明模板/网络游戏推广员是做什么的
  • wap网站开发流程/百度上怎么做推广
  • 网站没有织梦后台/新闻热点
  • 专业建站流程/自己网站怎么推广
  • 外贸网站b2b/优量汇广告平台
  • 做的网站在ie会乱码/北大青鸟