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.rhkb.cn/news/14382.html

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

相关文章

kafka专栏解读

kafka专栏文章的编写将根据kafka架构进行编写,即先编辑kafka生产者相关的内容,再编写kafka服务端的内容(这部分是核心,内容较多,包含kafka分区管理、日志存储、延时操作、控制器、可靠性等),最后…

【东莞常平】戴尔R710服务器不开机维修分享

1:2025-02-06一位老客户的朋友刚开工公司ERP服务器一台戴尔老服务器故障无法开机,于是经老客户介绍找到我们。 2:服务器型号是DELL PowerEdge R710 这个服务器至少也有15年以上的使用年限了。 3:客户反馈的故障问题为:…

win10 llamafactory模型微调相关① || Ollama运行微调模型

目录 微调相关 1.微调结果评估 2.模型下载到本地 导出转换,Ollama运行 1.模型转换(非常好的教程!) 2.Ollama 加载GGUF模型文件 微调相关 1.微调结果评估 【06】LLaMA-Factory微调大模型——微调模型评估_llamafactory评估-C…

DeepSeek图解10页PDF

以前一直在关注国内外的一些AI工具,包括文本型、图像类的一些AI实践,最近DeepSeek突然爆火,从互联网收集一些资料与大家一起分享学习。 本章节分享的文件为网上流传的DeepSeek图解10页PDF,免费附件链接给出。 1 本地 1 本地部…

自动驾驶---聊聊传统规控和端到端

1 背景 在自动驾驶领域中,端到端模型的兴起确实对传统的规划控制方法(笔者并不同意网上以Rule-Base称呼传统规控,传统的规控其实也使用了很多优化算法和博弈算法)产生了挑战,但这就意味着传统规控方法就完全没有应用了…

【如何掌握CSP-J 信奥赛中的深搜算法】

CSP-J 信奥赛中的深搜(深度优先搜索)算法是一个重要知识点,以下是一些学习深搜算法的建议: 理解基础概念 定义与原理:深度优先搜索是一种用于遍历或搜索图、树等数据结构的算法。它从起始节点开始,沿着一条…

使用redis实现 令牌桶算法 漏桶算法

流量控制算法,用于限制请求的速率。 可以应对缓存雪崩 令牌桶算法 核心思想是: 有一个固定容量的桶,里面存放着令牌(token)。每过一定时间(如 1 秒),桶中会自动增加一定数量的令牌…

LIMO:少即是多的推理

25年2月来自上海交大、SII 和 GAIR 的论文“LIMO: Less is More for Reasoning”。 一个挑战是在大语言模型(LLM)中的复杂推理。虽然传统观点认为复杂的推理任务需要大量的训练数据(通常超过 100,000 个示例),但本文展…

C++,设计模式,【单例模式】

文章目录 一、模式定义与核心价值二、模式结构解析三、关键实现技术演进1. 基础版(非线程安全)2. 线程安全版(双重检查锁)3. 现代C++实现(C++11起)四、实战案例:全局日志管理器五、模式优缺点深度分析✅ 核心优势⚠️ 潜在缺陷六、典型应用场景七、高级实现技巧1. 模板化…

Mysql基于binlog主从同步配置

主配置: 修改配置文件:/etc/my.cnf 添加server-id1 重启MySQL服务:systemctl restart mysqld 创建用户并授权: mysql> create user rep192.168.79.% identified with mysql_native_password by 123456; Query OK, 0 rows aff…

postman使用简介

在使用非关系数据库,与远端数据库交互时,需要在本地测试程序逻辑。借助postman查询数据。 1、开启本地数据库 绑定资源中,有如下应用程序,双击后可开启数据库服务 2、使用postman 下载后可以打开界面,可以填入远端数…

什么是三层交换技术?与二层有什么区别?

什么是三层交换技术?让你的网络飞起来! 一. 什么是三层交换技术?二. 工作原理三. 优点四. 应用场景五. 总结 前言 点个免费的赞和关注,有错误的地方请指出,看个人主页有惊喜。 作者:神的孩子都在歌唱 大家好…

amis组件crud使用踩坑

crud注意 过滤条件参数同步地址栏 默认 CRUD 会将过滤条件参数同步至浏览器地址栏中,比如搜索条件、当前页数,这也做的目的是刷新页面的时候还能进入之前的分页。 但也会导致地址栏中的参数数据合并到顶层的数据链中,例如:自动…

Baklib重塑内容中台智能推荐系统提高服务质量的策略和实操

内容概要 随着信息技术的飞速发展,企业在内容管理和用户体验方面面临越来越多的挑战。在这个大背景下,内容中台的智能化推荐系统应运而生,Baklib作为一个突出的工具,为企业提供了解决方案。Baklib 是什么类型的工具,它…

浅谈 HashMap 的扩容过程和 put 过程

这是在基于 JDK 1.8 之后的源码进行的浅谈 简介: 在 JDK 8 中,HashMap 由 “数组 链表 红黑树” 组成。链表过长会影响查询性能,而红黑树搜索的时间复杂度是 O(logn),而链表则是O(n),JDK 8 对数据结构进行了进一步的…

Unity-Mirror网络框架-从入门到精通之Discovery示例

文章目录 前言Discovery示例NetworkDiscoveryNetworkDiscoveryHUDServerRequestServerResponse最后前言 在现代游戏开发中,网络功能日益成为提升游戏体验的关键组成部分。本系列文章将为读者提供对Mirror网络框架的深入了解,涵盖从基础到高级的多个主题。Mirror是一个用于Un…

25/2/7 <机器人基础> 牛顿-欧拉递推公式,开闭环

牛顿-欧拉递推公式是用于计算刚体动力学中,刚体的角速度和角加速度的递推关系。这个公式是牛顿第二定律和欧拉旋转定理的结合,适用于描述刚体在空间中的旋转运动。 对于一个刚体,设其在某时刻的角速度为 ω,角加速度为 α&#xf…

Qt实现简易视频播放器

使用Qt6实现简易音乐播放器,效果如下: github: Gabriel-gxb/VideoPlayer: qt6实现简易视频播放器 一、整体架构 该代码整体架构围绕着MainWindow类构建一个媒体播放器相关的应用程序。 主要组件 (一)界面组件&…

使用 JFreeChart 创建动态图表:从入门到实战

文章目录 前言一、JFreeChart 简介二、环境准备三、 创建第一个折线图四、自定义图表样式4.1 设置背景色4.2 设置折线颜色4.3 设置字体(解决中文乱码)4.4 设置横坐标的标签宽度和方向 五、导出图表六、实战:动态生成日报图表总结 前言 在数据…

Codeforces Round 940 (Div. 2) and CodeCraft-23(A-D)

题目链接:Dashboard - Codeforces Round 940 (Div. 2) and CodeCraft-23 - Codeforces A. Stickogon 思路 正多边形意味着要用相等的木棍,相等的木棍最少需要3根才能组成正三角,我们把相等的数的数量除3加起来 代码 void solve(){int n;…