介绍

适用于 Windows 的 Linux 子系统(英语:Windows Subsystem for Linux,简称 WSL)是一个为在 Windows 10 和 Windows Server 2019 上能够原生运行 Linux 二进制可执行文件(ELF 格式)的兼容层。

准备工作

确保当前系统版本号高于 1607(Build 14393.10)。

安装 Linux 子系统

1、安装前要修改一些系统设置,首先在开始菜单中选择 设置 -> 更新与安全 -> 开发者选项,选择第三项 开发人员模式



2、在 控制面板程序和功能 打开 启用或关闭 Windows功能 , 勾选 适用于 Linux 的 Windows 子系统,点击确定,等待系统配置完后重新启动电脑。



3、打开 Windows PowerShell 输入以下命令:

lxrun /install /y



安装时间可能会很长,视网络情况而定,安装完成后会要求设置 root 帐号和密码,按照提示操作即可。

4、下载的文件在 %localappdata%\lxss 目录下 lxss.tar.gz (181M),解压后大概500M,rootfs 目录即为子系统根目录,下文中的修改文件操作可以直接在目录中操作。

开启 SSH 访问

Windows 10 的 Linux 子系统已经安装了 SSH 服务,但是默认是没有开启的,需要手动启动 SSH 服务:

sudo service ssh start

开启服务之后尝试用客户端登录,发现需要使用证书登录,所以需要修改 SSH 的配置。

使用 vim 编辑 /etc/ssh/sshd_config 文件:

sudo vi /etc/ssh/sshd_config

修改如下内容:

# PermitRootLogin prohibit-password # 注释掉
PermitRootLogin yes # 添加这行
# StrictModes yes # 注释
PasswordAuthentication yes # 允许密码登录

修改完成后重启 SSH 服务:

sudo service ssh restart

查看 SSH 服务状态:

sudo service ssh status

若服务正常启动,便可以通过 SSH 客户端连接了。

卸载 Linux 子系统

如果不想使用 Linux 子系统了,可以通过 lxrun 提供的命令行工具进行卸载:

lxrun /uninstall

其他说明

从命令行中可以看到 lxrun 工具只是提供了旧版的安装方式,在后期的更新中微软提供了其他的安装方式,可以通过 Windows 10 系统的应用商店进行安装。

警告: lxrun.exe 仅用于配置适用于 Linux 的 Windows 子系统的旧分发版。
可以通过访问 Microsoft Store 来安装分发版:
https://aka.ms/wslstore 这将在 Windows 上安装由 Canonical 分发的 Ubuntu,其授权所遵循的条款请参见此链接:
https://aka.ms/uowterms

Microsoft Store 中目前提供了更多版本的 Linux 子系统。

Windows 10 下 Linux 子系统的安装和使用的更多相关文章

  1. Windows 10下mysql 64位 安装(mysql-5.7.11-winx64安装)

    Windows下mysql 64位 安装(mysql-5.7.11-winx64安装) 系统Windows10 安装包mysql-5.7.11-winx64.zip 安装过程中遇到的问题,请留意4.0 ...

  2. windown下linux子系统的安装和卸载

    原文:windown下linux子系统的安装和卸载 安装 第一步  打开开发人员模式 第二步  勾选适用linux的window子系统 第三步  打开powershell 第四步  在PowerShe ...

  3. 【ASP.NET Core】在Win 10 的 Linux 子系统中安装 .NET Core

    在上一篇文章中,老周扯了一下在 Windows 10 中开启 Linux 子系统,并且进行了一些简单的设置.本篇咱们就往上面安装 .net core . 老周假设你从来没有用过 Linux,所以,接着 ...

  4. Windows 10下使用U盘安装Ubuntu双系统

    问题描述:在Windows10下安装Ubuntu. 使用工具:Windows10.Ubuntu16.04 LTS安装包.UltraISO.easyBCD. 操作步骤: 1.安装之前要给Ubuntu分出 ...

  5. Windows 10 下 GCC / LLVM 的安装和使用

    win10下gcc的安装和makehttps://www.jianshu.com/p/46824c62dfed 方案1:直接官方下载安装minGw或Cygwininstall download: ht ...

  6. Windows 10下使用WMware 12 安装Ubuntu16.04,安装过程(附全过程图)

    序言:菜鸡的我又开始瞎搞Ubuntu了 首先在网下下载VMware 12 正常安装即可 关于产品密匙问题:5A02H-AU243-TZJ49-GTC7K-3C61N (这是我在网上找的密匙,反正自己是 ...

  7. WIN10下安装Linux子系统并安装xface4界面

    WIN10下安装Linux子系统并安装xface4界面,使用win10自带的远程桌面工具登陆成功. 成功截图: 安装步骤 1.安装[适用于Linux的Windows子系统]组件 2.win10应用商店 ...

  8. 【Flutter 1-2】在 Windows 10下安装Flutter+Dart+Android Studio 配置Flutter开发环境

    在 Windows 10下安装Flutter+Dart+Android Studio 配置Flutter开发环境 文章首发地址 配置环境变量 由于部分网站被墙的原因,我们需要先配置Flutter国内镜 ...

  9. Windows 10下CUDA及cuDNN的安装 —— Pytorch

    Windows 10下CUDA及cuDNN的安装 CUDA简介与下载地址 CUDA(ComputeUnified Device Architecture),是显卡厂商NVIDIA推出的运算平台. CU ...

随机推荐

  1. 如何确认oracle客户端中的TNSNAMES中的service_name

    在我们安装oracle的客户端,或者PLSQL develop的时候,需要在oracle的安装目录下修改TNSNAME中配置你要连接的数据库的TNS参数.配置好了可以通过命令行使用tnsping命令测 ...

  2. CentOS7系统下GitLab的安装、汉化、修改默认端口、开启发送邮箱

    一.centos7.4 下安装及汉化 =============================================== 2017/11/12_第6次修改                  ...

  3. 《高性能mysql》笔记(第一章,mysql的架构与历史)

    mysql的服务器逻辑架构图如下: 目前工作用的5.5版本,5.5版本开始mysql开始将innoDB作为默认的存储引擎,innoDB的表是基于聚簇索引建立的. mysql的存储引擎锁管理非常重要,在 ...

  4. Angular 自定义模块以及配置路由实现模块懒加载

    项目目录 创建模块 ng g module module/user --routing ng g module module/article --routing ng g module module/ ...

  5. ASP程序中调用Now()总显示“上午”和“下午”,如何解决?

    ASP程序中调用Now()总显示这样的格式:“2007-4-20 下午 06:06:38”,我要的正确格式为“2007-4-20 18:06:38”,我已经通过控制面板==>区域和语言选项==& ...

  6. nginx在windows系统中如何启动、重启、停止

    nginx在windows系统中如何启动.重启.停止   查看nginx的版本号:nginx -v 启动nginx:start nginx 快速停止或关闭nginx:nginx -s stop 正常停 ...

  7. C#子线程执行完后通知主线程(转)

    其实这个比较简单,子线程怎么通知主线程,就是让子线程做完了自己的事儿就去干主线程的转回去干主线程的事儿.  那么怎么让子线程去做主线程的事儿呢,我们只需要把主线程的方法传递给子线程就行了,那么传递方法 ...

  8. iis启动异常 0x80072749

    错误提示: “/”应用程序中的服务器错误. 无法向会话状态服务器发出会话状态请求.请确保 ASP.NET State Service (ASP.NET 状态服务)已启动,并且客户端端口与服务器端口相同 ...

  9. laravel服务提供者类说明

    IoC 是将内部设计的类交给系统去控制,但是有些类在初始化的时候,需要制定特定的参数,或者当你需要将实现类绑定到某个接口,这时候就必须对这些依赖进行配置,系统才能正确解析并引用. register 而 ...

  10. MySQL学习笔记——MySQL5.7的启动过程(一)

    MySQL的启动函数在 sql/main.cc 文件中. main.cc: extern int mysqld_main(int argc, char **argv); int main(int ar ...