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. js拾遗: 函数字面量

    今天落叶同学发我一篇文章,我看到一个"新"名词 "函数字面量" (也可叫直接量),当时我就郁闷了,这是什么东西? 我怎么没听说过..回头翻了下权威指南,在第 4 ...

  2. [R语言]读取文件夹下所有子文件夹中的excel文件,并根据分类合并。

    解决的问题:需要读取某个大文件夹下所有子文件夹中的excel文件,并汇总,汇总文件中需要包含的2部分的信息:1.该条数据来源于哪个子文件夹:2.该条数据来源于哪个excel文件.最终,按照子文件夹单独 ...

  3. bug处理

    当提示405 method not allowed 时候,路由可能有问题,看看路由是get/post 是否合格

  4. html中的body和head有什么区别??

    我的html文件如下: <html> <title>这是我的测试</title> <head> my test </head> <bo ...

  5. DSO 优化代码中的 Schur Complement

    接上一篇博客<直接法光度误差导数推导>,DSO 代码中 CoarseInitializer::trackFrame 目的是优化两帧(ref frame 和 new frame)之间的相对状 ...

  6. linux笔记_day12_shell编程

    1.shell中如何进行算术运算 A=1 B=2 1)let 算术运算表达式 let C=$A+$B 2)$[算术运算表达式] C=$[$A+$B] 3)$(($A+$B)) 4) expr 算术表达 ...

  7. fish(自动推荐命令;语法高亮等)

    Fish 是 Linux/Unix/Mac OS 的一个命令行 shell,有一些很好用的功能. 自动推荐 VGA 颜色 完美的脚本支持 基于网页的配置 帮助文档自动补全 语法高亮 以及更多 自动推荐 ...

  8. tomcat启动报错:Injection of autowired dependencies failed

    tomcat启动报错:Injectjion of autowired dependencies failed 环境: 操作系统:centos6.5 tomcat: 7.0.52 jdk:openjdk ...

  9. fedroa20中将ssh,ssl升级到当前最新版本

    Fedroa20下手工安装openssh-server 本例以Fedroa20为例,需要下载:zlib-1.2.8.tar.openssl-1.0.2e.tar. openssh-7.1p1.tar. ...

  10. MongoDB学习笔记-2(使用java连接Mongo)

    本人使用maven创建的java工程,mongo-java-driver使用的是3.2.2,这个驱动2.x和3.x是有差异的 pom.xml配置加入: <dependency> <g ...