0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Windows 子系统助力 Linux 2.0

vinww特烦恼 2023-01-04 11:17 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

长期以来,Linux 和 Windows 之间的互操作一直是系统操作员面临的挑战。在过去的 20 年里,系统管理员使用模拟器、虚拟机,甚至重新编译的 UNIX 二进制文件在 Windows 上运行,以便访问他们需要的工具来管理在不同于他们的工作站的操作系统上运行的应用程序和服务。在运行 Windows 作为其标准化桌面操作系统的企业中工作的系统管理员和安全工程师必须找到创造性的方法来管理他们的 Linux 系统,而不仅仅是与运行 Linux 的远程主机的久经考验的真正安全外壳 (SSH) 连接。在过去的几年中,Microsoft 转向更明确地支持 Linux(以及一般的开源工具)。它将 SSH 直接整合到 Windows 中,允许系统管理员远程连接到其他 Linux 系统而无需第三方工具。2020 年 4 月,微软宣布发布 Windows Subsystem for Linux 2.0(WSL 2),它直接从 Windows 工作站直接支持 Linux 的最新版本。

20 多年来,Microsoft 一直支持 *NIX 操作系统。1999 年,Microsoft 发布了 UNIX 服务 (SFU),其中包括一个 POSIX 兼容模拟器,能够运行专门为其编译的 UNIX 软件子集。2016 年,微软发布了 Windows Subsystem for Linux 1.0(WSL 1),它提供了一个 Linux“兼容”的内核接口。使用 WSL 1,您可以在安装 Windows 的同时安装流行的 Linux 发行版。体验很好,尽管性能有时比运行 Linux 的虚拟机 (VM) 慢,并且并非所有硬件功能和系统调用都已启用。但对于需要在其 Windows 工作站上可在本地广泛访问的 Linux 环境的用户而言,WSL 1 成为了一个可靠的选择。

Microsoft 更新 WSL 2 架构有两个明确的主要目标:提高文件系统性能和添加完整的 Linux 系统调用兼容性。与 WSL 1 不同,WSL 2 依赖于 Linux 环境和 Windows 主机之间的转换层,WSL 2 将使用实际的 Linux 内核,Microsoft 将其调整为专门与其实现架构一起运行。WSL 2 内核将位于 Windows 管理程序之上的虚拟机中,与 Windows 操作系统本身并行。WSL 2 使用比 WSL 1 更多的虚拟化技术,但它的架构与简单地在 Hyper-V 上作为 VM 运行 Linux 发行版有很大不同。

与 WSL 1 一样,WSL 2 将支持您可以并行安装和运行的多个发行版。但是,每个发行版都将在一个公共虚拟机中运行,以尽可能保持 VM 的轻量级和主机系统的高性能。当您终止 Linux 应用程序时,VM 也会停止。WSL 管理运行 Linux 内核的 VM 与 Windows 用户界面之间的通信。例如,WSL 将标准输入输出从 VM 重定向到主机系统。(这意味着当您从 WSL 2 中运行 Bash shell 时,您将在 Windows 工作站的新窗口中看到输出。)

将 WSL 迁移到 VM 架构需要 Microsoft 更改在 Windows 和 Linux 环境之间访问文件的方式。在 WSL 1 中,Windows 和 Linux 环境共享相同的操作系统,并且在两个环境之间访问文件是直接的,因为 Linux 环境可以访问 Windows 新技术文件系统 (NTFS)。但是,由于 WSL 2 作为虚拟机运行,Microsoft 需要一种不同的方法来使文件系统对每个环境可见。Microsoft 利用文件服务器技术(预览版使用 Plan 9/9P 协议)在 Windows 和 Linux 环境之间提供文件服务。根据发出请求的环境,Windows 或 Linux 环境都可以充当文件服务器或客户端。例如,如果你想从 Linux 访问存储在 Windows 上的文件,

尽管采用了这种新架构,微软仍强调要确保 WSL 2 用户体验尽可能保持无缝。例如,通过在环境之间重定向标准输入和输出并使用文件服务器技术,您可以启动 Windows 编辑器来更改 Linux 文件。同样,在 Linux 环境中,您可以从 Bash 启动 cmd.exe 或 PowerShell 以对 Linux 文件进行操作,尽管二进制文件是从 Windows 环境运行的。

要安装 WSL 2,请订阅 Windows Insider 预览程序并将您的测试 Windows 10 工作站至少升级到版本 18917 或更高版本。

在提升的 PowerShell 提示符下,运行命令:

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

并重新启动您的工作站。

将 WSL 的默认版本设置为 2.0 版:

wsl --set-default-version 2

访问 Microsoft 商店并按照说明下载并安装所需的发行版。该商店包括许多流行的发行版,包括 Ubuntu、openSUSE、Debian 甚至安全发行版 Kali。

安装 kali 后,打开管理员 PowerShell 终端并通过运行以下命令确保 Kali 正在使用 WSL 2 运行:

wsl -l -v

要启动新安装的 Kali 发行版,请运行以下命令:

kali

Kali 将从这里开始,你可以像典型的 Linux 控制台一样操作,但现在可以使用 WSL 1 中不可用的一些工具。例如,在你更新和升级你的发行版之后,

sudo apt update

sudo apt upgrade

从这里,您可以下载并安装所需的程序,并且可能会对 WSL 2.0 提供的更广泛的兼容性感到惊喜。虽然官方发布日期尚未公布,但 WSL 2 已包含在 Windows 预览计划中。单击此处了解有关 WSL 的更多信息和详细信息,以及它是否可以很好地添加到您自己的工作站中。

结论

从您的主工作站访问您需要的所有工具可能会节省您的时间和精力,而 Microsoft 的 WSL2 使 Linux 管理员可以更轻松地从他们的 Windows 工作站访问他们的 Linux 工具。Microsoft 继续推进 WSL,为更多系统调用提供增强的性能和更广泛的支持,这意味着与系统管理员每天使用的工具具有更好的兼容性。WSL2 使得使用来自任一环境的常用工具在 Windows 和 Linux 环境中查找和编辑文件变得更加容易。

审核编辑hhy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    88

    文章

    11826

    浏览量

    219620
  • WINDOWS
    +关注

    关注

    4

    文章

    3709

    浏览量

    94356
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Elektrobit EB civion平台助力SDV 2.0智能座舱开发

    基于此,Elektrobit推出EB civion——一套专为SDV 2.0设计的智能座舱工程化工具链与开发平台,助力行业实现从研发到量产的高效一体化转型。
    的头像 发表于 01-26 10:05 2232次阅读

    EVAL_7116G_100V_SSO8评估板:助力功率电子系统设计

    EVAL_7116G_100V_SSO8评估板:助力功率电子系统设计 在功率电子系统的设计和开发过程中,评估板是工程师们验证和测试关键组件性能的重要工具。今天,我们就来详细探讨一下Infineon
    的头像 发表于 12-19 11:35 700次阅读

    【书籍评测活动NO.67】成为硬核Linux开发者:《Linux 设备驱动开发(第 2 版)》

    Linux设备模型(LDM) ,助力读者理解kobject/kset的设备管理逻辑及sysfs暴露设备属性的方式,为开发高效稳定的驱动提供理论与实践支撑。第4篇:嵌入式领域内的多种内核子系统本篇章将前面
    发表于 11-17 17:52

    WindowsLinux环境下分别使用Olimex和蜂鸟调试器下载程序

    程序时,可以使用Windows+Olimex+cmd的方式开发和运行程序。 在Windows/Linux系统下使用蜂鸟调试器时,可以按照官方quick start https
    发表于 10-31 08:26

    ENV-Windows v2.0.0 问题答疑 | 技术集结

    ;A1.ENV2.0有必要更新吗?老版本内核不能使用了吗?解答:RT-ThreadENV仓库已明确说明版本兼容性:env-linux-v2.0和env-windows-v2.0仅完整
    的头像 发表于 10-26 10:03 534次阅读
    ENV-<b class='flag-5'>Windows</b> v2.0.0 问题答疑 | 技术集结

    WindowsLinux 系统切换:聚徽工控一体机的系统迁移避坑经验

    一、引言 在工业自动化领域,工控一体机作为核心控制设备,其操作系统选择至关重要。Windows 系统以其友好的图形界面和丰富的软件资源,在工业监控、数据采集等场景广泛应用;而 Linux
    的头像 发表于 06-24 16:09 996次阅读

    基于 ROS + ADI 芯片方案 的 人形机器人子系统级BOM清单(以腿部子系统为例)

    基于 ROS + ADI 芯片方案 的 人形机器人子系统级BOM清单 (以 腿部子系统 为例),包括核心感知、执行与通信模块,配合主控系统通过 ROS2 实现分布式控制与状态反馈。 一、腿部
    的头像 发表于 06-17 17:06 2335次阅读

    迅为RK3568开发板新增topeet子系统-在产品中新增子系统

    build/subsystem_config.json文件中增加名为topeet的子系统,在3.4节已经新建了topeet 文件夹存放子系统代码。添加 topeet 子系统进行一个登记,说明
    发表于 06-16 10:43

    龙芯处理器支持WINDOWS吗?

    龙芯处理器目前不支持原生运行Windows操作系统,主要原因如下: 架构差异 龙芯架构:龙芯早期基于MIPS架构,后续转向自主研发的LoongArch指令集(与x86/ARM不兼容
    发表于 06-05 14:24

    请问在Windows10下可以安装USB2.0驱动么?

    请问在Windows10下可以安装USB2.0驱动么?为什么HID的实例无法运行,且用烧录程序后,这样显示,能具体告知如何正确导入hid_kd程序么,如何让CY7C68013实现HID功能么?
    发表于 06-03 10:22

    聚徽厂家解码——工控机操作系统选择:WindowsLinux、QNX 如何匹配工业场景

    在工业自动化进程不断推进的当下,工控机作为核心设备,其操作系统的恰当选择对工业生产的稳定性、高效性和安全性起着决定性作用。常见的 WindowsLinux 和 QNX 操作系统,各自
    的头像 发表于 05-29 16:28 1876次阅读

    迅为RK3568开发板驱动指南GPIO子系统GPIO子系统API函数的引入

    迅为RK3568开发板驱动指南GPIO子系统GPIO子系统API函数的引入
    的头像 发表于 05-29 14:05 1238次阅读
    迅为RK3568开发板驱动指南GPIO<b class='flag-5'>子系统</b>GPIO<b class='flag-5'>子系统</b>API函数的引入

    安科瑞 EMS2.0 微电网能效管理系统助力工业工厂管理

    18721098782*安科瑞 在工业领域,实现高效的能源管理对于工厂的可持续发展至关重要。安科瑞 EMS2.0 微电网能效管理系统为工业工厂提供了全面、智能的能源管理解决方案。 解决客户难点 能耗
    的头像 发表于 05-27 14:10 979次阅读
    安科瑞 EMS<b class='flag-5'>2.0</b> 微电网能效管理<b class='flag-5'>系统</b><b class='flag-5'>助力</b>工业工厂管理

    RK3568驱动指南|第十二篇 GPIO子系统-第135章 GPIO子系统与pinctrl子系统相结合实验

    RK3568驱动指南|第十二篇 GPIO子系统-第135章 GPIO子系统与pinctrl子系统相结合实验
    的头像 发表于 05-23 13:47 1236次阅读
    RK3568驱动指南|第十二篇 GPIO<b class='flag-5'>子系统</b>-第135章 GPIO<b class='flag-5'>子系统</b>与pinctrl<b class='flag-5'>子系统</b>相结合实验

    不借助Linux系统,在Windows下如何搭建ZMC900E交叉编译环境

    不需要依赖笨重的虚拟机,也不需要安装双系统。抛开繁琐的环境准备,在Windows上轻松搭建交叉编译环境。本文将介绍如何在Windows上搭建交叉编译环境,不借助Linux
    的头像 发表于 05-21 11:34 1129次阅读
    不借助<b class='flag-5'>Linux</b><b class='flag-5'>系统</b>,在<b class='flag-5'>Windows</b>下如何搭建ZMC900E交叉编译环境