精华内容
下载资源
问答
  • Windows Linux子系统

    2019-11-18 10:24:42
    原文链接:...  我们最近宣布了Windows平台上的Ubuntu上的Bash,它使本机Linux ELF64二进制文件可以通过Windows Linux子系统(WSL)在Windows上运行。该子系统是由Microsoft Win...

    原文链接:https://blogs.msdn.microsoft.com/wsl/2016/04/22/windows-subsystem-for-linux-overview/

      我们最近宣布了Windows平台上的Ubuntu上的Bash,它使本机Linux ELF64二进制文件可以通过Windows Linux子系统(WSL)在Windows上运行。该子系统是由Microsoft Windows内核团队创建的,并引起了很多兴奋。我们被问到的最常见问题之一是这种方法与传统虚拟机有何不同。在系列博客文章的第一篇中,我们将概述WSL,它将回答该问题和其他常见问题。在以后的文章中,我们将深入介绍所介绍的组成部分。代表Deepu Thomas发表。
      
      Windows子系统的历史自成立以来,Microsoft Windows NT旨在允许Win32之类的环境子系统向应用程序提供程序化接口,而无需与内核内部的实现细节联系在一起。这使得NT内核在其初始版本中支持POSIX,OS / 2和Win32子系统。
      
      早期的子系统被实现为用户模式模块,这些模块根据提供给该子系统应用程序的API发出适当的NT系统调用。所有应用程序都是PE / COFF可执行文件,是一组用于实现子系统API的库和服务,以及用于执行NT系统调用的NTDLL。当启动用户模式应用程序时,加载程序会基于可执行标头调用正确的子系统来满足应用程序依赖性。
      
      子系统的更高版本替换了POSIX层,以提供基于Unix的应用程序(SUA)的子系统。它由满足以下要求的用户模式组件组成:
      1、进程和信号管理
      2、终端管理
      3、系统服务请求和进程间通信
      
      SUA的主要作用是鼓励应用程序移植到Windows而无需大量重写。这是通过使用NT构造实现POSIX用户模式API来实现的。鉴于这些组件是在用户模式下构造的,因此对于内核模式系统调用(如fork())很难具有语义和性能奇偶性。由于此模型依赖于需要重新编译程序的需求,因此需要持续进行功能移植并且是维护负担。
      
      随着时间的流逝,这些最初的子系统被淘汰了。但是,由于Windows NT内核是为允许新的子系统环境而设计的,因此我们能够使用在该领域进行的最初投资并扩大它们来开发Linux的Windows子系统。
      
      Windows Linux子系统
      
      适用于Linux的Windows子系统WSL是使本机Linux ELF64二进制文件能够在Windows上运行的组件的集合。它包含用户模式和内核模式组件。它主要包括:
      1、处理Linux实例生命周期的用户模式会话管理器服务
      2、Pico提供程序驱动程序(lxss.sys,lxcore.sys)通过转换Linux syscalls托管未修改的用户模式Linux的
      3、Pico进程来模拟Linux内核(例如/ bin / bash)
      用户模式Linux二进制文件和Windows内核组件之间的空间就是神奇的地方。 通过在Pico进程中放置未修改的Linux二进制文件,我们使Linux系统调用可以定向到Windows内核。 lxss.sys和lxcore.sys驱动程序将Linux系统调用转换为NT API,并模拟Linux内核。
    在这里插入图片描述

    LXSS Manager服务
    LXSS Manager服务是Linux子系统驱动程序的代理,也是Bash.exe调用Linux二进制文件的方式。 该服务还用于安装和卸载周围的同步,一次仅允许一个进程执行这些操作,并在操作挂起时阻止启动Linux二进制文件。

    特定用户启动的所有Linux进程都进入Linux实例。 该实例是一个数据结构,可跟踪所有LX进程,线程和运行时状态。 NT进程第一次请求启动Linux二进制文件时,将创建一个实例。

    最后一个NT客户端关闭后,Linux实例将终止。 这包括在实例内部启动的所有进程,包括守护程序(例如git凭据缓存)。

    Pico进程
    作为Project Drawbridge的一部分,Windows内核引入了Pico进程和Pico驱动程序的概念。 Pico进程是OS进程,不存在与诸如Win32 Process Environment Block(PEB)之类的子系统相关的OS服务的陷阱。 此外,对于Pico进程,系统调用和用户模式异常将分派给配对的驱动程序。

    Pico进程和驱动程序为Linux子系统提供了基础,该Windows子系统通过将可执行的ELF二进制文件加载到Pico进程的地址空间中并在与Linux兼容的syscall层上执行来运行本机未修改的Linux二进制文件。

    系统调用
    WSL通过虚拟化Windows NT内核之上的Linux内核接口来执行未修改的Linux ELF64二进制文件。它公开的内核接口之一是系统调用(syscalls)。 syscall是内核提供的一项服务,可以从用户模式下调用。 Linux内核和Windows NT内核都向用户模式公开了数百个syscall,但是它们具有不同的语义,通常不直接兼容。例如,Linux内核包括fork,open和kill之类的东西,而Windows NT内核具有类似的NtCreateProcess,NtOpenFile和NtTerminateProcess。

    Windows Linux子系统包括内核模式驱动程序(lxss.sys和lxcore.sys),这些驱动程序负责与Windows NT内核协同处理Linux系统调用请求。驱动程序不包含Linux内核中的代码,而是Linux兼容内核接口的无尘室实现。在本机Linux上,当从用户模式可执行文件进行syscall时,它由Linux内核处理。在WSL上,当从同一可执行文件进行系统调用时,Windows NT内核会将请求转发到lxcore.sys。在可能的情况下,lxcore.sys会将Linux syscall转换为等效的Windows NT调用,这又会导致繁重的工作。如果没有合理的映射,则Windows内核模式驱动程序必须直接为请求提供服务。

    例如,Linux fork()syscall没有针对Windows记录的直接等效调用。当对Linux的Windows子系统进行fork系统调用时,lxcore.sys会执行一些初始工作来为复制进程做准备。然后,它将调用内部Windows NT内核API,以使用正确的语义创建进程,并完成为新进程复制其他数据的操作。

    文件系统
    WSL中的文件系统支持旨在满足两个目标。

    提供支持Linux文件系统的完整保真度的环境
    允许与Windows中的驱动器和文件互操作
    适用于Linux的Windows子系统提供了类似于真实Linux内核的虚拟文件系统支持。两个文件系统用于提供对用户系统上文件的访问:VolF和DriveF。

    VolFs
    VolFs是一个文件系统,它完全支持Linux文件系统功能,其中包括:

    可以通过诸如chmod和chroot之类的操作来修改Linux权限
    指向其他文件的符号链接
    Windows文件名中通常不包含字符的文件名
    区分大小写
    包含Linux系统,应用程序文件(/ etc,/ bin,/ usr等)和用户Linux主目录的目录均使用VolF。

    不支持Windows应用程序与VolF中的文件之间的互操作性。

    驱动器
    DriveFs是用于与Windows互操作的文件系统。它要求所有文件名均为合法的Windows文件名,使用Windows安全性,并且不支持Linux文件系统的所有功能。文件区分大小写,用户不能创建名称仅按大小写不同的文件。

    使用DriveF将所有固定的Windows卷安装在/ mnt / c,/ mnt / d等下。用户可以在这里访问所有Windows文件。这使用户可以使用自己喜欢的Windows编辑器(例如Visual Studio Code)来编辑文件,并同时使用WSL在Bash中使用开源工具来操作它们。

    展开全文
  • windows linux子系统

    2020-03-06 22:35:06
    2、控制面板-程序-启动或关闭windows功能-适用于linuxwindows子系统 开启 3、重启电脑 ssh连接 配置ssh sudo apt-get remove --purge openssh-server ## 先删ssh sudo apt-get install openssh-server ## 在安装.....

    安装

    1、windows 商店中搜索ubuntu 安装
    2、控制面板-程序-启动或关闭windows功能-适用于linux的windows子系统 开启
    3、重启电脑

    ssh连接

    配置ssh

    sudo apt-get remove --purge openssh-server   ## 先删ssh
    sudo apt-get install openssh-server          ## 在安装ssh  
    vi /etc/ssh/sshd_config
    
    PermitRootLogin yes #允许root登录
    PermitEmptyPasswords no #不允许空密码登录
    PasswordAuthentication yes # 设置是否使用口令验证。
    

    重新启动

    sudo service ssh --full-restart
    
    展开全文
  • Windows-Linux-Linux设置指南:有关Windows Linux子系统入门的深入指南!
  • windows linux子系统文件位置

    万次阅读 多人点赞 2017-10-27 16:51:34
    装完windows linux子系统,子系统的文件在哪呢?没错就在下面(h4ck是用户名): C:\Users\h4ck\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs

    装完windows linux子系统,子系统的文件在哪呢?没错就在下面(h4ck是用户名):
    
    C:\Users\h4ck\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs





    展开全文
  • windows linux 子系统windows terminal的使用。 windows linux (wsl) 其实windows早就为我们准备好了子系统,但是我们的应用商店经常挂掉。因此都用不了。 1、打开应用商店 我的在这里 这里我们搜索WSL,就能进行...

    windows linux 子系统及windows terminal的使用。

    windows linux (wsl)

    其实windows早就为我们准备好了子系统,但是我们的应用商店经常挂掉。因此都用不了。

    1、打开应用商店

    我的在这里

    1590876-20190924221114708-20346223.png

    这里我们搜索WSL,就能进行安装了。
    1590876-20190924221257040-1107116968.png

    直接安装直接用


    2、修复应用商店

    如果有人打不开应用商店就这么做。

    第一步、打开设置
    1590876-20190924221559925-1549248934.png
    第二部、点internet选项
    然后按俩这个玩意就好使了
    1590876-20190924221638189-882436155.png

    3、开启服务

    当然也有人。开启不了服务。
    1590876-20190924221910266-1703088677.png
    在控制面板里。启用功能
    1590876-20190924221941930-1152713277.png


    windows terminal

    升级win10

    1590876-20190924222047520-2131743442.png
    一定要升级
    一定要升级
    一定要升级
    1590876-20190924222134252-604595264.png
    点安装之后重启就OK
    .

    1590876-20190924222202117-1823323692.png

    windows linux 直接输入wsl即可

    1590876-20190924222403018-741449034.png

    下面是

    这是我的配置文件。

    {
        "globals" : 
        {
            "alwaysShowTabs" : false,
            "copyOnSelect" : false,
            "defaultProfile" : "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
            "initialCols" : 120,
            "initialRows" : 30,
            "keybindings" : 
            [
                {
                    "command" : "closePane",
                    "keys" : 
                    [
                        "ctrl+shift+w"
                    ]
                },
                {
                    "command" : "copy",
                    "keys" : 
                    [
                        "ctrl+shift+c"
                    ]
                },
                {
                    "command" : "duplicateTab",
                    "keys" : 
                    [
                        "ctrl+shift+d"
                    ]
                },
                {
                    "command" : "newTab",
                    "keys" : 
                    [
                        "ctrl+shift+t"
                    ]
                },
                {
                    "command" : "newTabProfile0",
                    "keys" : 
                    [
                        "ctrl+shift+1"
                    ]
                },
                {
                    "command" : "newTabProfile1",
                    "keys" : 
                    [
                        "ctrl+shift+2"
                    ]
                },
                {
                    "command" : "newTabProfile2",
                    "keys" : 
                    [
                        "ctrl+shift+3"
                    ]
                },
                {
                    "command" : "newTabProfile3",
                    "keys" : 
                    [
                        "ctrl+shift+4"
                    ]
                },
                {
                    "command" : "newTabProfile4",
                    "keys" : 
                    [
                        "ctrl+shift+5"
                    ]
                },
                {
                    "command" : "newTabProfile5",
                    "keys" : 
                    [
                        "ctrl+shift+6"
                    ]
                },
                {
                    "command" : "newTabProfile6",
                    "keys" : 
                    [
                        "ctrl+shift+7"
                    ]
                },
                {
                    "command" : "newTabProfile7",
                    "keys" : 
                    [
                        "ctrl+shift+8"
                    ]
                },
                {
                    "command" : "newTabProfile8",
                    "keys" : 
                    [
                        "ctrl+shift+9"
                    ]
                },
                {
                    "command" : "nextTab",
                    "keys" : 
                    [
                        "ctrl+tab"
                    ]
                },
                {
                    "command" : "openNewTabDropdown",
                    "keys" : 
                    [
                        "ctrl+shift+space"
                    ]
                },
                {
                    "command" : "openSettings",
                    "keys" : 
                    [
                        "ctrl+,"
                    ]
                },
                {
                    "command" : "paste",
                    "keys" : 
                    [
                        "ctrl+shift+v"
                    ]
                },
                {
                    "command" : "prevTab",
                    "keys" : 
                    [
                        "ctrl+shift+tab"
                    ]
                },
                {
                    "command" : "scrollDown",
                    "keys" : 
                    [
                        "ctrl+shift+down"
                    ]
                },
                {
                    "command" : "scrollDownPage",
                    "keys" : 
                    [
                        "ctrl+shift+pgdn"
                    ]
                },
                {
                    "command" : "scrollUp",
                    "keys" : 
                    [
                        "ctrl+shift+up"
                    ]
                },
                {
                    "command" : "scrollUpPage",
                    "keys" : 
                    [
                        "ctrl+shift+pgup"
                    ]
                },
                {
                    "command" : "switchToTab0",
                    "keys" : 
                    [
                        "ctrl+alt+1"
                    ]
                },
                {
                    "command" : "switchToTab1",
                    "keys" : 
                    [
                        "ctrl+alt+2"
                    ]
                },
                {
                    "command" : "switchToTab2",
                    "keys" : 
                    [
                        "ctrl+alt+3"
                    ]
                },
                {
                    "command" : "switchToTab3",
                    "keys" : 
                    [
                        "ctrl+alt+4"
                    ]
                },
                {
                    "command" : "switchToTab4",
                    "keys" : 
                    [
                        "ctrl+alt+5"
                    ]
                },
                {
                    "command" : "switchToTab5",
                    "keys" : 
                    [
                        "ctrl+alt+6"
                    ]
                },
                {
                    "command" : "switchToTab6",
                    "keys" : 
                    [
                        "ctrl+alt+7"
                    ]
                },
                {
                    "command" : "switchToTab7",
                    "keys" : 
                    [
                        "ctrl+alt+8"
                    ]
                },
                {
                    "command" : "switchToTab8",
                    "keys" : 
                    [
                        "ctrl+alt+9"
                    ]
                }
            ],
            "requestedTheme" : "system",
            "showTabsInTitlebar" : true,
            "showTerminalTitleInTitlebar" : true,
            "wordDelimiters" : " ./\\()\"'-:,.;<>~!@#$%^&*|+=[]{}~?\u2502"
        },
        "profiles" : 
        [
          {
            "acrylicOpacity": 0.5,
            "backgroundImage": "C:/Users/GodofOrange/Pictures/myProfile/powershellbackground.jpg",
            "backgroundImageOpacity": 0.3,
            "background": "#000000",
            "closeOnExit": true,
            "colorScheme": "Campbell",
            "commandline": "powershell.exe",
            "cursorColor": "#FFFFFF",
            "cursorShape": "bar",
            "fontFace": "Consolas",
            "fontSize": 15,
            "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
            "historySize": 9001,
            "icon": "C:/Users/GodofOrange/Pictures/myProfile/powershell.jpg",
            "name": "godoforange",
            "padding": "0, 0, 0, 0",
            "snapOnInput": true,
            "startingDirectory": "%USERPROFILE%",
            "useAcrylic": false
          },
            {
                "acrylicOpacity" : 0.75,
                "closeOnExit" : true,
                "colorScheme" : "Campbell",
                "commandline" : "cmd.exe",
                "cursorColor" : "#FFFFFF",
                "cursorShape" : "bar",
                "fontFace" : "Consolas",
                "fontSize" : 10,
                "guid" : "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
                "historySize" : 9001,
                "icon" : "ms-appx:///ProfileIcons/{0caa0dad-35be-5f56-a8ff-afceeeaa6101}.png",
                "name" : "cmd",
                "padding" : "0, 0, 0, 0",
                "snapOnInput" : true,
                "startingDirectory" : "%USERPROFILE%",
                "useAcrylic" : true
            },
            {
                "acrylicOpacity" : 0.59999999999999998,
                "closeOnExit" : false,
                "colorScheme" : "Vintage",
                "commandline" : "Azure",
                "connectionType" : "{d9fcfdfa-a479-412c-83b7-c5640e61cd62}",
                "cursorColor" : "#FFFFFF",
                "cursorShape" : "bar",
                "fontFace" : "Consolas",
                "fontSize" : 10,
                "guid" : "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
                "historySize" : 9001,
                "icon" : "ms-appx:///ProfileIcons/{b453ae62-4e3d-5e58-b989-0a998ec441b8}.png",
                "name" : "Azure Cloud Shell",
                "padding" : "0, 0, 0, 0",
                "snapOnInput" : true,
                "startingDirectory" : "%USERPROFILE%",
                "useAcrylic" : true
            }
        ],
        "schemes" : 
        [
            {
                "background" : "#0C0C0C",
                "black" : "#0C0C0C",
                "blue" : "#0037DA",
                "brightBlack" : "#767676",
                "brightBlue" : "#3B78FF",
                "brightCyan" : "#61D6D6",
                "brightGreen" : "#16C60C",
                "brightPurple" : "#B4009E",
                "brightRed" : "#E74856",
                "brightWhite" : "#F2F2F2",
                "brightYellow" : "#F9F1A5",
                "cyan" : "#3A96DD",
                "foreground" : "#CCCCCC",
                "green" : "#13A10E",
                "name" : "Campbell",
                "purple" : "#881798",
                "red" : "#C50F1F",
                "white" : "#CCCCCC",
                "yellow" : "#C19C00"
            },
            {
                "background" : "#000000",
                "black" : "#000000",
                "blue" : "#000080",
                "brightBlack" : "#808080",
                "brightBlue" : "#0000FF",
                "brightCyan" : "#00FFFF",
                "brightGreen" : "#00FF00",
                "brightPurple" : "#FF00FF",
                "brightRed" : "#FF0000",
                "brightWhite" : "#FFFFFF",
                "brightYellow" : "#FFFF00",
                "cyan" : "#008080",
                "foreground" : "#C0C0C0",
                "green" : "#008000",
                "name" : "Vintage",
                "purple" : "#800080",
                "red" : "#800000",
                "white" : "#C0C0C0",
                "yellow" : "#808000"
            },
            {
                "background" : "#282C34",
                "black" : "#282C34",
                "blue" : "#61AFEF",
                "brightBlack" : "#5A6374",
                "brightBlue" : "#61AFEF",
                "brightCyan" : "#56B6C2",
                "brightGreen" : "#98C379",
                "brightPurple" : "#C678DD",
                "brightRed" : "#E06C75",
                "brightWhite" : "#DCDFE4",
                "brightYellow" : "#E5C07B",
                "cyan" : "#56B6C2",
                "foreground" : "#DCDFE4",
                "green" : "#98C379",
                "name" : "One Half Dark",
                "purple" : "#C678DD",
                "red" : "#E06C75",
                "white" : "#DCDFE4",
                "yellow" : "#E5C07B"
            },
            {
                "background" : "#FAFAFA",
                "black" : "#383A42",
                "blue" : "#0184BC",
                "brightBlack" : "#4F525D",
                "brightBlue" : "#61AFEF",
                "brightCyan" : "#56B5C1",
                "brightGreen" : "#98C379",
                "brightPurple" : "#C577DD",
                "brightRed" : "#DF6C75",
                "brightWhite" : "#FFFFFF",
                "brightYellow" : "#E4C07A",
                "cyan" : "#0997B3",
                "foreground" : "#383A42",
                "green" : "#50A14F",
                "name" : "One Half Light",
                "purple" : "#A626A4",
                "red" : "#E45649",
                "white" : "#FAFAFA",
                "yellow" : "#C18301"
            },
            {
                "background" : "#002B36",
                "black" : "#073642",
                "blue" : "#268BD2",
                "brightBlack" : "#002B36",
                "brightBlue" : "#839496",
                "brightCyan" : "#93A1A1",
                "brightGreen" : "#586E75",
                "brightPurple" : "#6C71C4",
                "brightRed" : "#CB4B16",
                "brightWhite" : "#FDF6E3",
                "brightYellow" : "#657B83",
                "cyan" : "#2AA198",
                "foreground" : "#839496",
                "green" : "#859900",
                "name" : "Solarized Dark",
                "purple" : "#D33682",
                "red" : "#DC322F",
                "white" : "#EEE8D5",
                "yellow" : "#B58900"
            },
            {
                "background" : "#FDF6E3",
                "black" : "#073642",
                "blue" : "#268BD2",
                "brightBlack" : "#002B36",
                "brightBlue" : "#839496",
                "brightCyan" : "#93A1A1",
                "brightGreen" : "#586E75",
                "brightPurple" : "#6C71C4",
                "brightRed" : "#CB4B16",
                "brightWhite" : "#FDF6E3",
                "brightYellow" : "#657B83",
                "cyan" : "#2AA198",
                "foreground" : "#657B83",
                "green" : "#859900",
                "name" : "Solarized Light",
                "purple" : "#D33682",
                "red" : "#DC322F",
                "white" : "#EEE8D5",
                "yellow" : "#B58900"
            }
        ]
    }
    展开全文
  • LxRunOffline:用于管理Windows Linux子系统(WSL)的功能齐全的实用程序
  • 一、启用 「适用于LinuxWindows子系统 」功能 方法一: Win10搜索 「控制面板 」打开 选择 「程序和功能 」项 左上角 「启用或关闭Windows功能 」 翻到最下方 选择「适用于LinuxWindows子系统 」 确定后按提示...
  • .NET Core多平台开发体验[3]: Linux (Windows Linux子系统) 原文:.NET Core多平台开发体验[3]: Linux (Windows Linux子系统)如果想体验Linux环境下开发和运行.NET Core应用,我们有多种选择。一种...
  • 英文:Tom Fenton,翻译:W.B.(投稿作者)曾经讨论过了应该使用Windows Linux子系统Windows Subsystem for Linux,WSL...
  • 在刚刚发布的 Windows 10 20H1 版本中,Skip Average 提供了一个新功能,允许内部人员使用 Windows 资源管理访问 Windows Linux 子系统(WS...
  • 关于windows下如何安装linux子系统教程很多,可以自行百度,我采用的是Microsoft Store下载安装的方式,但是在启动Ubuntu的时候报错如下: Error: 0x800703fa - Press any key to continue 解决办法,打开服务管理,...
  • windows linux 子系统 wsl体验

    千次阅读 2018-08-30 10:38:05
    环境 windows10 1803 ...启用: 适用于linuxwindows子系统 安装debian windows.store中,下载debian; 安装后rootfs位置: ./Administrator.SC-xxx/AppData/Local/Packages/TheDebian...
  • 1.安装 linux 子系统 2.应用商店安装ubuntu 3.为了方便可以配置成默认登陆root账户 Ubuntu config –default-user root 4. 安装完毕 5.安装netcore ...
  • 4,刷新系统即刻生效,输入命令:sudo fc-cache -fv。 https://blog.csdn.net/u011606175/article/details/81006932 https://blog.csdn.net/xiongshengwu/article/details/53696654 无效方法一: ...
  • 所以尝试了win10自带的linux子系统。然后在应用商店搜索linux推荐debian 系统。安装了之后这个linux就会成为win10里面一个命令行应用,实际运行是这样的:其他感觉应该会和debian原始版差不多,当然没有图形界面,...
  • 在家目录下面: cd /mnt
  • 看到了微软那个炫酷的终端之后,突然间想再次尝试下Windowslinux子系统。主要是想在这里用一下更为流畅的emacs。尝试安装预览版本的终端没有成功,先安装下linux子系统中的emacs吧。 子系统的安装比较顺利,首先...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,852
精华内容 1,940
关键字:

windowslinux子系统

linux 订阅