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

    文章

    11628

    浏览量

    217966
  • WINDOWS
    +关注

    关注

    4

    文章

    3694

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

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

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

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

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

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

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

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

    RK3568驱动指南|第十二篇 GPIO子系统-第135章 GPIO子系统与pinctrl子系统相结合实验
    的头像 发表于 05-23 13:47 746次阅读
    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 649次阅读
    不借助<b class='flag-5'>Linux</b><b class='flag-5'>系统</b>,在<b class='flag-5'>Windows</b>下如何搭建ZMC900E交叉编译环境

    如何将FX3与WSL(LinuxWindows 子系统)一起使用?

    如何将 FX3 与 WSL(LinuxWindows 子系统)一起使用? 我在 /dev/ 中找不到任何设备 我有许多项目在 Windows 上使用VISUAL STUDIO项目
    发表于 05-06 07:11

    嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-input子系统之input子系统简介

    Linux系统中,Input子系统是一个用于处理输入设备的软件框架。它提供了一种统一的接口和机制,使得各种输入设备(如键盘、鼠标、触摸屏、游戏手柄等)能够与Linux
    发表于 04-15 10:42

    飞凌嵌入式ElfBoard ELF 1板卡-input子系统之input子系统简介

    Linux系统中,Input子系统是一个用于处理输入设备的软件框架。它提供了一种统一的接口和机制,使得各种输入设备(如键盘、鼠标、触摸屏、游戏手柄等)能够与Linux
    发表于 04-15 10:27

    嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-Pinctrl和GPIO子系统之GPIO子系统

    软件控制设备上的GPIO信号。在Linux的GPIO子系统中,提供了一组API函数来管理和操作GPIO引脚。以下是一些常用的GPIO子系统API函数:gpio_request():请求一个GPIO引脚
    发表于 03-25 13:29

    飞凌嵌入式ElfBoard ELF 1板卡-Pinctrl和GPIO子系统之GPIO子系统

    软件控制设备上的GPIO信号。在Linux的GPIO子系统中,提供了一组API函数来管理和操作GPIO引脚。以下是一些常用的GPIO子系统API函数:gpio_request():请求一个GPIO引脚
    发表于 03-24 15:41

    飞凌嵌入式ElfBoard ELF 1板卡-Pinctrl和GPIO子系统之Pinctrl子系统

    pinctrl(Pin Control)子系统Linux内核中的一个模块化子系统,用于管理和控制硬件引脚(Pin)的配置和功能。它提供了一种统一的接口,使驱动程序可以对硬件引脚进行灵活的配置和控制
    发表于 03-22 09:23

    详解deepin 25 Preview的Distrobox子系统

    为解决根社区仓库部分软件包缺失,或版本不满足用户需求的问题,deepin 结合 Distrobox 方案,在商店上架了 Debian、Ubuntu、Arch Linux、 Fedora 子系统镜像
    的头像 发表于 01-24 09:15 2025次阅读
    详解deepin 25 Preview的Distrobox<b class='flag-5'>子系统</b>

    罗彻斯特电子的商用航空电子助力经验证的航空电子系统

    助力经验证的航空电子系统 半导体生命周期管理对长生命周期的航空航天系统至关重要。首先,这些系统已经经过广泛测试和验证,具有高可靠性和良好的性能记录。如果使用新的、未经测试的
    的头像 发表于 01-21 09:24 1032次阅读
    罗彻斯特电子的商用航空电子<b class='flag-5'>助力</b>经验证的航空电<b class='flag-5'>子系统</b>

    Ubuntu系统的优缺点分析 Ubuntu系统Windows的比较

    Ubuntu是一个基于Linux的开源操作系统,它以其稳定性、安全性和社区支持而闻名。以下是对Ubuntu系统优缺点的分析,以及与Windows系统
    的头像 发表于 12-12 14:31 5379次阅读