windows安装WSL完整指南

本文首先介绍WSL,然后一步一步安装WSL及Ubuntu系统,最后讲解如何在两个系统之间访问和共享文件信息。通过学习该完整指南,能帮助你快速安装WSL,解决安装和使用过程中的常见问题。

理解WSL(Windows Subsystem for Linux)

什么是WSL?

Windows Subsystem for Linux(WSL)是微软为Windows用户提供的一种功能,使他们能够在Windows系统上运行原生的Linux环境。WSL允许用户在Windows上直接使用Linux命令行工具和应用程序,而无需使用虚拟机或双启动配置。这一功能为开发人员和系统管理员提供了极大的便利,使得他们能够在同一台机器上利用Windows和Linux的优点。
在这里插入图片描述

WSL的版本

WSL目前有两个主要版本:WSL 1和WSL 2。

  • WSL 1

WSL 1是最初的版本,它通过一种兼容层来实现Linux系统调用的支持。这个版本提供了对大部分Linux命令行工具的支持,但并不具有完整的Linux内核。因此,某些应用程序可能无法正常工作。

  • WSL 2

WSL 2引入了一个真正的Linux内核,使用了虚拟机技术。这使得WSL 2在兼容性和性能方面都有了显著提升。WSL 2支持Docker等需要完整Linux内核的应用程序,并且文件系统性能更佳。

WSL的优势

  1. 无缝集成:WSL允许Windows和Linux应用程序在同一个环境中运行,用户可以在Windows的命令提示符或者PowerShell中直接访问Linux命令。
  2. 资源占用少:与传统的虚拟机相比,WSL的资源占用要少得多。用户可以在不需要大量系统资源的情况下运行Linux环境。
  3. 快速启动:WSL的启动速度非常快,几乎是在几秒钟内完成,相比起启动传统的虚拟机要快得多。
  4. 开发环境:对于软件开发人员来说,WSL提供了一个理想的环境,能够方便地使用Linux工具链、编程语言和框架。
  5. 文件系统访问:用户可以轻松地访问Windows文件系统,WSL能够直接访问Windows的文件和目录,同时也可以在Linux下访问WSL的文件系统。

WSL的使用场景

  1. Web开发:开发人员可以使用WSL在Windows上运行Node.js、Ruby、Python等多种语言的开发环境,方便进行网页开发。
  2. DevOps任务:使用WSL,用户可以执行各种DevOps工具,比如Docker,以快速构建和部署应用程序。
  3. 数据科学:数据科学家可以使用Linux下的科学计算工具和库,比如Python的pandas和NumPy,进行数据分析和处理。
  4. 学习Linux:对于想要学习Linux的Windows用户来说,WSL是一个很好的平台,可以在不离开Windows的情况下进行Linux操作的学习。

WSL安装过程

确保系统兼容性以安装WSL

在安装Windows子系统Linux(WSL)之前,用户需要确保他们的Windows 11系统符合必要的要求。这包括检查Windows版本和在BIOS设置中启用虚拟化,以确保成功安装。以下是详细的步骤和说明。

1. 检查Windows版本

要安装WSL,用户的Windows 11系统必须是家庭版、专业版、教育版或企业版。可以按照以下步骤检查Windows版本:

  1. 打开设置:用户可以通过点击“开始”菜单,然后选择“设置”来打开Windows设置。

  2. 查看系统信息

    • 在设置窗口中,选择“系统”选项。
    • 然后,点击“系统信息”。
    • 在“关于”页面中,用户可以看到“Windows 规格”部分,其中包括版本号和版本名称。

    例如,如果用户的Windows版本是“21H2”或更高版本,则满足WSL的安装要求。

2. 启用虚拟化

WSL依赖于虚拟化技术,因此必须确保虚拟化已在BIOS中启用。以下是启用虚拟化的步骤:

  1. 重新启动计算机:用户需要重新启动他们的电脑。
  2. 进入BIOS设置
    • 在计算机启动时,按下特定的键(通常是F2、Del、Esc或F10,具体取决于计算机制造商)。
    • 用户需要查看启动时的提示,找到访问BIOS设置的正确键。
  3. 查找虚拟化选项
    • 进入BIOS后,用户应寻找与“虚拟化技术”或“VT-x”、“AMD-V”相关的选项。这通常可以在“高级”、“CPU配置”或“安全”菜单中找到。
  4. 启用虚拟化
    • 如果虚拟化选项被禁用,用户需将其更改为“启用”。
    • 保存更改并退出BIOS设置。通常可以通过F10键来完成。
3. 确认虚拟化状态

在Windows中,用户还可以通过任务管理器确认虚拟化是否已启用。步骤如下:

  1. 打开任务管理器:用户可以右键点击任务栏并选择“任务管理器”,或者按下Ctrl + Shift + Esc组合键。
  2. 查看性能选项卡
    • 在任务管理器中,切换到“性能”选项卡。
    • 选择“CPU”部分。在右侧的窗口中,用户应该能看到“虚拟化”选项,指示其状态。

如果虚拟化显示为“已启用”,则用户可以继续安装WSL。

4. 启用虚拟机和linux子系统

在这里插入图片描述
启用“适用于Linux的Windows子系统”和“Virtual Machine Platform", 启用后者才能支持WSL2版本。确定后需要重启Windows系统。

5. 安装WSL

当用户确认他们的系统满足要求后,可以按照以下步骤安装WSL:

  1. 打开PowerShell

    • 用户可以在“开始”菜单中搜索“PowerShell”,然后以管理员身份运行。
  2. 运行安装命令
    使用以下命令安装WSL:

    wsl --install
    

    此命令将自动下载并安装WSL和Linux发行版。但这一步可能会因为网络因素等等较长时间,请保持耐心。

  3. 重启计算机
    安装完成后,用户可能需要重启计算机以确保更改生效。

通过以上步骤,用户可以确保他们的Windows 11系统兼容WSL的安装,并顺利完成安装过程。

  1. 安装Ubuntu
    在微软商店中,找到对应的操作系统,点击安装。
    在这里插入图片描述
    安装过程中会打开命令行界面,提示你输入用户名和密码。至此wsl及Ubuntu全部安装完成。下面简要介绍如何在两个系统之间访问和共享文件信息。

文件信息访问与共享

访问Windows文件系统展开

在WSL中,Windows文件系统的访问是非常容易的。每个Windows驱动器(如C:\、D:\等)都被挂载到WSL的/mnt目录下。

访问步骤
  1. 打开WSL终端:用户可以通过Windows开始菜单找到“WSL”或“Ubuntu”等相关应用程序,打开终端。

  2. 导航到Windows文件系统:在WSL终端中,可以使用cd命令导航到Windows文件系统。例如,若要访问C:\驱动器,用户可以输入以下命令:

    cd /mnt/c
    
  3. 查看文件:进入C:\驱动器后,可以使用ls命令查看该驱动器中的文件和目录:

    ls
    
示例

假设用户想要访问C:\Users\Username\Documents目录,用户应在WSL终端中输入以下命令:

cd /mnt/c/Users/Username/Documents
ls

上述命令将导航到Documents目录并列出所有文件。

访问Linux文件系统

WSL中的Linux文件系统是用户在WSL中创建和存储文件的地方。默认情况下,用户的Linux文件系统位于/home/username目录下。

访问步骤
  1. 打开WSL终端,通常默认就是进入Linux文件系统。

  2. 查看文件:使用ls命令查看当前目录下的文件和目录:

    ls
    
示例

如果用户想要查看自己的主目录,用户可以直接输入:

ls ~

如果用户已经创建了一个名为“projects”的目录,可以使用以下命令进入该目录:

cd ~/projects
ls

文件共享

通过WSL,用户可以在两个文件系统之间轻松移动文件。这使得在Windows和Linux之间共享文件变得非常方便。

将文件从Windows复制到Linux

假设用户想要将C:\Users\Username\Documents\example.txt文件复制到Linux文件系统中的/home/username目录,可以使用以下命令:

cp /mnt/c/Users/Username/Documents/example.txt ~/

这个命令将Windows中的example.txt文件复制到Linux主目录。

将文件从Linux复制到Window

相反,若用户希望将Linux文件系统中的文件复制到Windows,可以使用以下命令。例如,将/home/username/example.txt文件复制到C:\Users\Username\Documents目录:

cp ~/example.txt /mnt/c/Users/Username/Documents/

注意事项

  • 文件权限:WSL中的Linux文件系统与Windows文件系统之间的权限可能存在差异。在Linux中,文件权限的设置可能会受到影响。
  • 文件路径:在WSL中,Windows路径使用/mnt/前缀,而Linux路径则使用/作为根目录。
  • 文件同步:用户需要注意在两个文件系统中对同一文件的更改可能不会自动同步,特别是在使用文本编辑器时。

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

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

相关文章

123,【7】 buuctf web [极客大挑战 2019]Secret File

进入靶场 太熟悉了,有种回家的感觉 查看源代码,发现一个紫色文件 点下看看 点secret 信息被隐藏了 要么源代码,要么抓包 源代码没有,抓包 自己点击时只能看到1和3处的文件,点击1后直接跳转3,根本不出…

Formality:时序变换(五)(寄存器复制)

相关阅读 Formalityhttps://blog.csdn.net/weixin_45791458/category_12841971.html?spm1001.2014.3001.5482 一、引言 时序变换在Design Compiler的首次综合和增量综合中都可能发生,它们包括:时钟门控(Clock Gating)、寄存器合并(Register Merging)、…

我使用deepseek高效学习-分析外文网站Cron定时执行任务

最近在spring框架中 设置定时任务,有的末尾是星号有的是问号,有的是6位,有的是7位。就这个机会总结下cron表达式的使用,综合源代码中的crontab地址翻译分析,结合最近超爆的deepseek 提高学习效率,归纳总结出…

BurpSuite抓包与HTTP基础

文章目录 前言一、BurpSuite1.BurpSuite简介2.BurpSuite安装教程(1)BurpSuite安装与激活(2)安装 https 证书 3.BurpSuite使用4.BurpSuite资料 二、图解HTTP1.HTTP基础知识2.HTTP客户端请求消息3.HTTP服务端响应消息4.HTTP部分请求方法理解5.HTTPS与HTTP 总结 前言 在网络安全和…

google 多模态aistudio Stream Realtime体验

参考: https://aistudio.google.com/live 使用gemini多模态能力,支持语音图像文字输入输出,实时交互体验 支持语音实时交互、摄像头加语音、屏幕视频语音 摄像头 屏幕共享

基于GA-BP遗传算法优化神经网络+NSGAII多目标优化算法的工艺参数优化、工程设计优化!

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.GA-BP遗传算法优化神经网络NSGAII多目标优化算法,工艺参数优化、工程设计优化!(Matlab完整源码和数据) 多目标优化是指在优化问题中同时考虑多个目标的优化过程。在多…

书籍《新能源汽车动力电池安全管理算法设计》和《动力电池管理系统核心算法》脑图笔记

目录 一、阅读背景二、《新能源汽车动力电池安全管理算法设计》脑图笔记三、《动力电池管理系统核心算法》脑图笔记四、后记参考学习 一、阅读背景 如今身处新能源动力电池行业,欲对动力电池相关算法做一些了解,通过查找相关电子书app,最后找…

前端布局与交互实现技巧

前端布局与交互实现技巧 1. 保持盒子在中间位置 在网页设计中&#xff0c;经常需要将某个元素居中显示。以下是一种常见的实现方式&#xff1a; HTML 结构 <!doctype html> <html lang"en"> <head><meta charset"UTF-8"><m…

2025年最新版武书连SCD期刊(中国科学引文数据库)来源期刊已更新,可下载PDF版!需要的作者进来了解~

2025年最新版武书连SCD期刊&#xff08;中国科学引文数据库&#xff09;来源期刊已更新&#xff01; 官网是不提供免费查询的。小编给大家两个路径&#xff0c;无需下载PDF&#xff0c;随时随地都能查25版SCD目录。 路径一&#xff1a;中州期刊联盟官网&#xff0c;25版SCD目…

c++ template-3

第 7 章 按值传递还是按引用传递 从一开始&#xff0c;C就提供了按值传递&#xff08;call-by-value&#xff09;和按引用传递&#xff08;call-by-reference&#xff09;两种参数传递方式&#xff0c;但是具体该怎么选择&#xff0c;有时并不容易确定&#xff1a;通常对复杂类…

unity碰撞的监测和监听

1.创建一个地面 2.去资源商店下载一个火焰素材 3.把procedural fire导入到自己的项目包管理器中 4.给magic fire 0 挂在碰撞组件Rigidbody , Sphere Collider 5.创建脚本test 并挂在magic fire 0 脚本代码 using System.Collections; using System.Collections.Generic; usi…

CLion2024.3.2版中引入vector头文件报错

报错如下&#xff1a; 在MacBook端的CLion中引入#include <vector>报 vector file not found&#xff08;引入map、set等也看参考此方案&#xff09;&#xff0c;首先可以在Settings -> Build,Execution,Deployment -> Toolchains中修改C compiler和C compiler的路…

viem库

viem是一个用于和以太坊进行交互的javascript库&#xff0c;它提供了简单的API进行智能合约的读取和写入操作&#xff0c;你可以使用它来与区块链上智能合约进行交互&#xff0c;查询链上数据等。 基本功能 1&#xff0c;创建公有客户端 createPublicClient 可以创建一个链接…

常用数据结构之String字符串

字符串 在Java编程语言中&#xff0c;字符可以使用基本数据类型char来保存&#xff0c;在 Java 中字符串属于对象&#xff0c;Java 提供了 String 类来创建和操作字符串。 操作字符串常用的有三种类&#xff1a;String、StringBuilder、StringBuffer 接下来看看这三类常见用…

64【32与64位程序的区别】

很多人可能有一个观念&#xff0c;那就是64位的程序NB&#xff0c;有技术含量&#xff0c;但是要说nb在哪&#xff0c;很多人又说不上来&#xff0c;本节来对这个问题做一个探讨 下图中左边的是加载的64程序&#xff0c;右边的是32位程序&#xff0c; 在上一节课我们已经理解…

从 Facebook 到元宇宙:社交网络的技术进化与前景

引言 社交网络的演变不仅仅是技术进步的体现&#xff0c;更是人类沟通方式革命的缩影。从 Facebook 的诞生到元宇宙的兴起&#xff0c;我们见证了社交互动从简单的信息交换到沉浸式虚拟体验的转变。本文将探讨这一技术演进的历程&#xff0c;并展望社交网络在元宇宙时代的新形…

响应式编程库(三) -r2dbc

r2dbc整合 什么是r2dbc版本选择简单试用整合springbootDatabaseClient 进行查询使用Repository接口(对应mapper)实体类复杂查询&#xff08;一对一&#xff09;实体类转换器测试代码一对多关系 什么是r2dbc 反应式关系数据库连接&#xff08;R2DBC&#xff09;项目为关系数据库…

后台管理系统网页开发

CSS样式代码 /* 后台管理系统样式文件 */ #container{ width:100%; height:100%; /* background-color:antiquewhite;*/ display:flex;} /* 左侧导航区域:宽度300px*/ .left{ width:300px; height: 100%; background-color:#203453; display:flex; flex-direction:column; jus…

人工智能与低代码如何重新定义企业数字化转型?

引言&#xff1a;数字化转型的挑战与机遇 在全球化和信息化的浪潮中&#xff0c;数字化转型已经成为企业保持竞争力和创新能力的必经之路。然而&#xff0c;尽管“数字化”听上去是一个充满未来感的词汇&#xff0c;落地的过程却往往充满困难。 首先&#xff0c;传统开发方式…

axios 发起 post请求 json 需要传入数据格式

• 1. axios 发起 post请求 json 传入数据格式 • 2. axios get请求 1. axios 发起 post请求 json 传入数据格式 使用 axios 发起 POST 请求并以 JSON 格式传递数据是前端开发中常见的操作。 下面是一个简单的示例&#xff0c;展示如何使用 axios 向服务器发送包含 JSON 数…