当主磁盘位于外部时,有什么方法可以手动祝福固件?


12

我的iMac(2010年中)一直困扰着我,将我的EFI固件升级到1.8。可悲的是,无论我尝试升级EFI多少次(通过手动安装或自动更新),它似乎都无法通过,并在下次重启时再次询问我。

主要原因似乎是我在完全外部的磁盘(火线)上运行Mac OSX。我正在为Windows保留内部磁盘。我相信这是造成我麻烦的原因,因为当人们从另一个内部磁盘运行os x时(通常是当他们用SSD驱动器替换MacBook或iMac SuperDrive时),您会发现许多人也遇到类似的问题。

在互联网上搜索时,我发现了一些资源,这些资源似乎表明可以手动祝福固件。例如这个 ; 请注意,他们的解决方案是针对一个稍微不同的问题的,在该问题中,安装Ubuntu使EFI混乱,但一切都在主磁盘上运行。

我下载了固件,提取了相关文件(IM112_0057_01B_LOCKED.scap),然后尝试-失败-手动推送更新。

我不太确定祝福的工作方式,也不知道应将efi更新保存在哪里(我很惊讶它似乎保存在磁盘上,而不是计算机本身,但是我可能会误解EFI的工作方式)。我试过了:

sudo bless -mount / -firmware blabla.scap
sudo bless -mount /Volumes/Main -firmware blabla.scap
etc…

没有成功!如果谁能更好地理解EFI / bless命令可以帮助我,我将非常感激。

--verbose如果有帮助,我可以共享命令的输出。


我想我会添加详细的输出,尽管有点混乱:pastebin.com/zE8kEZbQ
Theo

自我注意(可能会得到答案):pastebin.com/Sx1GvQpw
Graham Perrin

EFI系统分区用作固件更新的暂存区。似乎它只能识别主系列芯片组上的EFI分区。
肯特

Answers:


2

要回答您的一些问题:

  1. 固件存储在主板上。但是,更新固件时,EFI系统分区用作暂存区域。

  2. 经过服务测试之后,Mac似乎仅将内部磁盘上的EFI分区识别为暂存区域(注意:至少在我的Mac的光盘托架或任何外部驱动器上不起作用)。因此,如果您只拥有一个外部磁盘或主内部磁盘中没有ESP,那将是不可能完成的任务,至少bless命令无法完成它。

  3. 要解决您的问题,如果内部磁盘具有EFI系统分区,则可以尝试以下步骤:

    1. 启动机器希望macOS
    2. 使用bless命令准备固件更新,包括将scap文件写入ESP。
    3. 确保scap文件位于内部磁盘的ESP上。否则,通过从外部磁盘的ESP复制它来创建一个。
    4. 重新启动机器。希望升级将得到处理。

    要么

    1. 备份您的Windows
    2. 在内部磁盘上安装High Sierra,以便将固件升级到最新版本,或将内部磁盘格式化为GUID分区表(这样该磁盘上将有一个ESP来更新固件),然后使用bless命令升级手动固件。注意:强烈建议使用--verbose和--recovery选项。
    3. 恢复Windows

    要么

    我不确定您的Mac是否可以轻松地用外部驱动器替换内部驱动器。如果可以,我相信最快的方法是暂时用外部驱动器替换内部驱动器以完成升级。


1

使用比最初随附的系统更高的OS X版本时,我遇到了类似的问题。引导到原始操作系统的外部系统(在您的情况下为10.6 Snow Leopard)可以安装固件并停止询问。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.