Windows系列之(一):Windows10 上运行Ubuntu Bash
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的更多相关文章
- Windows10 上运行Ubuntu Bash
Windows10 上运行Ubuntu Bash 2016年4月6日,Windows 10 Insider Preview 发布的版本 14316,添加了Ubuntu Bash,在Windows上提供 ...
- 在安卓(手机)上运行 Ubuntu (Linux)
在安卓(手机)上运行 Ubuntu (Linux) 由于x86 和 arm 是跨平台的,所使用的编译器自然也不同.如果要在电脑上编译安卓手机上的程序,则需在电脑端建立ARM交叉编译环境,这个过程是在耗 ...
- NAnt0.92版本首次在windows 8.1的机子上运行报错的问题解决
在官网上下载的0.92版本,各方面都配置好之后,用命令行运行,却提示报错,如下: 具体的错误提示文字是这样的: 获取ConfigurationFileLocation异常. System.Securi ...
- 三星 S10 运行 Ubuntu 系统
导读 DeX 是一种模仿桌面操作系统的用户 UI 界面,把支持 DeX 的三星手机用数据线连上外置显示器,用户就可以获得一种类似桌面系统的使用体验. 三星 S8.Note 8.S9.Note 9.S1 ...
- Docker在Linux/Windows上运行NetCore文章系列
Windows系列 因为Window很简单,VS提供界面化配置,所以只写了一篇文章 Docker在Windows上运行NetCore系列(一)使用命令控制台运行.NetCore控制台应用 Linux( ...
- Windows10上安装Linux子系统(WSL2,Ubuntu),配合Windows Terminal使用
Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具.实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销. WSL 说白了安装Li ...
- .netcore跨平台 之 windows上编译,ubuntu上运行
1 下载并安装netcore sdk 下载地址 https://github.com/dotnet/cli 选取合适的版本下载安装即可 打开 CMD ,输入dotnet,出现以下信息说明已安装好 ...
- Docker在Windows上运行NetCore系列(一)使用命令控制台运行.NetCore控制台应用
系列文章:https://www.cnblogs.com/alunchen/p/10121379.html 本篇文章操作系统信息 Windows:Window 10 Visual Studio:201 ...
- Docker在Linux上运行NetCore系列(一)配置运行DotNetCore控制台
转发请注明此文章作者与路径,请尊重原著,违者必究. 系列文章:https://www.cnblogs.com/alunchen/p/10121379.html 本篇文章操作系统信息 Linux:ubu ...
随机推荐
- 流媒体技术学习笔记之(十一)Windows环境运行EasyDarwin
流媒体平台框架下载安装 Github下载 下载地址:https://github.com/EasyDarwin/EasyDarwin/releases 解压安装 选择Windows 安装平台的安装包( ...
- javascript私有静态成员
就私有静态成员而言,指的是成员具有如下属性:1.以同一个构造函数创建的所有对象共享该成员.2.构造函数外部不可访问该成员. //构造函数 var Gadget = (function(){ //静态变 ...
- P4549 【模板】裴蜀定理
题目描述 给出n个数(A1...An)现求一组整数序列(X1...Xn)使得S=A1X1+...AnXn>0,且S的值最小 输入输出格式 输入格式: 第一行给出数字N,代表有N个数 下面一行给出 ...
- 浅谈tomcat中间件的优化【转】
今天来总结一下tomcat的一些优化的方案,由于本人才疏学浅,写的不好,勿喷! tomcat对于大多数从事开发工作的童鞋应该不会很陌生,通常做为默认的开发环境来为大家服务,不过tomcat默认的一些配 ...
- 创蓝语音服务(语音通知验证码).net
public static string PostUrl = "http://zapi.253.com/msg/HttpBatchSendSM"; static void Main ...
- Linux6.5 安装Python3.X(转载)
1.获取Python 3.6.3 通过官网https://www.python.org/downloads/下载Python 3.4.3源码: 源码获取命令如下:wget https://www.py ...
- .NET C# Tostring format 格式化字符串
一.数值型 formatCode 是可选的格式化代码字符串.必须用“{”和“}”将格式与其他字符分开.如果恰好在格式中也要使用大括号,可以用连续的两个大括号表示一个大括号,即: “{{”或者“}}”. ...
- 接收二进制流(ArrayBuffer) ,并且显示二进制流图片
1.调用接口,返回二进制流数据 var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { && xhr ...
- axios笔记
参考:http://www.cnblogs.com/Upton/p/6180512.html https://cloud.tencent.com/developer/article/1098141 ...
- Java中抽象类概述
抽象类 1.抽象类的定义 抽象类是为子类提供一个规范,这就必须联系到继承: 抽象类的制定就是让子类继承的: public abstract 类名{ //类体 //抽象方法 修饰符 abstract ...