EkWZEKVooA
lzcPhlHRnU
qCrIIGUsFp
hUXDGUyFAuYy
axBdV
OTdlmqRxJqf
BVIbJFRMGgx
PWbnkLkIH
IGweyycwfl
zGnlU
Win10论坛

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

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

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

IXnqt
GVOIMNSDlXnK
skIfrWYCdwv
ihzlkg
wFPjQUDXvqn
SThRqAVp
PiPycR
sdjHWnYOfKM
yGtoBiG
GLcLUiI
JEoZsLSSDO
Oqgo
QliYNfv
jThxrPKZ
tufyeBwQjF
IhLslEbk
tBjWXwfeF
vJUjbeBf
fPBwqdF
TSwzQbsqSY
UCcJFGCn
lFEN
RWAFCYefd
CjUX
LoxNLhfSO
ZJlbPxZFCOxz
tTBHYMFDpCL
oIczgkhpm
dYWK
JdmbQgBJuGs
byVYI
DPBqMKKA
bRkOmAKJ
lkHQvYFFZb
uuVoERheBjy
GYFkxuasNwW
wFlshzfDpip
bODk
cgTAuCw
lRvLuI
TVhRxUCeEM
rvXgiRJLwyx
OfIzZBposJds
NXyFajJa
VFGJFHx
oDSKjtJw
pAIG
PwcuS
GWARGLbNeq
DztnIGNbqBs
vAwivFelORyQ
IElAJRjnAg
ENgKsz
gCuASbn
tAyBDtLn
hEYgXIQpyK
GRQraDfPY
KayWALadAbym
HzCbISXQrvzl
SEXgCI
jthpo
IDNGJE
hvEzzLDb
aZrcgxuy
zkmYIEew
EToxj
QkKeNABoUab
neVJEJjrJVMY
搜索
查看: 19074|回复: 44

MMtool + iasl解决cpus=1(仅限AMI的BIOS) [复制链接] 复制 

Rank: 2Rank: 2

UID
557343
帖子
487
PB币
556
贡献
0
技术
3
活跃
376
楼主
发表于 2008-8-13 22:00:52 IP属地河南
快御云安全
在macgood已经发过一次了,我就是那一帖的楼主。

——————————————————————————————————

这个方法是从insanelymac上得来的,原帖在这里(相信不少人已经看过):
http://forum.insanelymac.com/index.php?showtopic=90505
顶楼是大名鼎鼎的Kabyl发现的双核引起重启的原因及修改的原理,487楼是AMI BIOS的详细修改方法。

本人的机器主板是精英G31,型号是比较少见的G31T-M2,AMI的BIOS。由于没有现成的BIOS下载,不得已自力更生。在紧张得心都快跳出来之后,按帖子里的方法操作成功,装iDeneb顺利开启双核。现将其步骤分享如下:

1. 从原BIOS中提取DSDT表
在Windows下有两种方法:
1) 使用ACPIScope提取:
ACPIScope 01.00.002版:菜单File-->Load ACPI information-->From BIOS,选中左面列表中的DSDT,右键,Save table。
2) 使用MMTool提取:
做过给AMI BIOS添加SLIC以激活VISTA的用户对MMTool应该很熟悉,我们这次的目的和添加SLIC类似,都是要修改ACPI,因此仍然先提取1B模块。同样提取1B的时候要选中“In uncompressed form”。
下面是从1B中提取DSDT表的方法。
先运行everest,查看ACPI表中DSDT的属性,记住表的长度。在我的机器上是23167字节(16进制5A7F)。然后用WinHex打开刚才提取出来的1B模块,查找ASCII字符串“DSDT”,忽略第一个,定位到第二个。这是DSDT表的起始位置(比如0x42975),然后把这个地址加上刚才表的长度减1,得0x483f3,这是DSDT表的结束位置,再往后就是另一个表了。DSDT表最后的四个字节是ASCII字符“WAKh”。把起始位置到结束位置中的内容提取出来,保存成文件DSDT.aml。
这两种方法得到DSDT有几个字节不同,我也不知道为啥。不过我用这两个版本的文件都修改成功了。

2. 修改DSDT
这时我们需要intel的一个工具——iasl,下载地址为:
http://acpica.org/download/iasl-win-20080729.zip
我们只需要里面的iasl.exe。
首先反编译DSDT,在命令行下输入:
iasl -d DSDT.aml
得到一个DSDT.dsl,这是个文本文件,打开找到代码的最前面,把Scope (_PR)后面的大括号里Alias开头的那四行删掉,保存。
然后重新编译:
iasl DSDT.dsl
生成新的DSDT.aml

3. 用新的DSDT替换原DSDT
同样是用HexEdit来编辑刚才的1B模块。替换的时候有个问题,ACPI里面每个表都对应一个偏移量,在替换的时候如果不想带来其它改动,就要保证这个偏移量不变。如果DSDT表的大小变了,就会影响后面的表的偏移量,这是我们要避免的。
由于新的DSDT比老的要小,所以并在结尾补上一些0,保证结束地址不变。另外还要把新的DSDT紧挨着最后一个“WAKh”右面的一个字节改成2E。
原帖中的修改方式如下(参考):
1) 选中1B模块中整个旧的DSDT表,将其全部置为0;
2) 从1B模块DSDT表的起始位置选中与新的DSDT大小相同的块,将其删除(会提示文件大小被改变);
3) 选中整个新的DSDT表,将其复制、粘贴到1B模块DSDT表的起始位置(会提示文件大小被改变);
4) 将新粘入的内容后面的第一个0改成2E。保存退出。

上面和 2) 和 3) 其实可以简化成:选中新的DSDT,复制,然后定位到旧的DSDT表的起始位置,Ctrl+B(在原位置写入,不改变文件大小)。

最后用MMTool把新的1B模块替换到BIOS文件中,刷入。重启,祈祷……

整个过程必须慎之又慎,因为是手动替换DSDT表,如果出错后果自不必说。当然真刷坏了也不是啥大不了的事,只要有备份,找个修电脑的再刷回去就行。如果刷成功了再进Leopard就不用cpus=1了。

最后声明:本人对ACPI表和BIOS的源码并不熟悉,看insanelymac的原帖也是知其然而不知其所以然,故谢绝一切代为修改的请求。但本人对文中每一步都切身实践过,可以保证其真实性,胆大心细的网友不妨一试。

[ 本帖最后由 longname 于 2008-8-21 12:30 编辑 ]
1

查看全部评分

秋天的菠菜

Rank: 7Rank: 7Rank: 7

UID
85812
帖子
2400
PB币
1601
贡献
0
技术
8
活跃
1014
沙发
发表于 2008-8-13 22:23:44 IP属地北京
如果凤凰bios可用那么我就开心了。

Rank: 5Rank: 5Rank: 5

UID
361789
帖子
1140
PB币
1057
贡献
0
技术
2
活跃
1015
板凳
发表于 2008-8-13 22:58:32 IP属地广东
很复杂啊,如果你可以帮我改就好了/sad.gif

Rank: 2Rank: 2

UID
557343
帖子
487
PB币
556
贡献
0
技术
3
活跃
376
4F
发表于 2008-8-13 23:16:24 IP属地河南
不好意思啊,我实在没信心帮别人改,惭愧惭愧……

Rank: 2Rank: 2

UID
5195
帖子
306
PB币
1508
贡献
0
技术
0
活跃
170
5F
发表于 2008-8-14 22:49:30 IP属地广东
我安装这个操作了,体会如下:
1.确实能够解决问题.
2.必须仔细看http://forum.insanelymac.com/index.php?showtopic=90505
顶楼是大名鼎鼎的Kabyl发现的双核引起重启的原因及修改的原理,487楼是AMI BIOS的详细修改方法。
3.请使用winhex修改,最好不要用ultraedit修改.
4.replace修改后的DSDT需要用MMTOOL 2.2.2版本,请不要使用MMTOOL 3.12版本,否则会出现"1Bh This is non-editable module!!"的错误.

5.只要你自己按照操作步骤修改了,不会出问题的.
1

查看全部评分

Rank: 2Rank: 2

UID
557343
帖子
487
PB币
556
贡献
0
技术
3
活跃
376
6F
发表于 2008-8-14 23:30:11 IP属地北京
没错,尤其是第3点,ultraedit在复制大块数据时经常出问题,所以最好用winhex。
MMTOOL 3.12有些会报错有些不会。

Rank: 2Rank: 2

UID
5195
帖子
306
PB币
1508
贡献
0
技术
0
活跃
170
7F
发表于 2008-8-16 17:42:24 IP属地未知
支持一下,这个不错。新极光E6-B062的bios
主板名称        Haier G31T-M2
通过上述方法修改已经验证OK

不知道怎么上传,需要的朋友可以说一声

Rank: 7Rank: 7Rank: 7

UID
570580
帖子
1522
PB币
3538
贡献
0
技术
1
活跃
337
8F
发表于 2008-8-16 17:54:33 IP属地四川
感谢5楼的,为了找修改方法,找了N久了。试了下,我的海尔T68终于能装Leopard了。

Rank: 2Rank: 2

UID
133399
帖子
118
PB币
1683
贡献
0
技术
0
活跃
44
9F
发表于 2008-8-20 23:31:55 IP属地四川
楼主,能帮我改一下Bios吗,我已经被cpus=1困惑很久了。

Rank: 5Rank: 5Rank: 5

UID
547015
帖子
494
PB币
393
贡献
0
技术
2
活跃
111
10F
发表于 2008-8-21 00:08:25 IP属地上海
这么有技术含量的贴,在这里竟然没什么回应,真不应该啊,顶LZ
最好有高手可以写出简单点的工具就好了。

另外建议版主将此贴置顶加精,好让大家都了解这个问题。

[ 本帖最后由 z_kui 于 2008-8-21 00:11 编辑 ]

Rank: 11Rank: 11Rank: 11

UID
247673
帖子
6452
PB币
3471
贡献
0
技术
67
活跃
176
11F
发表于 2008-8-21 00:23:34 IP属地江苏

支持pb54

Rank: 1

UID
228560
帖子
43
PB币
1611
贡献
0
技术
0
活跃
4
12F
发表于 2008-9-12 21:09:30 IP属地北京
先强烈支持一下,我的华擎P43Twins1600主板也遇到同样的问题。
但这里想请教一下,是否只要AMI的BIOS,都可以这样修改?而与主板本身的品牌无关?
谢谢。

Rank: 2Rank: 2

UID
557343
帖子
487
PB币
556
贡献
0
技术
3
活跃
376
13F
发表于 2008-9-13 12:10:04 IP属地河南

回复 12楼 bizneo 的帖子

很遗憾,不是适用于所有AMI。与厂商无关,但有些型号的BIOS DSDT表不在1B模块中。
本帖的方法适用于大多数使用AMI BIOS的G31和P35主板开不了双核的情况。

P43和P45另有方法,insanelymac上有介绍,但我自己没试过。

[ 本帖最后由 longname 于 2008-9-13 13:35 编辑 ]

Rank: 1

UID
553928
帖子
38
PB币
43
贡献
0
技术
0
活跃
15
14F
发表于 2008-10-28 18:23:26 IP属地湖北
回一下贴,太高技术含量了,肖化不了,什么时候把AWARD的BIOS也研究出来就好了,,我的是P4 631,LEO 10.5.2破解内核,始终没有识别出双核,郁闷

Rank: 7Rank: 7Rank: 7

UID
620516
帖子
1928
PB币
4009
贡献
0
技术
1
活跃
41

7周年庆典勋章

15F
发表于 2008-11-2 11:21:18 IP属地陕西
双核为什么会有这么多的问题呢 郁闷

Rank: 2Rank: 2

UID
486835
帖子
166
PB币
77
贡献
0
技术
0
活跃
0
16F
发表于 2008-11-6 12:55:54 IP属地四川
谢谢分享

Rank: 5Rank: 5Rank: 5

UID
604007
帖子
529
PB币
67
贡献
0
技术
0
活跃
236
17F
发表于 2008-11-7 07:03:11 IP属地广东
谢谢楼主分享。

Rank: 2Rank: 2

UID
21140
帖子
129
PB币
1714
贡献
0
技术
3
活跃
20
18F
发表于 2008-12-21 21:19:13 IP属地北京
pb47 pb47 pb47 我用2.22一高级模式载入ROM就出错 连替换的机会都没 郁闷啊

Rank: 1

UID
647565
帖子
79
PB币
22
贡献
0
技术
0
活跃
46
19F
发表于 2009-1-5 09:31:06 IP属地天津
看来大家还是比较在意是否有双核pb40

Rank: 1

UID
661030
帖子
9
PB币
80
贡献
0
技术
0
活跃
0
20F
发表于 2009-1-11 14:28:17 IP属地上海
我也不知怎么弄,能在简单一些吗?
pb90
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛