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 ...
随机推荐
- systemd的电源管理
ArchLinux早就使用systemd替代了init脚本. 不用图形界面.或者使用 i3.awesome 这样简单的窗口管理器时,systemd 可以替代 acpid 处理 ACPI 事件. 注意: ...
- 分布式文件系统 之 数据块(Block)
众所周知,HDFS中以数据块(block)为单位进行存储管理.本文简单介绍一下HDFS中数据块(block)的概念,以及众多分布式存储系统(不止是HDFS)使用block作为存储管理基本单位的意义. ...
- 第9月第9天 CTFramesetterCreateWithAttributedString
1. NSString *text = @"This\nis\nsome\nmulti-line\nsample\ntext."; UIFont *uiFont = [UIFont ...
- MD5小彩虹表
为方便日常查询,需要一个MD5小彩虹表,当然网上有比较多的这样的查询站点,但感觉最近使用起来十分不便. 因此,编写一个小程序,用来查询一些经常出现的MD5,也即弱口令MD5查询.采用python3编写 ...
- 【工具】用命令行与Python使用YARA规则
1.前言 YARA是一款旨在帮助恶意软件研究人员识别和分类恶意软件样本的开源工具,使用YARA可以基于文本或二进制模式创建恶意软件家族描述与匹配信息.现在已经被多家公司所运用于自身的产品. 2.YAR ...
- python模块分析之time和datetime模块
前言 我们使用time和datetime模块的主要目的是对时间戳.时间字符串.时间元组等时间的表述对象进行相互的转化.而我们平时编码涉及两个时间:一个是上海时间,也可以说是北京时间,一个是UTC时间, ...
- android的USB MTP && USB CDC/USBnet(ECM, NCM, ACM) && USB gardget
MTP的全称是Media Transfer Protocol(媒体传输协议),它是微软公司提出的一套媒体文件传输协议.早在智能手机普及前,数码相机和MP3播放器等都使用了MTP的前身PTP(Pictu ...
- 优化MySQL的21个建议 – MySQL Life【转】
今天一个朋友向我咨询怎么去优化 MySQL,我按着思维整理了一下,大概粗的可以分为21个方向. 还有一些细节东西(table cache, 表设计,索引设计,程序端缓存之类的)先不列了,对一个系统,初 ...
- webapck编译打包stylus文件
先安装css-loader.stylus.stylus-loader npm install --save-dev css-loader npm install --save-dev stylus n ...
- .NetCore下使用Prometheus实现系统监控和警报 (三)集成Grafana
有了前面InfluxDB的经验,这里就很好处理了,数据类型选择Prometheus选地址等,填好保存 同样通过导入数据处理,我们在https://grafana.com/dashboards上选择Da ...