1. 前言

2016年4月6日,Windows 10 Insider Preview 发布的版本 14316,添加了Ubuntu Bash,在Windows上提供一个Linux环境,可以直接执行Linux命令。

以前在Windows上有Linux仿真器应用 Cygwin,用Cygwin应用把Linux命令编译成Windows下的可执行文件,

这次Win10更进一步,把Linux仿真器加到内核里,作为系统级别的服务提供对原生Ubuntu的支持。

实现这一功能的 Windows Subsystem for Linux(WSL)是在 %windir%\System32\Drivers 下的 lxcore.sys 和 lxss.sys

2. 安装准备

2.1 准备一个微软用户账号

设置 → 账户 → 用Microsoft账号登录 → 创建一个新用户,填写邮箱地址,密码

2.2 用微软账号重新登录Win10

2.3 验证微软用户

设置 → 账户 → 验证 → 填写注册时用的电子邮件 → 电子邮件中确认安全代码 → 输入安全代码

2.4 加入微软评估计划

W10的发布版本是10586,为了获取14316或更高版本,需要加入Windows Insider program

用上面注册得到微软用户登录微软的Windows Insider program网站 https://insider.windows.com/

点击加入,接受

3. 安装Ubuntu Bash

3.1 获取Insider Preview版本

设置 → 更新和安全 → 高级选项 → 获取Insider Preview版本 → 会员级别选择 快或慢

https://developer.microsoft.com/en-us/microsoft-edge/platform/changelog/desktop/10586/

我选择的是慢 安装的Insider Preview版本是14372

3.2 安装Insider Preview版本

等待一段时间后,微软会推送Insider Preview版本过来,

设置 → 更新和安全 → Windows更新

安装更新后,重启

3.3. 打开 开发者模式

设置 → 更新和安全 → 针对开发人员 → 开发人员模式

这个地方有时会有安装失败的警告,不用理它

3.4 添加 Ubuntu Bash

控制面板 → 程序 → 启用Windows功能 → Windows Subsystem for Linux (Beta)

重启,以管理员身份运行命令行,输入bash,开始下载并安装 Ubuntu 镜像

输入Linux用户名和密码,安装完成

4. 使用 Ubuntu Bash

4.1 确认

运行 → bash 打开Bash命令行窗口,执行命令确认

4.2 关于 Ubuntu Bash

这个Ubuntu Bash的根目录是在 %userprofile%\AppData\Local\Lxss\rootfs

4.3 其他

通常安装后,会有 Bash on Ubuntu on Windows 出现在开始菜单,从这里可以直接进入Bash,但我安装后没有出现,可能是Windows版本的原因。

4.4 卸载

打开命令行,执行

lxrun /uninstall /full

加上/full删除用户工作目录

删除Bash on Ubuntu on Windows功能

控制面板 → 程序 → 关闭Windows功能 → Windows Subsystem for Linux (Beta)

4.5 重新安装

打开命令,执行

lxrun /install

5. 后记

因为是 Windows 内核实现了对 Linux 系统调用的兼容支持,它的性能是很高的。以后,想在Windows上玩Linux,再不用安装什么虚拟机或Cygwin了。

Windows系列之(一):Windows10 上运行Ubuntu Bash的更多相关文章

  1. Windows10 上运行Ubuntu Bash

    Windows10 上运行Ubuntu Bash 2016年4月6日,Windows 10 Insider Preview 发布的版本 14316,添加了Ubuntu Bash,在Windows上提供 ...

  2. 在安卓(手机)上运行 Ubuntu (Linux)

    在安卓(手机)上运行 Ubuntu (Linux) 由于x86 和 arm 是跨平台的,所使用的编译器自然也不同.如果要在电脑上编译安卓手机上的程序,则需在电脑端建立ARM交叉编译环境,这个过程是在耗 ...

  3. NAnt0.92版本首次在windows 8.1的机子上运行报错的问题解决

    在官网上下载的0.92版本,各方面都配置好之后,用命令行运行,却提示报错,如下: 具体的错误提示文字是这样的: 获取ConfigurationFileLocation异常. System.Securi ...

  4. 三星 S10 运行 Ubuntu 系统

    导读 DeX 是一种模仿桌面操作系统的用户 UI 界面,把支持 DeX 的三星手机用数据线连上外置显示器,用户就可以获得一种类似桌面系统的使用体验. 三星 S8.Note 8.S9.Note 9.S1 ...

  5. Docker在Linux/Windows上运行NetCore文章系列

    Windows系列 因为Window很简单,VS提供界面化配置,所以只写了一篇文章 Docker在Windows上运行NetCore系列(一)使用命令控制台运行.NetCore控制台应用 Linux( ...

  6. Windows10上安装Linux子系统(WSL2,Ubuntu),配合Windows Terminal使用

    Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具.实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销. WSL 说白了安装Li ...

  7. .netcore跨平台 之 windows上编译,ubuntu上运行

    1 下载并安装netcore sdk    下载地址 https://github.com/dotnet/cli 选取合适的版本下载安装即可 打开 CMD ,输入dotnet,出现以下信息说明已安装好 ...

  8. Docker在Windows上运行NetCore系列(一)使用命令控制台运行.NetCore控制台应用

    系列文章:https://www.cnblogs.com/alunchen/p/10121379.html 本篇文章操作系统信息 Windows:Window 10 Visual Studio:201 ...

  9. Docker在Linux上运行NetCore系列(一)配置运行DotNetCore控制台

    转发请注明此文章作者与路径,请尊重原著,违者必究. 系列文章:https://www.cnblogs.com/alunchen/p/10121379.html 本篇文章操作系统信息 Linux:ubu ...

随机推荐

  1. elementUI 通用确认框

    Util.vue <script> import VueResource from 'vue-resource' function confirm(_this, operate, fun) ...

  2. 如何使用ASP.NET开发基于推技术的聊天室?

    public class Content : System.Web.UI.Page{private void Page_Load(object sender, System.EventArgs e){ ...

  3. Android sdk安装目录中没有platform-tools目录问题详解

    sdk下载地址 http://tools.android-studio.org/index.php/sdk 安装步骤很简单,百度即可. 下面详细说一下,在安装中遇到android sdk下没有plat ...

  4. 使用pt-table-checksum校验MySQL主从复制【转】

    pt-table-checksum是一个基于MySQL数据库主从架构在线数据一致性校验工具.其工作原理在主库上运行, 通过对同步的表在主从段执行checksum, 从而判断数据是否一致.在校验完毕时, ...

  5. 【译】Asp.Net Identity与Owin,到底谁是谁?

    送给正在学习Asp.Net Identity的你 :-) 原文出自 trailmax 的博客AspNet Identity and Owin. Who is who. Recently I have ...

  6. 001_软件waf

    一.优秀的软件waf开源软件 <1>openwaf介绍  http://www.oschina.net/p/openwaf http://git.oschina.net/miracleqi ...

  7. 前后端分离之mockjs基本介绍

    安装与使用 # 安装 npm install mockjs #使用 Mock var Mock = require('mockjs') var data = Mock.mock({ // 属性 lis ...

  8. .NetCore下使用Prometheus实现系统监控和警报 (一)介绍【译】

    [译]原文https://prometheus.io/docs/introduction/overview 什么是Prometheus? Prometheus是一个开源系统监控和警报工具包,最初起源于 ...

  9. mavean项目的jar位置的影响

    由于项目的数据库需求改变了,有mysql数据库变为oracle的,那么对于项目就是需要改变数据库连接池.这个项目运用了mavean框架,那么下载jar在pom.xml文件中填写就可以了,但是oracl ...

  10. 字符串匹配的kmp算法 及 python实现

    一:背景 给定一个主串(以 S 代替)和模式串(以 P 代替),要求找出 P 在 S 中出现的位置,此即串的模式匹配问题. Knuth-Morris-Pratt 算法(简称 KMP)是解决这一问题的常 ...