AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 501394
Accepted
Marco van Hilst
Marco van Hilst
Asked: 2014-07-23 20:13:32 +0800 CST2014-07-23 20:13:32 +0800 CST 2014-07-23 20:13:32 +0800 CST

Ubuntu 安装程序覆盖未安装的磁盘上的 Windows 8 引导加载程序

  • 772

当我在外部硬盘驱动器的分区上安装 Ubuntu 时,这一切就开始了。在 Ubuntu LiveUSB 的安装程序中,配置是在外部硬盘 (/dev/sdc3) 的空白空间中创建一个 ext4 分区,并将引导加载程序写入 /dev/sdc。安装顺利完成,我能够很好地启动到新的 Ubuntu 分区 - 只需一次。

重新启动后,我收到了来自 Secure Boot 的投诉(Secure Boot Violation - Invalid signature),这很奇怪,因为我没有告诉安装程序在 /dev 上触摸原始引导加载程序(或任何与此相关的东西) /sda。在驳回投诉后,我收到了 GRUB 提示,这也很奇怪,因为我还没有达到可以选择引导顺序的地步。我在没有外部 HDD 的情况下重新启动以验证它是在主驱动器上而不是外部驱动器上,此时 GRUB 给了我一个终端而不是菜单。输入“退出”让我回到 Windows 8。

我试图通过在命令提示符模式下启动 Windows 并使用bootrec /fixmbrand来擦除 GRUB bootrec /fixboot,但它没有效果,GRUB 仍然存在。

所以我的问题是:

  1. 当我将 /dev/sdc 指定为引导加载程序分区并将 /dev/sdc3 指定为 Ubuntu 安装分区时,为什么 Ubuntu 的安装程序决定将 GRUB 写入 /dev/sda 和 /dev/sdc?
  2. 我怎样才能在恢复模式下用 Windows 以外的东西摆脱 GRUB?
boot
  • 2 2 个回答
  • 3482 Views

2 个回答

  • Voted
  1. Best Answer
    Rod Smith
    2014-07-24T05:13:39+08:002014-07-24T05:13:39+08:00

    请忘掉你所知道的关于引导加载程序安装的一切,至少关于正在讨论的计算机。您正在尝试将 BIOS 假设应用于 EFI(非 BIOS)计算机,但它们不适用。(是的,我知道大多数人,甚至制造商,都将 EFI 称为 BIOS,但这只会引起混淆。有关此主题的更多详细信息,请参阅 Adam Williamson 的博客文章。)Windowsbootrec /fixmbr命令旨在处理 BIOS 模式启动,因此不适用于您。我不知道bootrec /fixboot; 它在基于 EFI 的计算机上可能有用也可能没用。

    在 EFI 下,所有引导加载程序和相关程序都驻留在EFI 系统分区 (ESP) 中,这是一个 FAT 分区,其目的是保存引导加载程序和相关文件。通常,一台计算机只有一个 ESP,但一台计算机拥有多个 ESP 是合法的。双磁盘计算机可能有一个、两个、三个或更多 ESP。在多 ESP 计算机的情况下,不清楚 Ubuntu 安装程序将使用哪一个。理论上, Ubuntu 安装程序应该使用标识为“EFI 引导分区”的分区(它们自己的非标准名称对于 ESP)在安装程序中;但是,我怀疑 Ubuntu 是否始终如一地这样做。(我还没有机会深入了解这一点。)无论如何,Ubuntu 安装程序在以 EFI 模式安装时保留了一个 BIOS 模式提示,提示在何处安装引导加载程序,但它完全没有用!我认为 Launchpad 上有关于此的错误报告,但快速搜索没有找到它。

    那么,理论上,基于 EFI 的计算机可以安装数十个引导加载程序。固件实际使用哪一个?这是由一组 NVRAM 条目确定的,这些条目标识引导加载程序并列出它们应该被尝试的顺序。NVRAM 条目通过分区和文件名识别引导加载程序。

    不清楚您是否拥有一个、两个或更多 ESP;然而,因为 NVRAM 条目通过分区和文件名识别引导加载程序,所以该细节基本上是无关紧要的。有可能发生的事情是 Ubuntu 将 GRUB 添加到 ESP,并在计算机的 NVRAM 中添加了一个条目,告诉它默认使用 GRUB。(事实上​​,它会指向 Shim,它是 Linux 处理安全启动的工具之一。Shim 然后将启动 GRUB。)我不确定为什么你会收到安全启动警告,然后是 GRUB。也许您有一个直接指向 GRUB 的 NVRAM 条目,而无需经过 Shim,然后是一个指向 Shim 的条目。这可以解释它,但 AFAIK Ubuntu 安装程序不会以这种方式设置。

    在 EFI 下,您可以编辑 NVRAM 条目来控制引导顺序。在 Linux 中,该efibootmgr实用程序完成这项工作。在 Windows 中,您可以使用EasyUEFIbcdedit等第三方工具。使用,单独键入命令以查看引导条目列表,然后使用该选项设置引导顺序,例如让固件首先尝试,如果失败则启动,最后尝试。(当然,您需要根据输出为您的系统设置顺序efibootmgr-oefibootmgr -o 5,3,8Boot0005Boot0003Boot0008efibootmgr没有任何选项。)大多数 EFI 都有自己的引导管理器,使您能够选择引导加载程序。但是,细节因一台计算机而异。您通常必须在引导过程的早期按功能键才能进入此引导管理器。

    • 3
  2. mchid
    2014-07-23T20:24:41+08:002014-07-23T20:24:41+08:00
    1. 我认为您必须告诉它不要安装到 /dev/sda,因为这是默认安装的位置。

    2. 使用 Windows 修复盘按照以下说明操作http://www.fixedbyvonnie.com/2013/12/how-to-repair-the-efi-bootloader-in-windows-8/我相信您仍然需要重新创建引导配置数据 (BCD) 存储来解决您的问题(/fixmbr bootrec /fixboot 是不够的)。

    • 0

相关问题

  • grub 菜单中的“恢复”选项是什么?

  • 用户如何避免在启动时输入密码?[关闭]

  • 更改 Wubi 的启动顺序

  • 如何在 Ubuntu 启动时显示或隐藏启动消息?

  • 如何避免启动时出现“S to Skip”消息?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve