![在 MacOS 上,如果找不到启动磁盘,消息会记录在哪里?(解决启动问题。)](https://linux22.com/image/1267133/%E5%9C%A8%20MacOS%20%E4%B8%8A%EF%BC%8C%E5%A6%82%E6%9E%9C%E6%89%BE%E4%B8%8D%E5%88%B0%E5%90%AF%E5%8A%A8%E7%A3%81%E7%9B%98%EF%BC%8C%E6%B6%88%E6%81%AF%E4%BC%9A%E8%AE%B0%E5%BD%95%E5%9C%A8%E5%93%AA%E9%87%8C%EF%BC%9F%EF%BC%88%E8%A7%A3%E5%86%B3%E5%90%AF%E5%8A%A8%E9%97%AE%E9%A2%98%E3%80%82%EF%BC%89.png)
在关闭一段时间后首次启动 iMac(Intel,Snow Leopard 10.6.6)时,Mac 从外部驱动器上的系统备份启动,而不是从内部驱动器启动。(如果机器关闭并重新启动,则会找到内部驱动器,然后一切正常启动。)是否有系统日志可以记录与此问题相关的错误消息(因为在选择启动磁盘之前,实际上没有地方可以记录此类消息)?我四处寻找,似乎什么也没找到。虽然磁盘检查无误,但我怀疑这可能是硬件问题,如果没有错误消息,那么我将非常感谢您提出有关如何解决问题的建议。
答案1
基本上,当您在系统偏好设置的启动磁盘偏好设置窗格中选择一个卷作为启动磁盘时,该信息不会存储在任何硬盘卷上的任何实际文件中(就像在某些不太智能的操作系统如 Windows BCD 中一样)。
相反,启动设备的 IORegistry 路径存储在 NVRAM(非易失性 RAM)中。例如,nvram -p
对于我来说,以下结果中显示了这一点:
<array>
<dict>
<key>IOMatch</key>
<dict>
<key>IOProviderClass</key>
<string>IOMedia</string>
<key>IOPropertyMatch</key>
<dict>
<key>UUID</key>
<string>41A14A68-12B3-4BA7-91ED-CA45CCD39B97</string>
</dict>
</dict>
<key>BLLastBSDName</key>
<string>disk3s5</string>
</dict>
</array>
在启动过程中,Mac 首先查阅 NVRAM 中存储的信息以查找启动设备。如果它发现物理设备存在(并且可启动或已授权),则它会从该设备启动。如果找不到该设备,或者发现设备不处于可启动状态(未授权),则它会动态搜索所有可以找到的剩余卷/分区,并从找到的第一个可启动卷/分区启动。
如果 NVRAM 中没有存储启动信息,那么 Mac 只会重复之前相同的动态搜索过程,并从找到的第一个可启动卷启动。我不确定搜索方法对于外部硬盘驱动器的具体情况,但一般来说,我认为它会优先选择内部驱动器而不是外部驱动器,但我可能错了。(我过去 15 年左右的所有经验都只涉及多个内部可启动卷)。
NVRAM 的内容应该保持有效,除非发生以下两种情况之一:
1) 用户在听到第一个“bong”声后立即同时按住 Command、Option、P 和 R 键,即“破坏 PRAM”。Mac 发现这些键被按下后,会清除 NVRAM 的内容,然后重新启动;听到第二个“bong”声后,您可以松开这些键。
2) 由于某种原因,主板电池故障导致 NVRAM 丢失,也许......
您可以通过几种方式查看 NVRAM 的内容以及它们是否已经丢失......
1)终端中的 nvram -p 打印 NVRAM 的内容
2) 如果您在启动时按住 Option 键(在“bong”之后立即按住),则应该会显示所有可能的启动卷的列表。如果最初未选择任何卷,则 NVRAM 中没有保存任何首选项。
3) 与 2 类似,系统偏好设置中的启动磁盘偏好设置窗格会显示卷列表。如果最初未选择任何卷,则 NVRAM 中不会保存任何偏好设置。您可以检查在尝试更改偏好设置窗格中的卷时是否有任何内容报告给 Console.app(位于 /Applications/Utlities/ 中)。