Android手机的Bootloader以及一些概念解释

发现网上一些文章对bootloader,root等概念的解释不够清晰,甚至存在错误,所以把一些经验和大家分享一下,如有错误请指出微笑


一般懂Android的人都知道有一样叫Bootloader的东西,先解释一下他的用途

1.对硬件进行必要的初始化和检测错误

2.防止boot,recovery分区被写入。

有些人会问,boot,recovery分区是什么?其实Android就正如我们使用的桌面端一样,会把硬盘分区进行使用,只是这里Android是使用了Nand Flash而不是硬盘,boot分区里面有linux内核 + ramdisk。 而recovery分区里面也是有linux内核 + ramdisk,一般boot和recovery的内核是同一个,但recovery里面的ramdisk会有更多recovery需要使用的程序和数据。可见这2个分区都是很重要的分区,必须进行相应的保护。


但有趣的是Bootloader本身却是可以被升级的(前提是厂家提供的升级包,只有他们才知道bootloader的),其实就如我们电脑主板上的BIOS一样,是EEPROM,也是可以升级的。如我的xt720手机,是一款摩托罗拉的老手机了,它的Bootloader上锁+加密,这里注意上锁和加密是2个不同的东西:

1.上锁了,可以防止个人误操作,你解锁了,就可以随意修改boot和recovery的数据。

2.加密了,你想误操作都没机会,因为你没有解锁码。

所以,如果你要解锁,必须先得到解锁码,先解密了,然后才能解锁。


接下来再把一些概念弄清楚,root和bootloader解锁是没有任何关系的,root是开发者通过内核的一些漏洞而获得最高权限,root是在操作系统的层面,而bootloader是偏硬件的层面,有2种情况,

1.你root了,可以通过root修改system分区的数据,但你还是不能修改boot和recovery的数据,因为bootloader还没解锁。

2.而如果你bootloader解锁了,但你没有root,你连system分区的数据都无法修改。


这时候可能会有人疑问,为什么我bootloader上锁了,我还是能装recovery?还能刷ROM?

1.其实这个recovery不是真正的recovery,它不是真正安装在recovery分区的,他只是在读取boot分区完成后,读取Android操作系统前,执行了这个所谓的recovery,所以用户看起来就像进入了recovery,这种recovery被称为2ndinit。

2.关于能刷ROM的问题,这里刷ROM仅能改变system分区的内容,也就是改变了Android系统的内容,比如把2.2的UI换成4.0的,换一些framework等,但是boot分区的linux内核你是改不了的。这时候又有一种称为2ndboot的技术了,当从boot分区完成原厂内核的加载后,2ndboot把开发者的自定义内核替换掉当前内存中的内核。

2ndinit和2ndboot都是退而求其次的方法了,能真正bootloader解锁才是真正的王道啊!

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值