我想分享一下我升级MacBook6.1 A1342(将内存扩展到8GB,安装SSD)的经验,并解决了与在新驱动器上安装系统以及应对RAM不兼容故障有关的许多问题。
乍一看,升级旧铁似乎是一项微不足道的任务:Internet上的Internet上应该有很多文章,并且市场上有大量廉价的备件。 但是,实际上并不是所有事情都那么简单。 在零件选择阶段,商店就出现了问题
背景知识
我从MacBook手中买了一笔象征性的钱,这是我这家公司的第一台笔记本电脑,最初,我是用它来“熟悉”该公司的产品。 购买后,立即发现计算机在我们这个时代非常慢,我还没有准备好结识。 在朋友的建议下,我决定升级。 我发现,在2.5英寸SATA驱动器和2个DDR3 204pin SO-DIMM 1066MHz板条内部,它正式支持一个插槽最大支持4Gb。商店选择了250Gb SSD驱动器(选择没有问题:任何SATA 2.5都可以,范围广泛任何口味)。
但是有了RAM,并非一切都那么简单。 正式而言,此款MacBook支持1066MHz RAM,目前尚不可用,订购时,一块价格约为4000卢布。 同时,4Gb 1600MHz的价格约为2000卢布。 基于向后兼容性,速度更快。 它没有开始。 在商店中,我设法找到了一个用于启动系统的内存模块(AMD R334G1339S1S),然后我很高兴回家,没有忘记订购第二个。 为了使第二个插槽不为空,请在此处暂时打开本地1Gb插槽。
我必须说,对于慢速的macOS感到失望,我在整个分区上安装了Windows 7,并且没有备份系统-不要重复我的错误!
这样便结束了歌词,并开始用铃鼓跳舞。
在空白驱动器上安装macOS
两个人在我的村子里有一台Mac:第一个是我的,第二个是和那个one眼的暴徒,这使整个村庄都感到恐惧。 使用可用的方式:8Gb闪存驱动器,第二台装有Windows 7的笔记本电脑,专用的互联网线路。
互联网上有许多文章介绍了如何直接在macOS上制作可引导macOS闪存驱动器。 在Windows下如何使用macOS High Sierra制作可启动USB闪存驱动器的方法不是很多,在macOS中使用它们进行操作后,它们的输出结果都远远低于它。 我已经开始寻找格式为.img .iso .bin和其他格式的闪存驱动器的图像,但是可惜! 也许它们在锁定的洪流跟踪器上的某个位置,但我没有找到它。 但是我找到了BDU实用程序(
Boot Disk Utility ),您可以使用它直接从AppStore下载必要的文件并写入USB闪存驱动器。 该程序很简单,在官方网站上有带有图片的详细说明,因此在此阶段我不会停止。 我只能说不需要将USB闪存驱动器分成2个分区并下载Clover,只需下载RecoveryHD映像并将其写入USB闪存驱动器部分即可。
接下来,从闪存驱动器启动(在启动时,按住Alt直到出现菜单)。 在磁盘实用程序中,格式化磁盘(我选择了GUID,APFS)。 我们通过WiFi或有线连接到Internet,然后开始安装。 如果一切顺利,则系统本身将从Internet下载并安装在计算机上。
铁的相容性问题
在我有时间享受新的SSD驱动器和4 +1 Gb RAM之前,第二个栏很快就来了。 我安装了RAM,在About This Mac中显示了大约8Gb,然后开始用艰巨的任务折磨系统。 每天大约1-2次,计算机开始重新启动。 从Xcode到简单的TextEdit,所有应用程序中都出现诸如kernel_panic之类的错误。 甚至到了AppStore中的应用程序停止下载的地步。 首先想到的是RAM坏了。 我开车Memtest-一切都井井有条。 从BDU中创建的闪存驱动器重新安装失败(验证错误,校验和错误和其他错误)。 我不得不为直接在macOS中创建的脱机安装闪存驱动器走得很远(从Windows下很难做到)。 但是,即使这样也没有保存。
我注意到内存以1333MHz的频率运行。 因为 罂粟中没有BIOS,我们必须通过打开并行的1Gb 1066 MHz本机条来降低频率。 它帮助了! 系统不会崩溃,AppStore一切正常。 但是第二条呢?
打破整个互联网,找到解决问题的2种方法:
- 来自类似MacBookPro的EFI更新,但这并不是事实,它不会消失,因此会在About This Mac中写上Pro。
- 在括号之一中更改内存本身的SPD块中的最大允许内存频率,然后EFI将自动选择它。
降频RAM 1333MHz-1066MHz MacBook
我选择了第二个选项,因为 对我来说,杀死两人一杆的风险更便宜。 另外,由于系统不正确地识别板,将来可能会出现问题。 让EFI更新Apple本身。 要进行锁定,您需要一个活动的Linux磁盘(我使用了Ubuntu 16.04.2安装磁盘)
行动计划:
1.从SPD EEPROM存储器中删除转储;
2.找到总线频率并将其从1333MHz降低到1066MHz;
3.重新计算CRC;
4.将接收到的值记录回EEPROM。
如果您多付了16美元,则可以购买
Thaiphoon Burner并执行所有操作。 如果不是,则抽直手。 走吧
删除转储我们启动到Ubuntu,运行终端,然后我们将在root用户下进行所有操作。 安装i2c工具,加载驱动程序:
sudo -I
让我们看看我们有什么轮胎:
在评论中告诉我如何明确地在此列表中找到RAM挂起的地方? 我以前使用的是Thaiphoon Burner的免费版本,所以我知道我要去哪里。
因此,在8140总线上的SMBus nForce2适配器在2140处挂起,让我们看看里面是什么:
在这里,UU UU是我的两个酒吧,一个在1Gb上,另一个在4Gb上。 地址0x50和0x51。 例如,可以通过转储每个产品的序列号(例如序列号或生产年份)来确定哪个位置。 我已经在Thaiphoon Burner中预先查看了此信息,这就是为什么我们立即在0x51处查看该设备的原因。 让我们转储前256个字节的内存-这是SPD EEPROM:
总线频率下一步,我们在脑子/记事本中做所有事情,但是无论如何都不要写EEPROM!
我将结果转储小心地转移到了文本文档中。 阅读了
JEDEC标准编号 在21-C中,我们发现所需的参数在第12个字节中(即偏移量为0x0C),而1066MHz的频率(实际上,文档中写有533MHz的半频率)对应于15(即0x0F)。 我们在笔记本上修理然后继续。
CRC校验和这有点复杂,在头126个字节或117个字节中都考虑了CRC。 这由第一个字节的高位决定。 我的值是0x92,高位= 1,对应于CRC Coverege 0-116。 CRC值本身是使用标准CRC-CCIT 16位多项式0x1021公式计算的。 我使用了CRC在线计算器,其中的所有内容都完美插入并直接用文本计数。 重要的是要注意,计数后的CRC字节以相反的顺序写入EEPROM的第126和127字节。 就我而言,在线计算器的CRC计数为0x5047,我将在EEPROM中写入0x47,然后是0x50。
写入EEPROM在继续之前,值得再次检查所有内容:阅读JEDEC,评估风险,尝试计算已经工作的模块的CRC,以磨练技能。 发生错误时,内存将消失! 当然,您可能会感到困惑,连接到编程器并从备份中还原SPD(您这样做了吗?)。 然后,让我们继续。
就我而言,我需要写(地址=值):
0x0C = 0x0F(第12个字节的频率)
0x7E = 0x47(CRC.2的第126个字节)
0x7F = 0x50(CRC.1的第127个字节)
检查是否写入值:
显然,所有内容均已正确记录。 以防万一,我们重新检查并重新启动。 如果计算机打开并且所有内存都可用-恭喜! 我们去掉了本机的1Gb条,放第二条(不闪烁)并检查内存频率-1066MHz。
如果内存尚未刷新,则表示写保护。 您可以尝试通过Thaiphoon Burner解锁该实用程序,方法是将电阻器焊接到一个内存支脚(另一篇文章的主题),或者尝试刷新另一条。
我希望本文对某人有用。 他主要为自己写信,以免再次寻找不同地方的所有信息。