月度存档: 九月 2009

1000E 升级到 2G 内存时安装 OSX 需要用到的 dsdt.aml

上周去把 EPC 的内存升级到了 2G,直接发现开机进不了 OSX 了。

在两天没有电脑用之后,下定决心重装系统。重装之后,能进系统,但是重新启动之后键盘和触摸板就不能用了,电池状态指示挂了,郁闷。

在网上找了找,发现可能是 dsdt 的问题。由于内存大小变了,dsdt 中的信息不正确,继而导致 ACPI 失效,然后就整个玩完了。

一个老外找到了解决方法,通过修改 dsdt.aml 文件中的内存大小信息,就可以正确进入系统了。直接下载他提供的压缩包中的 dsdt.aml,开机直接四国了……

好吧,这个老外蛮厚道的,给出了手动处理的方法:

For the 1GB:

Name (SMBS, 0×0400)
OperationRegion (BIOS, SystemMemory, 0x3F7AE064, 0xFF)
Field (BIOS, ByteAcc, NoLock, Preserve)
{

For the 2GB:

Name (SMBS, 0×0400)
OperationRegion (BIOS, SystemMemory, 0x7F7AE064, 0xFF)
Field (BIOS, ByteAcc, NoLock, Preserve)
{

手动修改步骤

1. 首先要下载一个 dsdt.aml 反编译的工具:ACPICA – Windows Binary Tools

2. 解压后有一个 iasl.exe,把它拷贝到 dsdt.aml 所在的目录或者把 dsdt.aml 拷贝到 iasl 的目录都行,然后在命令行中运行:iasl -d dsdt.aml

3. 按照上面的说明,使用文本编辑器打开 dsdt.aml.dsl,根据你的内存大小修改 SystemMemory 后面的数值,1G 就用 0x3F7AE064,2G 就用 0x7F7AE064。

4. 再到命令行中,运行 iasl dsdt.aml.dsl,它会生成一个 dsdt.aml.aml,把它拷贝到 OSX 所在分区的根目录,覆盖原来的 dsdt.aml 即可。或者也可以把原来的文件备份一下,方便出错的还原。

参考资料

  1. eee 1000H(E) – DSDT files and the memory problem