有关 UEFI Shell 的问题 - 需要 2.0 版

有关 UEFI Shell 的问题 - 需要 2.0 版

去年圣诞节我给自己买了一台便宜的笔记本电脑,只是因为我想要一台笔记本电脑。 A东芝卫星 C55-A5310于特别。我也是笔记本电脑 OEM 软件的忠实拥护者,因此我将 Windows 8.1 留在上面,将 GParted Live USB 放在上面,拆分 NTFS 分区,并将 Ubuntu 放在新分区中。一切顺利...


问题

从 IDE 驱动器和旧版 BIOS 时代开始,我就已经是老派了,但我认为我的技能精通技术(不是吗?)。出于懒惰,我没有搞乱 EFI/ESP 启动分区,因为这个概念对我来说是新的,并且将加载代码包装在固件中对我来说似乎很疯狂,但时代在变化,所以我必须适应。当然,我应该继续阅读,但最近直到现在我已经找到了更好的方法来浪费我的时间。问题:

  1. Grub2 加载一个 shim 文件。
  2. Grub2 与 Windows Loader 愉快地相处。
  3. Windows Update 更新,请不要告诉任何人 KBXXXX 更新了 BCD/ESP 引导区。由于 Grub2 是“脏外来对象”,因此当 KBXXXX 更新配置数据时,填充程序将被删除。
  4. 由于我讨厌兜圈子,我终于摆脱了懒惰,安装了重新查找BootManager

在使用Boot Manager安装的过程中从 Windows 方向安装,并进一步阅读我决定安装UEFI外壳按照中的指示安装附加组件部分。经过多次尝试:

mountvol s: /s
copy C:\shellx64.efi S:\

我发现有两件事困扰着我:

  1. 为什么shellx64.efiEFI驱动器一定要放在根目录下?我是个爱整洁的人,所以我想安排一下我的车程......
  2. 经过多个来源的多次尝试后,我发现我没有 UEFI v. 2.3+。早期的 UEFI 固件链接指向 shell 的 v2,这是最新的,但每次我尝试安装 v2 时,都会收到 ASSERT 错误,如中所述这个邮件列表帖子。因此,我发现UEFI 上的 ArchWiki v1,现在就像一个魅力,但是:
    • 如何将 UEFI 升级到至少 2.3,以便可以使用 v2?或者
    • 如何找出我拥有的 UEFI 版本,以便我可以将 shell 更新到我能得到的最接近的 v2(如果有)?

如果这有帮助,我的安装程序/BIOS 看起来很相似InsydeH2O 版本 3.7


我学到的东西

从好的方面来说,我永远不必使用我永远无法工作的笨重的 GUI,因为我现在知道如何使用 Linux 或 Windows 手动编辑 BCD/ESP。我还了解到,在技术进步方面我不能偷懒。


更新

虽然这不是我正在寻找的答案,因此将问题悬而未决,但我能够从使用 EFI Shell 手动安装 rEFInd,链接为适用于旧版 EFI 的备用 x86-64(64 位)shell 2。这是一个 DropBox 链接,因此它可能不会持久,但发出ver命令会产生:

UEFI Interactive Shell v2.0
版权所有 2009 - 2011 英特尔(r) 公司。版权所有。 Beta 版本 1.0
UEFI v2.31(INSYDE Corp.,0x10000001)

我还是想知道如何更新到正式版。

添加于 2015 年 6 月 17 日:如果 Dropbox 链接失效,可以在重新查找 CDR 图像有 2 个版本,签名版本和未签名版本。如果在 Linux 上,可以安装映像并将任一版本复制/重命名到 EFI 分区的根目录。 请注意,即使此方法也会生成 v.2.0 的 beta 版本。我仍然保留这个问题以供将来的建议和其他可能性,例如关于如何组织 EFI 分区或更新 beta 版本的答案...

相关内容