Win 10 Mobile中内置Linux与Android兼容层

昨天智机网(www.wpxap.com)泄露了最新的Windows 10 Mobile Build 10240,其中内置了传说中的AoW(Android on Windows)功能。将ROM解包后,让我们来一窥究竟AoW到底是什么。

从手机C:\windows\system32\aow文件夹中,可以看到大多数aow的组件,其中包括了AoW的会话管理器、Linux的OpenGLES兼容库以及一个aow.wim镜像。

将aow.wim镜像解包后,可以看到其实是一个几乎完整的Android 4.4.4镜像,包含了大多数Android核心文件。

在C:\windows\system32\drivers中,可以发现2个与AOW有关的内核驱动:ADSS.sys与LXCore.sys。

ADSS.sys从文件名猜测可能是AnDroid SubSystem的缩写,文件体积很小,其中引用了LXCore.sys。

LXCore.sys从文件名猜测可能是LinuX Core的缩写,使用16进制编辑器打开后,可以看到一些有趣的字符串。

initrd=/initrd.img root=/dev/ram0 rw androidboot.hardware=hyperv console=tty0 console=ttyS0 video=hyperv_fb:1024x768 BOOT_IMAGE=/kernel

Linux version 3.4.0-Microsoft ([email protected]) (gcc version 4.7 (GCC) ) #1 SMP PREEMPT Wed Dec 31 14:42:53 PST 2014

而用7zip以任意文件方式(#)打开LXCore.sys后可以看到里面还包含了一个linux-gate.so。

猜测LXCore是一个经过修改的、可以以模块形式运行在Windows内核中的Linux兼容内核。从文件体积看,该内核只对传统的Linux系统调用进行包装转发,最后调用Windows内核完成对应的功能,并不是传统意义上的Linux内核。

从AoW这个名字中可以看出,其类似于64位Windows系统中的32位子系统WoW(Windows32 on Windows64),并不是一个简单的虚拟机(其实并不简单)。但其运行方式与其他子系统(csrss.exe/lsass.exe)又有所不同。

Windows 10 Mobile几乎100%可以确定能够直接运行经过appx包装的apk文件,但目前由于某些原因(很可能是有大量未解决的Bug或是内部还在讨论对UAP生态的影响)导致微软迟迟没有放出这一功能。

Aow下载可点此处!

如果想深入体验LINUX系统的新手,也可以先下载一个方德Linux软件中心试用一下。

免费下载地址:http://www.nfs-wuxi.com/cx/appCenter/open/softcenter

时间: 2024-10-08 11:58:21

Win 10 Mobile中内置Linux与Android兼容层的相关文章

函数中内置对象

函数的3大内置对象,在这里只写了2个,其中一个比较重要,而且在工作中很多人搞不懂,this到底代表谁.所以我单独写出来了 函数中内置的三大对象 1.arguments对象 2.环境变量对象 3.this对象 arguments对象 用于保存实参(它只存在于函数中,函数外不能调用,具有数组所有的功能,但它不是数组) arguments对象通过索引值来访问保存在其中的实参值 <script type="text/javascript"> function show(a,b){

java8中内置的四大核心函数式接口

java8中内置的四大核心函数式接口 Consumer<T>:消费型接口 void accept(T t) //Consumer<T> 消费型接口 public void happy(double money, Consumer<Double> con){ con.accept(money); } Supplier<T>:供给型接口 T get(); //Supplier<T> 供给型接口 //需求:产生一些整数,并放入集合中 public Li

Update升级包中内置第三方app案例

Update升级包中内置第三方app案例 Update升级包中内置第三方app案例 介绍 总结内容 1 问题现象 2 原因分析 3 解决方案 Androidmk preinstallsh 4 后续工作中须注意细节 扩展阅读 1. 介绍 Amlogic MX8726 5iHome项目,客户提出需求在固件中预制第三方app 请列出开发的项目,项目简单背景,使用的平台,待总结的内容简述 2. 总结内容 2.1 问题现象: 客户提供第三方app直接使用U盘pm install YouKu_CIBN.ap

JavaScript中内置对象的一些属性及方法

Javascript对象总结 JS中内置了17个对象,常用的是Array对象.Date对象.正则表达式对象.string对象.Global对象 Array对象中常用方法: Concat():表示把几个数组合并成一个数组. Join():返回字符串值,其中包含了连接到一起的数组的所有元素,元素由指定的分隔符分隔开来. Pop():移除数组最后一个元素. Shift():移除数组中第一个元素. unshift():在数组的第一项Slice(start,end):返回数组中的一段. Push():往数

DataGridView中内置控件常用事件使用心得

checkbox,button,imagebutton使用dataGridView1_CellContentClick private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { tb.Text+=string.Format("\r\n{0},Row:{1},Column:{2}","单元格内容单击!",e.RowIndex,e.ColumnInd

Python中内置函数的介绍

内置函数的功能介绍 常用内置函数如下: 1.abs() 绝对值 格式:abs(x) 例如:print(abs(-18)) >>> 18 返回值:number #该函数主要用于数值类的操作 2.all() 是否都为真 格式:all(iterable) 例如:print(all([1,2,3,])) >>> Ture 返回值:bool #该函数主要用于可迭代对象的操作,主要为列表.元祖.字典和集合.当这些类型的元素中有空字符串.空列表.空元祖.空字典.空集合时,则返回值为F

装饰器、生成器、迭代器、及python中内置函数的使用

一. 装饰器 1. 装饰器的概述 (1)概述:装饰器本质就是函数,主要用来装饰其他函数,为其他函数添加附加功能. (2)使用装饰器的原则 1)不能修改被装饰的函数的源代码 2)不能修改被装饰的函数的调用方式 (3)装饰器原理:函数即"变量".高阶函数.嵌套函数 2.使用装饰器的原因 (1)传统的多个函数模块修改需要同时修改多个函数.如果函数过多,则修改不方便. 如下,如果想要在每个函数中开头结尾分别输入内容,则需要在每个函数开头结尾加入需要输出的内容. def f1():     pr

ES6新特性:Javascript中内置的延迟对象Promise

Promise的基本使用: 利用Promise是解决JS异步执行时候回调函数嵌套回调函数的问题, 更简洁地控制函数执行流程: 通过new实例化Promise,  构造函数需要两个参数, 第一个参数为函数执行成功以后执行的函数resolve, 第二个函数为函数执行失败以后执行的函数reject: new Promise(function(resolve , reject) { }); 通过Promise,我们把回调函数用线性的方式写出来,而不是一层套一层, 这个函数有四层回调: fn("args&

Lucene中内置常用Query对象

以下这几种lucene内置查询对象,不过在实际的项目开发中,这种查询方式应用的不多.一般用QueryParser去获取查询对象.因为QueryParser内部基本实现了所有的内置查询对象. 这是最常见的QueryParse的写法 /** * 通过QueryParser去获取查询对象 * * @throws ParseException */ @Test public void searchByQueryParse() throws ParseException { // 1创建QueryPars