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

WSL2+Ubuntu 部署Linux

1. 简介

  • WSL2:WSL2是Windows Subsystem for Linux 2的简称,是微软在Windows 10/11操作系统中提供的一种功能,用于在Windows系统上运行Linux环境,与主机Windows系统共用同一套硬件资源。它允许用户在Windows操作系统中使用本机的Linux内核,而不需要使用虚拟机或双启动等方式,开发者和用户可以在Windows环境中轻松地访问和运行Linux命令行工具和应用程序。WLS2是WLS(Windows Subsystem for Linux)的升级版 。
  • Ubuntu:Ubuntu是一种流行的Linux发行版,广泛用于桌面和服务器环境。它基于Debian发行版,以其用户友好性、稳定性和广泛的软件包支持而闻名。Ubuntu也是WSL2支持的一种Linux发行版之一,用户可以通过WSL2在Windows 10/11上安装和运行Ubuntu环境。

2. 安装与配置

2.1. 前提

  • 查看windows是否支持虚拟化:

如果未启用,则需要在BIOS中开启虚拟化技术。

  • 开启Hyper-v:因为 WSL2 基于 Hyper-V,所以需要启用 Hyper-v,可以通过 控制面板 -> 程序 -> 程序与功能 -> 启用或关闭 Windows 功能:

注:Window家庭版不支持Hyper-V:

  • WSL2 的虚拟化功能是由 Windows 的底层 Hyper-V 虚拟化技术提供支持的,但它并不依赖完整的 Hyper-V 组件。即使在 Windows 家庭版中,微软也允许启用 Hyper-V 的部分功能(Virtual Machine Platform)来支持 WSL2。
  • 如果不放心,也可以使用命令脚本启动Hyper-v,脚本如下:
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL

2.2. 利用WSL2安装Ubuntu

搜索输入“power”,找到 Windows PowerShell 之后以管理员身份运行

在弹出的命令窗口中依次输入以下命令:

  • 启用Windows子系统( Linux )的功能:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  • 启用虚拟平台功能:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

这两个步骤,等同于在“启用或关闭 Windows 功能”中,开启“适用于 Linux 的 Windows 子系统”和“虚拟平台”。

执行完上述命令后,重启电脑。

  • 将WSL的默认版本设置为2:
wsl --set-default-version 2

注意,WIN11默认即安装的为WSL2,不需要执行该命令;WIN10用户需要执行该命令切换至WSL2

  • 下载并安装WLS所需要的组件和基本文件系统:
wsl --install

等待安装完成即可。

注:仅当根本没有安装WSL时,上述命令才有效。

wsl --install --online:可以查看可用发行版列表

wsl --install -d <DistroName>:可以安装一个指定的发行版

安装完成可设置默认用户名以及密码提示:

Enter new UNIX username:                           //输入用户名
New password:                                      //输入新密码
Retype new password:                               //再次输入密码,与新密码保持一致

该模式表示普通用户模式。

至此,可以在文件资源管理器中查看到Linux -> Ubuntu,后续与Ubuntu之间的文件操作可以从此处进行。

2.3. 一些小坑

2.3.1. 代理设置不兼容

如果出现“wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理”,这通常意味着WSL的网络配置与Windows系统的代理设置不兼容。

解决方式:

  • 步骤1: 创建.wslconfig文件
    • 打开文件资源管理器,导航到您的用户目录,路径通常是C:\Users\<your_username>
    • 在该目录下,创建一个新的文本文件,并将其命名为.wslconfig
  • 步骤2: 编辑.wslconfig文件
    • 右键点击.wslconfig文件,选择“用记事本打开”。
    • 在打开的文本编辑器中,输入以下内容:
[experimental]
networkingMode=mirrored // 表示 WSL 和 Windows 使用相同的网络配置
dnsTunneling=true
firewall=true
autoProxy=true
    • 保存并关闭文件。
  • 步骤3: 应用配置并重启WSL
    • 打开命令提示符或PowerShell。
    • 输入以下命令以关闭WSL的所有分发版:
wsl --shutdown
    • 等待命令执行完成,这将关闭所有正在运行的WSL实例。
  • 步骤4: 重启WSL
    • 重新打开命令提示符或PowerShell。
    • 输入wsl命令来启动WSL。
  • 步骤5: 验证问题是否解决
    • 检查是否还有关于localhost代理的提示。
    • 如果问题已解决,您可以继续使用WSL。

其实,最简单的方式,直接在 WSL Settings 中设置即可。

2.3.2. root用户

默认的情况下使用的普通用户登录,其实这是一种安全的方式,但如果想执行root用户权限,有两种方式:

一是使用 sudo 命令,具体详细指令该怎么用不做过多介绍了;

二是常驻root用户,指令为:sudo su,然后输入密码即可。

3. 附录:常见wls指令

  • wsl -l -s:查看当前WSL的版本和运行状态
  • wsl --shutdown:关闭所有分发版
  • wsl --unregister <DistributionName>:卸载指定的发行版WSL

http://www.kler.cn/a/522878.html

相关文章:

  • 【Redis】List 类型的介绍和常用命令
  • 基于特征工程与转换方法的LightGBM资产预测研究
  • Airflow:精通Airflow任务依赖
  • 【蓝桥杯嵌入式入门与进阶】2.与开发板之间破冰:初始开发板和原理图2
  • AndroidCompose Navigation导航精通2-过渡动画与路由切换
  • 机器学习day3
  • 【CSS入门学习】Flex布局设置div水平、垂直分布与居中
  • Docker Desktop 解决从开发到部署的高效容器化工作流问题
  • Java基础教程(007):方法的重载与方法的练习
  • Linux(NTP配置)
  • JavaEE:多线程编程中的同步与并发控制
  • 逻辑学起码常识凸显级数论有重大错误:将两相同级数误为相异级数
  • WGCLOUD运维工具从入门到精通 - 如何设置主题背景
  • Rust语言进阶之迭代器:iter用法实例(九十)
  • 在docker上部署nacos
  • FPGA 23 ,使用 Vivado 实现花式跑马灯( 使用 Vivado 实现花式流水灯,采用模块化编程,从按键消抖到LED控制 )
  • Hive:基本查询语法
  • R语言机器学习算法实战系列(十九)特征选择之Monte Carlo算法(Monte Carlo Feature Selection)
  • 内存泄漏的通用排查方法
  • 《Vision Transformer》论文精读:在大量足够数据量的条件下纯Transformer也能在图像分类任务中比肩SOTA
  • 蓝桥杯例题四
  • 基于微信小程序的社团活动助手php+论文源码调试讲解
  • 电力晶体管(GTR)全控性器件
  • 【Qt】文件操作
  • 打造专业PPT幻灯片布局的实用策略
  • 深入浅出Linux操作系统大数据定制Shell编程(六)