“检测到GPT。使用引导修复时,请创建一个BIOS-Boot分区”


12

由于我将Windows更新到8.1,因此Grub菜单消失了。我使用Live USB运行Ubuntu,使用了Boot-Repair,但是出了点问题。如果单击“推荐维修”,则会出现此错误:

检测到GPT。请创建一个BIOS-Boot分区(> 1MB,未格式化的文件系统,bios_grub标志)。这可以通过Gparted之类的工具执行。然后再试一次。或者,您可以在激活[Separate / boot / efi partition:]选项后重试。

因此,我尝试使用bios_grub标志设置sda9(我认为它是Ubuntu系统分区,因为它是ext4),然后再次运行Boot-Repair。没用

我不知道该怎么办。在更新Windows之前,我的Grub(使用UEFI)运行良好。

我删除了bios_grub标志。然后我用了fsck,没有发现任何错误。因此,我再次尝试使用Boot-Repair,但始终会出现“检测到GPT”错误。我的引导处于UEFI模式,安全引导处于“关闭”状态。

在关闭SecureBoot的情况下引导PC时,可以进入GRUB菜单。但是它是空的(唯一的声音是“系统设置程序”)。

我安装了Ubuntu系统磁盘:

sudo mount /dev/sda9 /mnt

和其他的事情:

sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys

我使用以下命令登录系统chroot

sudo chroot /mnt

我重新安装了grub:

grub-install /dev/sda
update-grub2

但这仍然行不通。


对于以后的读者来说,此答案已为我解决(引导实际分区,然后运行grub-install):askubuntu.com/questions/546582/surface-pro-3-no-grub-menu/…–
CornSmith

Answers:


11

首先,bios_grubin parted或GParted中的标志是一种识别BIOS引导分区的方法。当计算机以BIOS模式引导时,GRUB 2使用此分区保留其部分引导代码。它的大小通常约为1MiB,尽管在某些情况下可能会更小。最重要的是,如果bios_grub在Linux根(/)分区上设置了标志后,Boot Repair重新运行了GRUB安装程序,则可能已损坏了该分区。因此,在您执行其他操作之前,我建议您:

  1. bios_grub从Linux根(/)分区中删除该标志。
  2. /使用fsck(或GParted或其他GUI工具中的等效功能)测试您的Linux根()分区。如果分区有错误,请修复它们或从备份中还原系统。仅在确定可以装入分区并正常使用后,才可以继续。

其次,您有此问题,因为您是在BIOS / CSM /传统模式而不是EFI模式下引导紧急光盘的。您需要学习如何控制计算机的启动模式。通常,您可以通过引导管理器来执行此操作,在引导过程的早期(在GRUB出现之前),按Esc或功能键即可访问该管理器。但是如何访问该启动管理器或其提供的选项尚无标准化。因此,您可能需要尝试找出答案。

第三,如果您能弄清楚如何以EFI模式引导活动CD,则Boot Repair应该可以解决该问题。或者,您应该能够使用我的rEFInd引导管理器的CD-R或USB闪存驱动器版本来引导 Linux。Linux启动并运行后,您应该可以efibootmgr将GRUB还原为默认的引导加载程序,但是详细信息取决于它现在的配置方式。简要地说,您必须使用该-o选项efibootmgr将GRUB的条目设置为第一个条目。该问题和解答从另一个角度涵盖了该问题。除了还原GRUB,您还可以考虑将rEFInd安装到硬盘上。


编辑:尝试使用我的rEFInd引导管理器:使用USB闪存驱动器或CD-R映像创建合适的介质并从中引导。这应该为您提供Windows的一个选项,至少为Linux的一个选项。如果可以同时引导Windows和Linux,请在Linux中安装rEFInd的Debian软件包。默认情况下,这应将计算机切换为使用rEFInd,并且您应该能够正常启动所有内容。


我删除了bios_grub标志。然后,我使用fsck,但未发现任何错误。因此,我再次尝试使用Boot-Repair,但它始终会给我“检测到GPT”错误。我的引导处于UEFI模式,安全引导处于“关闭”状态。如果我将“安全启动”设置为“开”,则会给我带来安全策略错误。如何解决GPT错误?
Kurt Bourbaki 2013年

PS当我在关闭SecureBoot的情况下引导PC时,可以进入GRUB菜单。但是它是空的(唯一的声音是“系统设置程序”)。
Kurt Bourbaki 2013年

请尝试按照我的编辑建议使用rEFInd。
Rod Smith

我使用了rEFInd,但是结果是一样的。它显示了一个具有3个选择的界面;当我选择Windows或Ubuntu时,它总是使我回到GRUB菜单,就好像系统正在重新启动一样。就像系统找不到启动所需的文件一样(我正在猜测)。实际上,即使我从系统引导中选择Ubuntu或Windows,它也会一直将我带入GRUB菜单。
Kurt Bourbaki 2013年

1
引导修复有时会用另一个GRUB副本替换Windows引导加载程序,将原始备份备份到另一个文件。在“高级启动修复”菜单中,有一个还原此类备份的选项,因此您可以尝试运行该备份,然后使用rEFInd。也有可能丢失了原始文件,在这种情况下,可能有必要从备份或使用Windows恢复磁盘进行还原。如果在选择vmlinuz*选项时rEFInd调高了GRUB ,则系统出了点问题。您有什么牌子的电脑/主板?
罗德·史密斯Rod

2

您可以按以下方式处理此问题:

  1. 启动Gparted。

  2. 确定启动分区。我的是我系统磁盘上的第一个16.00MiB。

  3. 删除分区(您将不想删除错误的分区,并且丢失所有丢失的数据!如果您不知道自己在做什么,请停止!)。

  4. 创建一个新分区(不要将其格式化为任何文件系统),应用设置。

  5. 使用“管理标志”选项将新分区标记为bios_grub。

现在,再次尝试启动修复。


我只是这样做,并且引导修复仍然看不到bios_grub分区...现在是什么?
Magix
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.