西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页西西教程Apple(苹果) → 苹果如何设置多系统 iPhone多系统设置方式介绍

苹果如何设置多系统 iPhone多系统设置方式介绍

相关软件相关文章发表评论 来源:西西原创时间:2017/1/13 14:41:35字体大小:A-A+

作者:西西点击:94次评论:0次标签: 苹果

  • 类型:休闲益智大小:24.1M语言:中文 评分:10.0
  • 标签:
立即下载

苹果系统的小伙伴在使用的时候,想要设置多系统,但是自己不知道怎么进行设置。因此就让小编给大家详细的讲讲,想知道的可以一起来看看吧。

iPhone多系统设置方式介绍

关于iOS Boot Chains:

BootROM - LLB - iBoot - Kernel(普通启动)

在普通启动中,系统会层层验证,只要有一环出现问题,设备的启动就会中断

在老版本的iOS系统,可以通过nvram boot-args=xxxxxxxxx的方法设置boot-args,但很显然,在新的iOS系统上这是无法实现的。

BootROM - iBSS - iBEC - Kernel(DFU启动)

DFU启动在设备准备恢复系统时会用到,同样层层验证,但是,iBEC中的boot-args可以直接进行修改,原boot-args——“rd=md0………..”可在回复设备时启动Ramdisk进行设备恢复。

修改iBEC实现Tethered Verbose Boot。关于Ph0en1x:

我在我之前放出的Ph0en1x_S 双系统自制固件中,成功实现了iOS双系统的完美切换,而实现完美切换,重点就在于Boot Chains的交换,即如何从iOS 7的启动链切换到iOS X的启动链。而wincom所开发的kloader,正好能够满足这第一步的需求,如果我们使用普通启动Boot-Chains的话,就能够通过kloader加载pwned LLB,pwned LLB加载pwned iBoot,在pwned iBoot中修改boot path,进行boot-args重定向,就能够实现对另一内核的引导并在新的分区启动系统。

普通启动Boot Chains在设备恢复固件时被flash到设备中,为了把我们所需的新的一组启动链写入设备,我们只需要修改固件中的manifest(all_flash),加入我们所需的启动链即可,恢复该固件,即可完成启动链写入。

那么问题又来了,LLB如何找到它所需要引导的下一级链呢?发现,在LLB,iBoot中,利用标识寻找下一级启动元素,既然如此,修改pwned iboot的标识,同时patch LLB,使它寻找对应的标识,即可完成对应启动链的引导。

so,我做出了以下几个patch:

1、LLB,iBoot几处关于check的patch

2、启动元素的寻找

3、iBoot中Boot-args重定向,并修改为rd=disk0s1s3 -v amfi=0xff cs_enforcement_disabled=1

4、iBoot中Boot Path指向iOS 6 kernelcache的存放地址

kloader LLB, it works!

ah其实我是想放出iPhone 5的双系统的,结果JonathanSeals一下放出了CoolBooter,支持了一票设备,抽空对它的实现方法做了点分析。

首先CoolBooter并不需要flash,这让它变得格外方便,不许要制作一个特别的固件来写入启动链

原理同样是利用kloader,but!CoolBooter使用了winocm的multi_kloader来进行多个映像的加载

CoolBooter要求越狱环境,它直接在固件写入后,将DFU启动链放置于新分区中,准备进行启动。等会?!为什么DFU链可以用来正常启动?这就要牵扯回iBEC的Boot-args设置了,原设置启动Ramdisk,既然如此,直接修改为在新分区启动即可进行引导。

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    发表评论

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲