黑苹果Clover无法引导安装镜像,反复重启

背景

  • 最近准备测试一下黑苹果用来做IOS调试机器的可行性,于是在一台主机上安装了黑苹果,然后在安装过程中,遇到Clover无法引导安装镜像,反复重启。

排查过程

  1. 一开始以为是主板或BIOS不行,反复换了不少镜像,包括各种懒人版。
  2. 然后发现所有镜像均是同一症状。反复重启。
  3. 开始怀疑和思考人生
  4. 最后翻了一下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 name
    • Part - The part number identifier.
    • Serial - The module’s serial number.
    • Type - The memory module’s type.

解决问题

  1. 上面的配置中,发现是可以配置内存位置的。
  2. 拆了主机,发现这台主机内存插在第二根插槽上,也就是第1槽。按正常的开机顺序,应该是先去引导第0槽,默认是离CPU最近的那根槽。
  3. 抱着怀疑的态度把内存换到了第0槽,开机。
  4. 卧槽,真的可以了!