Windows10 上运行Ubuntu Bash

Windows10 上运行Ubuntu Bash

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版本的原因。

5. 后记

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

微软这个号称 Win10与Ubuntu合体 的技术的推出,提供 Linux 兼容的 API ,理论上可以很好的支持现有的所有 Docker 镜像,将有助于为 Docker 进入 Windows 铺路,意义重大。

时间: 2024-08-19 01:58:01

Windows10 上运行Ubuntu Bash的相关文章

windows10上运行Linux Bash Shell

前言 对于熟悉Linux运维的工程师,如果能在Windows上运行Bash shell的话,会比用可恶的dos命令舒服得多.Windows确实提供了这样的功能. 1.打开开发者模式 "设置"->"更新和安全"->"开发者选项"->"开发人员模式" 2.安装"适用于Linux的Windows子系统" 按提示重启电脑 3.安装 运行-cmd-输入bash 提示访问https://aka.ms/

odoo12 - 关于odoo12在windows10上运行的配置问题

配置一个python配置文件,配置如下: -u表示,运行就直接升级之后对应的模块. 但是发现的一个问题,正常运行没有问题,但是打不了debug,报错如下: pydev debugger: process 12336 is connecting Connected to pydev debugger (build 192.7142.56) Process finished with exit code -1073740940 (0xC0000374) 起初以为是错误编号,找了一堆都解决不了,直到看

如何在ubuntu 64 11.04 上运行32位程序

在网上查了很多资料,发现在在ubuntu 64 11.04 上运行32位程序要装一个ia32-libs的包,可执行如下命令,却提示无法安装 apt-get install ia32-libs 难道11.04的安装源给整坏了!!! 经过查了很多很多的外国网站,找到很多方法,都无效! 最后找到一种,将就可以用 apt-get install libstdc++6 apt-get install lib32stdc++6 apt-get install lib32z1 在这里深深的鄙视百度,你搜索出来

Win10运行Ubuntu图形界面程序

Win10专业版升级到最新微软周年更新版本,在Win10上安装 Xming for windows后启动Xming,并启用Ubuntu子系统. 然后,运行cmd,敲bash进入bash,输入: [plain] view plain copy sudo apt-get install x11-apps 安装完成后,再输入: [plain] view plain copy DISPLAY=:0 xeyes 就可以在Windows10下运行起Ubuntu的xeyes程序了,如图: Windows程序与

Windows Ubuntu Bash申请免费通配符证书(Let's Encrypt)并绑定IIS

什么是 Let’s Encrypt? 部署 HTTPS 网站的时候需要证书,证书由 CA 机构签发,大部分传统 CA 机构签发证书是需要收费的,这不利于推动 HTTPS 协议的使用. Let’s Encrypt 也是一个 CA 机构,但这个 CA 机构是免费的!!!也就是说签发证书不需要任何费用. 什么是通配符证书 在没有出现通配符证书之前,Let’s Encrypt 支持两种证书. 1)单域名证书:证书仅仅包含一个主机. 2)SAN 证书:一张证书可以包括多个主机(Let’s Encrypt

Linux上运行NET

今天尝试了下Ubuntu上运行NET程序,按照 https://github.com/aspnet/Home 的指引,一步一步来: 1.安装DNVM(原名KVM) Linux控制台下输入 curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh | DNX_BRANCH=dev sh && source ~/.dnx/dnvm/dnvm.sh 2.安装DNX(原名KRE) dnvm upgrade

如何实现在Windows上运行Linux程序,附示例代码

如何实现在Windows上运行Linux程序,附示例代码 微软在去年发布了Bash On Windows, 这项技术允许在Windows上运行Linux程序, 我相信已经有很多文章解释过Bash On Windows的原理,而今天的这篇文章将会讲解如何自己实现一个简单的原生Linux程序运行器, 这个运行器在用户层实现, 原理和Bash On Windows不完全一样,比较接近Linux上的Wine. 示例程序完整的代码在github上, 地址是 https://github.com/30324

Win10上运行Docker

1. 前言 Docker最近推出了可以运行在Win10和Mac上的稳定版本,让我们赶紧来体验一下. Docker发布Mac和Windows 的目标非常简单--开发者可以更加简单方便地在研发机器上使用Docker.下面是此次版本所改进的地方: 更快更可靠--在本地开发环境上,使用虚拟监控程序(hypervisors)就可以植入每个操作系统(无需VirtualBox): 改进了Docker工具集成--开发者可以把所有的Docker工具绑定在本地应用程序上: 改进开发流程--大量的装备可用于代码和数据

可执行程序无法在Linux上运行,显示line 1: syntax error: word unexpected (expecting ") .

[问题]用arm-linux-gcc编译出来的可执行文件clkCtl,下载到板子上,在Linux下不能运行:./clkCtl: line 1: syntax error: word unexpected (expecting ")") [解决过程]1.网上有人也遇到此问题:Syntax error: word unexpected (expecting ")")http://hi.baidu.com/dsfire/blog/item/5d922458886ad589