背景
- 最近准备测试一下黑苹果用来做IOS调试机器的可行性,于是在一台主机上安装了黑苹果,然后在安装过程中,遇到Clover无法引导安装镜像,反复重启。
排查过程
- 一开始以为是主板或BIOS不行,反复换了不少镜像,包括各种懒人版。
- 然后发现所有镜像均是同一症状。反复重启。
- 开始怀疑和思考人生
最后翻了一下Clover的配置文件和官方文档,发现是可以配置内存位置的。
<key>Memory</key> <dict> <key>Channels</key> <integer>2</integer> OR <string>1</string> <key>SlotCount</key> <integer>24</integer> OR <string>4</string> <key>Modules</key> <array> <dict> <key>Slot</key> <integer>0</integer> OR <string>5</string> <key>Size</key> <integer>2048</integer> OR <string>4096</string> <key>Frequency</key> <integer>1600</integer> OR <string>1333</string> <key>Vendor</key> <string>Some Company</string> <key>Part</key> <string>123456ABCDEF</string> <key>Serial</key> <string>ABCDEF123456</string> <key>Type</key> <string>DDR/DDR2/DDR3</string> </dict> </array> </dict>
Inject custom memory module tables into SMBIOS if original SPD and SMBIOS provide incorrect or incomplete information.
Channels
- Number of hardware channels supported by your memory chipset, usually two.SlotCount
- Total count of memory slots in your system. Max 24 (for now).Modules
- An array of INSTALLED modules, if your slot is empty don’t include an entry for it.
For each module:
Slot
- Physical slot location in which the module is installed.Size
- Size of the module in megabytes.Frequency
- Speed of the module in megahertz.Vendor
- Memory manufacturer namePart
- The part number identifier.Serial
- The module’s serial number.Type
- The memory module’s type.
解决问题
- 上面的配置中,发现是可以配置内存位置的。
- 拆了主机,发现这台主机内存插在第二根插槽上,也就是第1槽。按正常的开机顺序,应该是先去引导第0槽,默认是离CPU最近的那根槽。
- 抱着怀疑的态度把内存换到了第0槽,开机。
- 卧槽,真的可以了!