Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

搜索
查看: 76783|回复: 1399

[教程] 彻底解决开机禁行     [复制链接]

远景FANS

UID
424619
帖子
4181
PB币
598
贡献
0
技术
738
活跃
2132

巡察使 我是大学生!

发表于 2016-4-21 22:00:05 |显示全部楼层

问题特征


1. 开机出现禁行

2. OsxAptioFixDrv-64.efi 出现错误:

  1. Error - requested memory exceeds our allocated relocation block
复制代码

3. OsxAptioFix2Drv-64.efi 出现错误:

  1. Error allocating 0x800 pages at ... alloc type 2
  2. Error loading kernel cache (0x9) // 或者(0xe)
  3. Boot failed sleeping for 10 seconds before exiting...
复制代码



原因

1. 系统请求存放kernel cache的空间大于OsxAptioFixDrv-64.efi所分配的内存空间.



解决方法

1. 提高OsxAptioFixDrv-64.efi默认分配的空间. 修改OsxAptioFixDrv.c

  1. #define KERNEL_BLOCK_NO_RT_SIZE_PAGES 0x6000
复制代码

或者

  1. #define KERNEL_BLOCK_NO_RT_SIZE_PAGES 0x8000
复制代码

成为

  1. // syscl - Increase the reloc size for 10.11.4 to 256MB(0x10000)
  2. #define KERNEL_BLOCK_NO_RT_SIZE_PAGES 0x10000
复制代码

保存编译. 我知道, 我知道你们懒,所以我用Clover v2.3 r3465替你们编译了一份, 直接下载复制到/EFI/CLOVER/drivers64UEFI/下面,删掉OsxAptioFix2Drv-64.efi以及OsxLowMemFixDrv-64.efi避免冲突.

2. 在config.plist中删掉slide=XXX (XXX代表数值).

3. 如果仍旧无法启动, 表明内核请求分配的空间仍旧太大, 将CsrActiveConfig设置成0x67.



P.S. 这个问题在升级到10.11.4之后尤为明显,曾经可以使用的OsxAptioFixDrv-64.efi变得根本无法使用, 而换做OsxAptioFix2Drv-64.efi又会出现随机禁行的情况, 十分恼人. 这个问题差点让我换了主板, 不过既然在10.11.3上面OsxAptioFixDrv-64.efi是完美的, 相信稍微修改源码就能够完美运行. 我测试了64MB, 96MB, 128MB, 160MB, 192MB, 224MB, 256MB, 发现在H67-M上面只有当relocation size大于160MB才会出现加号(引导), 最终能够顺利进入系统的relocation size 是256MB. 这也能理解10.11.4之后, kernel请求的空间增加了很多, 甚至SIP的状态开启与否都会影响kernel请求内存空间的大小, 0x3消耗的内存空间大, 0x67则很小... 不难理解, SIP作为OS X中重要的一环, Apple一定会期望SIP能够在系统初始化的阶段就保护内核/缓存(扮演越来越重要的作用), 导致kernel被放到更高位的内存地址上. 我已向Clover社区反馈了这个修复/数值, 应该会在下一个新的版本到来之际修复. 在这之前大家请大家使用本文中的驱动吧!


祝好!


附件: 你需要登录才可以下载或查看附件。没有帐号?注册
22

查看全部评分

远景FANS

UID
424619
帖子
4181
PB币
598
贡献
0
技术
738
活跃
2132

巡察使 我是大学生!

发表于 2016-4-21 22:00:20 |显示全部楼层
本帖最后由 syscl 于 2016-5-26 13:08 编辑



关于SIP设定的问题, 引用#435 我不要用户名 的评论

Clover r3543支持在GUI界面配置CSR参数。

  • 用OsxAptioFixDrv的前提: 进系统跟CSR大小无关, 而是CSR的第七个标志位必须设置为1, 也就是必须解锁NVRAM限制. 而跟其他无关. 例如我设置0x40就可以进系统(只关闭nvram限制, 其他均打开), 而设置为0xbf时却无法进系统(只打开NVRAM限制, 其他均关闭).
  • OsxAptioFixDrv这个驱动是需要向NVRAM写入东西的, 恰好, 用Clover Legacy的话NVRAM是CLOVER自己模拟的, 所以全打开SIP也可以进系统...

再次感谢我不要用户名的提供的重要资料!


谢谢!
////
2

查看全部评分

远景FANS

UID
424619
帖子
4181
PB币
598
贡献
0
技术
738
活跃
2132

巡察使 我是大学生!

发表于 2016-4-21 22:00:38 |显示全部楼层
再占一层备用. 望谅解.

////
1

查看全部评分

Rank: 2Rank: 2

UID
676802
帖子
278
PB币
274
贡献
0
技术
1
活跃
310
发表于 2016-4-21 22:02:59 |显示全部楼层
谢谢lz分享 收藏以备不时之需

我?????

Rank: 9

UID
2906516
帖子
3337
PB币
9
贡献
0
技术
0
活跃
945

9周年庆典勋章 8周年庆典勋章

发表于 2016-4-21 22:04:28 |显示全部楼层
支持了   刚升级10.11的时候 安装后怎么都启动不了   Google一圈换了OsxAptioFix2Drv-64.efi  就解决了  但还是随机进不了 重启即解决……………………

远景FANS

UID
424619
帖子
4181
PB币
598
贡献
0
技术
738
活跃
2132

巡察使 我是大学生!

发表于 2016-4-21 22:06:25 |显示全部楼层
xing3kong 发表于 2016-4-21 22:04
支持了   刚升级10.11的时候 安装后怎么都启动不了   Google一圈换了OsxAptioFix2Drv-64.efi  就解决了  但 ...

对的Fix2会随机禁行, 我的H67-M也是这样. 迫使我不得不修改OsxAptioFixDrv-64.efi.

你试一下吧!

我?????

Rank: 9

UID
2906516
帖子
3337
PB币
9
贡献
0
技术
0
活跃
945

9周年庆典勋章 8周年庆典勋章

发表于 2016-4-21 22:07:22 |显示全部楼层
syscl 发表于 2016-4-21 22:06
对的Fix2会随机禁行, 我的H67-M也是这样. 迫使我不得不修改OsxAptioFixDrv-64.efi.

你试一下吧!

我HM65   回头试试

作死党

Rank: 7Rank: 7Rank: 7

UID
4690694
帖子
1288
PB币
298
贡献
0
技术
0
活跃
1103
发表于 2016-4-21 22:10:21 |显示全部楼层
终于等到了。。。
感谢

作死党

Rank: 7Rank: 7Rank: 7

UID
4690694
帖子
1288
PB币
298
贡献
0
技术
0
活跃
1103
发表于 2016-4-21 22:14:15 |显示全部楼层
SIP的状态开启与否都会影响kernel请求内存空间的大小
原来是这样。。
是不是完全开启最大。。

远景FANS

UID
424619
帖子
4181
PB币
598
贡献
0
技术
738
活跃
2132

巡察使 我是大学生!

发表于 2016-4-21 22:17:02 |显示全部楼层
我不要用户名 发表于 2016-4-21 22:14
SIP的状态开启与否都会影响kernel请求内存空间的大小
原来是这样。。
是不是完全开启最大。。

不知道, 我没有在Asus H67-M上面完全开启, 因为要帮别人/自己测试kext, 修改系统什么的. 但是0x3请求的内存空间大的离谱.

作死党

Rank: 7Rank: 7Rank: 7

UID
4690694
帖子
1288
PB币
298
贡献
0
技术
0
活跃
1103
发表于 2016-4-21 22:18:19 |显示全部楼层
问一下楼主。。用什么工具编辑这些驱动呢。。

Rank: 5Rank: 5Rank: 5

UID
46240
帖子
545
PB币
786
贡献
0
技术
38
活跃
1289
发表于 2016-4-21 22:18:50 |显示全部楼层
感谢,感谢,这应该是4月份最有意义的教程。

作死党

Rank: 7Rank: 7Rank: 7

UID
4690694
帖子
1288
PB币
298
贡献
0
技术
0
活跃
1103
发表于 2016-4-21 22:28:58 |显示全部楼层
我来反馈了。。
acer EA40_HC(intel HM77)依旧要设置为0x67才能启动。。

作死党

Rank: 7Rank: 7Rank: 7

UID
4690694
帖子
1288
PB币
298
贡献
0
技术
0
活跃
1103
发表于 2016-4-21 22:32:04 |显示全部楼层
syscl 发表于 2016-4-21 22:17
不知道, 我没有在Asus H67-M上面完全开启, 因为要帮别人/自己测试kext, 修改系统什么的. 但是0x3请求的内 ...

。。难怪。。
我完全开启以及设置0x3依旧无法启动= =
可以教一下怎么编译以改变分配的内核的大小吗~

UID
105132
帖子
3397
PB币
22664
贡献
0
技术
20
活跃
256
发表于 2016-4-21 22:36:25 |显示全部楼层
随机禁行的概率不大,收藏先

Rank: 7Rank: 7Rank: 7

UID
4776985
帖子
1941
PB币
654
贡献
0
技术
0
活跃
848
发表于 2016-4-21 22:47:46 |显示全部楼层
也说一下我的情况,刚开始装的时候,什么也不懂,用的是3346这个版本,也是随机禁行,被折磨得几乎要放弃了,折磨两天后换用3333版本,竟然一直没有出现过禁行了。

前两天测试了一下,在我的机子上,10.11.4用OsxAptioFixDrv-64.efi已经不能进系统了.

远景FANS

UID
424619
帖子
4181
PB币
598
贡献
0
技术
738
活跃
2132

巡察使 我是大学生!

发表于 2016-4-21 23:04:59 |显示全部楼层
我不要用户名 发表于 2016-4-21 22:28
我来反馈了。。
acer EA40_HC(intel HM77)依旧要设置为0x67才能启动。。

我没有说过0x0最大0x77最小, 我只说过0x3比0x67大太多了。

作死党

Rank: 7Rank: 7Rank: 7

UID
4690694
帖子
1288
PB币
298
贡献
0
技术
0
活跃
1103
发表于 2016-4-21 23:07:38 |显示全部楼层
syscl 发表于 2016-4-21 23:04
我没有说过0x0最大0x77最小, 我只说过0x3比0x67大太多了。

我知道你并没有说过。。
我就是随口一说。。。。

远景FANS

UID
424619
帖子
4181
PB币
598
贡献
0
技术
738
活跃
2132

巡察使 我是大学生!

发表于 2016-4-21 23:07:59 |显示全部楼层
甘新平 发表于 2016-4-21 22:47
也说一下我的情况,刚开始装的时候,什么也不懂,用的是3346这个版本,也是随机禁行,被折磨得几乎要放弃了 ...

1. 这正是本文的目的, 解决OsxAptioFixDrv-64.efi禁行的问题.
2. 随机禁行有几率, 但是触发原因不明, 我在H67-M上也有一段时间没有出现禁行, 但是最终不知道弄了什么禁行出现, 所以现在不出现不代表没有, 同时旧版本的Clover也会有很多bug(例如对新系统的支持)

Rank: 2Rank: 2

UID
3791035
帖子
497
PB币
109
贡献
0
技术
0
活跃
591
发表于 2016-4-21 23:56:13 |显示全部楼层
感谢.   非常感谢.
关闭

站长推荐

推荐好友加入远景可拿奖励
推荐好友进远景,可以拿3重奖励,PBB,威望,勋章,通通有~ 本帖只限回复推荐用
回顶部
Copyright (C) 2005-2018 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛 | 电脑硬件 | 安卓软件