现在新出品的手机,基本都加密了data分区,旨在保障用户数据的安全。其中高通方案的手机使用的加密方案是QSEE(高通安全执行环境,Qualcomm Security Executing Environment),每次启动设备时会有一个专门的过程来解密data分区。然而,TWRP Recovery默认并没有附带高通的加密组件,因此在启动时会无法解密和访问data分区,使得体验大打折扣。因此必须把高通的加密组件从Android系统中移植过来。
高通QSEE组件由本体 qseecomd 程序、Keystore及其依赖库组成。
首先是 qseecomd 。 加解密过程全由 qseecomd 完成, 因此移植过程相对比较简单。
Keystore是加解密过程所必需的“钥匙”,为一个 so 格式的库文件,每个高通方案设备有属于自己的Keystore,路径为 /system/vendor/lib64/hw/keystore<高通方案型号>so (32位处理器型号请将 lib64 改为 lib )。
而 qseecomd 运行还需依赖其它库文件,查看依赖可使用 readelf -d qseecomd :
值得注意的是,上述命令给出的依赖库,除了 libQSEEComAPIso 与 libdrmfsso 由高通提供外,其他的均为安卓公用的运行库,TWRP会提供它们。
另外, qseecomd 的运行还离不开解释器 linker ,使用 readelf -l qseecomd ,在输出中可以看到 qseecomd 所使用 linker 的绝对路径。
在上一步中,我们已经知道了加密需要用到哪些文件,那么它们位于安卓系统的哪一个路径?根据下面的表格,整理出它们所在的路径,以及放置到TWRP根文件系统中的路径。
Android设备配置文件( /device/<厂商名>/<设备名> )中,如果存在目录 recovery/root ,那么该目录中的内容就会在编译TWRP时,自动复制到TWRP的根文件系统中。因此,请将上一步中的文件,根据上表的路径复制到其中。
系统环境与TWRP的环境还是有所差别的。为了保证 qseecomd 能够正确地找到解释器 linker ,我们还需要使用 patchelf 工具,对 qseecomd 进行一番修改,否则运行时会提示“ qseecomd: not found ”,尽管 qseecomd 确实在指定的目录中。
qseecomd 默认的linker是 /system/bin/linker64 ,而TWRP的linker则是 /sbin/linker64 。因此,我们需要这样修改linker路径:
修改完成后,再使用 readelf -l qseecomd 进行检查,就可以发现修改成功了。
qseecomd 以服务的形式运行,它会在运行之时自动对data分区进行解密。想让 qseecomd 作为服务运行,需要修改 initrecoveryqcomrc ,这是Android的init配置文件之一。
创建该文件,在其中写入如下内容:
TWRP本身有解密模块,并提供与 qseecomd 对接的接口,但默认没有启用。因此我们需要在 BoardConfigmk 设置相应的选项:
TARGET_PROVIDES_KEYMASTER 指定设备是否具有用于解密的keymaster,keymaster正是解密必不可少的“钥匙”,高通方案的设备会提供。而 TARGET_KEYMASTER_WAIT_FOR_QSEE 则指定是否等待 qseecomd 解密完成。其中, TARGET_KEYMASTER_WAIT_FOR_QSEE 至关重要,它是 qseecomd 解密支持的重要开关,若不设置它,就和不带加密组件无异。
判断TWRP是否正常解密的依据,就是观察启动后会出现什么画面。如果启动非常快,且显示的是输入密码的窗口,而事实上手机并没有使用密码加密,而是保持默认加密状态,那么说明解密不成功,还需努力调试。如果启动时间延长(定格在splash画面),进入主界面后点击底部的“日志”按钮显示“Data successfully decrypted”,那么则说明解密成功。
并不是所有的设备都能遵照上述步骤成功为TWRP启用加密支持,各种各样的问题都有可能出现。显然,我们可以根据日志,来检查 qseecomd 的工作状态—— qseecomd 会同时往内核日志和logcat中写入日志。使用 dmesg 或 cat /proc/kmsg 来获取内核日志;而在 BoardConfigmk 中启用logcat支持后,我们亦可以通过运行 logcat 来获取 qseecomd 输出的另一部分日志。
启用logcat支持的开关为:
除此之外,我们还可以从TWRP这一边展开分析。TWRP的解密过程也被记录在TWRP本身的日志中,阅读 /cache/recovery/last_log 即可了解。
为TWRP加入解密组件,看似比较难,实则并不难,关键在于不断尝试。笔者能获得上面的成果,有赖于在反复失败后仍然能够反复尝试,最终取得成功。在整个过程当中,日志调试的作用举足轻重,它反馈了TWRP与qseecomd组件运行时的一系列状况,是分析故障的利器。
参考:手机先需要root,然后在手机上安装固件管理器,将部分sd卡空间分配给手机内存,从而达到增大system空间的目的。不过sd分区会增加sd卡的读取频率,影响sd卡寿命。现在手机rom大多都有4g或以上,只要将软件尽可能移到内存卡里,一般不会出现手机内存不足现象的。可以去os90安卓网下载个分区工具,然后进行分区。
尊敬的华硕用户,您好!
以下信息请认真阅读。谢谢。
1,SSD是加速缓存左右,无法分区,无法安装系统。如果重新安装了系统或格式化了,需要到服务中心进行技术配置;
2,加装同样主频,同样大小的内存即可;
3,recovery的25G是隐藏分区,也就是系统备份;一般是通过F9恢复;
4,如果您重新分区了,F9将会无法使用了。
根据您说明的问题,使用第三方软件会把磁盘分区或数据弄坏,导致系统无法恢复或启动。建议您到服务中心重新做回原来的备份和系统。这样就可以把问题解决。
服务中心网址链接如下:
http://supportasuscomcn/ServiceCenteraspxSLanguage=zh-cn
对于很多有着控制欲特别强的人,他们在使用安卓手机时,总是十分不满意软件老是会安装到一个他不想要的安装路径。那安卓软件和游戏怎么安装到自定义分区呢?
我们可以使用一款叫做Link2SD的软件。何谓Link2SD? 它是一个将软件移动到卡第二分区ext2、3、4、fat(32)分区上的工具。原理和app2sd++类似。 link2sd把单个的文件进行软连接,这样就使程序可以实现随意的安装到机身和内存卡ext2、3、4、fat(32)分区上。link2sd选择性的 将新安装程序的/dalvik-cache移动到了内存卡上,再创建软连接。所以保证系统运行的安全性和稳定性。而22以上系统自带的app2sd+有很多缺点,诸如应用装在卡上,拆下卡或是连电脑时这些应用无法使用,以及拖慢运行速度等,link2sd可很好解决这些问题并兼顾。而app2sd++则一刀切的把所有用户程序以往sd卡,弊病也多。
一句话,小编的理解就是link2sd是个软件,由用户控制,可以自由选择每个程序是否被移入卡ext分区,移入卡上的程序运行、删除、移动等操作完全自如,和装到手机内存没什么两样,而且不占用手机内存!当然link2sd本身也可卸载,不会影响移往卡上的程序运行。
Link2SD的运行条件:
1SD卡需要第二分区,即ext2、3、4分区,也支持fat16、32格式,并且两个分区都要是主分区。
2手机需要root权限。
正式开始:
1、下载并在手机上面安装附件
2、找到安装好的Link2SD,
进入程序,选择你sd卡第二分区的类型ext2、3或fat32、16,按第一步方法分区的选ext3,
提示授权请求,选择"允许"
此时提示重启,点击"确定",可自行重启手机。
重启后再次进入后程序会列出手机上所有应用位置及其状态,程序位置分为/system(系统内存)、 /data(用户可用内存) /mnt(sd卡第一分区)这三种,大家可自由选择将安装在手机内存/data的应用程序进行link操作。
此时将卡装入手机开机,使用re管理器进入/data中,可以看到有个sdext2文件夹,进入后可以看到上方显示容量:已用+可用就是你所分的ext3区的大小。以后所有链接到卡上的程序都可以在这里找到。
3、启用自动Link(可选,想自己选择程序是否移动到卡上的不需此步):
以上步骤完成后,新安装到机身内存的软件就可以自动被软件后台移至SD卡的第二分区,不需手动操作。不需要自动移动程序的,把自动链接(Auto link)的勾取消。
运行Link2SD,
按菜单键(MENU),点击"设置"
选自动链接(Auto link),然后点击"自动链接设置"
勾选这三个选项即可,在你把软件安装到手机机身内存的时候,Link2SD自动会把机身内存的软件移至SD卡的第二分区。
以上步骤完成后,新安装到机身内存的软件就可以自动被软件后台移至SD卡的第二分区,不需手动操作。不需要自动移动程序的,把自动链接(Auto link)的勾取消。
4如果想把已经安装在sd卡第一分区的应用程序链接并移动到ext分区,进行如下操作
41(单个链接)
点击你要移动的程序(在内存卡上面程序,软件会用红字标记)
点击"管理"
点击"移至手机内存"
然后点击"返回"按键,点击"创建连接"(PS:这里忘记截图了,不过很简单的)
然后选择"确定"
正在创建
已经移动到SD卡
42(批量移动)
进入软件点击菜单键,弹出选项,选择"多选择"
此时会显示勾选项
选择你要移动的程序。(PS:系统程序是无法移动的)
然后点击"菜单键"弹出选项菜单,点击"创建连接"
点击"确定"
批量移动成功
你可以进入Link2SD,按"菜单键"弹出选项,点击"存储信息",查看存储信息。
需要说明的是,link2sd后的应用表面显示的位置仍然在手机内存/data下,但实质在sd卡第二分区,不占用手机内存,大家可自行查看。
重要说明:不要开机状态下拔除内存卡,或者拔除内存卡后开机,否则会加载不到EXT3分区,所有连接到内存卡的程序都将失效,必须重新安装
建议大家做完移动操作后,再打开link2sd,点菜单,选更多,选择清理dalvik-cache文件,可以把移动后的文件垃圾清理掉
!!!!! 关于安卓手机问题!内存卡分区后怎么恢复?
第一种方法:
第一步、将SD卡插入读卡器,读卡器再插进电脑USB接口
第二步、打开 我的电脑,选择SD卡盘符 鼠标右键 选择格式化(FAT32)不要选择快速格式化
第三步、发呆
第四步、打开电脑里面的 控制面板 选择 管理工具 选择 计算机管理
现在看左边,选择 储存 -> 磁盘管理
现在看右边,看到你的 SD卡 分区没?
鼠标放在你的 SD卡 那个分区上,鼠标右键 呼出菜单,选择 删除磁盘分区,OK
第五步、删除成功后,SD卡的分区消失,出现一个未指派的移动磁盘,这时SD卡还不能正常使用
第六步、右键点击未指派的移动磁盘,选择"新建磁盘分区"
第七步、指派一个驱动器号,点击"下一步"
选好格式化设置,文件系统:"FAT",分配单位大小:"默认值",点击"下一步"
格式化进行中
格式化完成
这样你的SD卡就恢复成原来的样子了
第二种方法:完全格式化SD卡
让我们开始在Android手机和平板电脑的标准的内部存储器分区的列表。这些是:/ boot目录/系统 = /system/恢复 = /recovery/数据 = /data/缓存 =/cache/杂项 =/misc此外,还有的SD卡分区。/ SD卡 =/sdcard/ SD-EXT /boot需要注意的是/ SD卡被发现在所有的Android设备,其余的是目前只有在选择设备。现在,让我们来看看在每个分区的目的和内容。/ boot目录这是分区,使手机开机,正如其名称所暗示的。它包括引导程序和内核。如果没有这个分区,该设备将根本就没有能够启动。擦拭从恢复分区只应在绝对必要时,一旦完成,该设备必须重新启动,然后再安装一个新的,它可以通过安装ROM,其中包括一个/ boot分区。/系统此分区基本上包含了整个操作系统的内核和引导以外。这包括了Android用户界面,以及所有的系统预安装在设备上的应用程序来。擦这个分区将删除从设备的Android不使其无法启动的情况下,你仍然可以把手机恢复或bootloader模式,安装一个新的ROM。/恢复恢复分区可以被视为一个可供选择的引导分区,让你进入恢复控制台启动设备,进行先进的恢复和维护操作。要了解更多有关这个分区及其内容,请参阅“关于Android的恢复我们的指南,ClockworkMod恢复”部分。/数据也称为用户数据,数据分区包含用户的数据 - 这是在您的联系人,邮件,设置和已安装的应用程序,你去。擦这个分区基本上是在您的设备上执行出厂重设,恢复它的方式是当你第一次启动时,它的方式,这是最后一次正式的或自定义ROM安装后的。当您执行擦除数据/工厂复位恢复,这是分区,你是擦。/缓存这是Android的存储经常访问的数据和应用程序组件所在的分区。擦拭缓存不会影响你的个人资料,但根本摆脱现有的数据,这将会自动重建,如您继续使用该设备。/杂项此分区包含各种系统设置,在形式的ON / OFF开关。 USB配置和某些硬件设置等,这些设置可能包括CID(承运人或地区ID),这是一个重要的分区,如果是损坏或丢失的,一些设备的功能将无法正常工作。/ SD卡这是不是内部存储器的设备,而是在SD卡上的分区。在使用方面,这是您的存储空间,使用您认为合适的存储媒体,文件,光碟等就可以了。擦拭它是完全安全的,只要你备份所有的数据,你需要它,你的电脑。尽管一些用户安装的应用程序保存在SD卡上的数据和设置,抹这个分区将让你失去所有的数据。在内部和外部SD卡 - 三星Galaxy S和几片 - 总是用来指到内部SD卡/ SD卡分区的设备,如设备。对于外部SD卡 - 如果有的话 - 替代分区时,器件的不同。在三星的Galaxy S系列设备的情况下,它是/ SD卡/ SD,而在许多其他设备,它是/ sdcard2,。 / SD卡不同,没有系统或应用程序的任何数据自动存储在这个外部SD卡,一切都存在于它已添加的用户。您可以放心地擦拭后,你需要保存的任何数据备份。/ SD-EXT这不是一个标准的Android分区,但已成为流行的自定义ROM的场景。它基本上是你的SD卡/ data分区时使用的ROM中有特殊的功能,称为APP2SD +或data2ext启用的,作为一个附加的分区上。这是特别有用的设备上很少有内部内存分配的/ data分区。因此,用户要安装更多的程序比内存允许,可以使这个分区,并使用一个自定义的ROM支持此功能,安装自己的应用程序,以获得额外的存储。 ,擦这个分区在本质上是相同的擦/ data分区 - 你失去你的联系人,短信,市场应用和设置。
第一:手机必须ROOT,任何方式的ROOT都可以。
第二:手机必须安装第三方中文 recovery,
第三:下载扩大system分区卡刷包并放入手机中(最好是放在外置SD卡,在外置卡必须准备一个卡刷包,任意卡刷包都可以,
第四:进入中文recovery中,
第五:进入中文recovery以后,卡刷步骤三放入SD卡的扩大system分区卡刷包,刷完以后会自动重启并再次进入recovery中报错。(选择安装ZIP刷机包---选择SD卡---选择刷机包
第六:重启再次进入中文recovery以后,在recovery中选择“挂载和格式化”,之后选择“格式化/cache”和“格式化/data”和格式化system,完成之后返回上一级菜单,选择步骤三放入SD卡的卡刷包重新刷机,即可重新进入系统。
欢迎分享,转载请注明来源:品搜搜测评网