bios_grub 分区未知

bios_grub 分区未知

我已经使用 PC 7 个月了,没有出现任何错误。我有一个gpt分区表和一个 Bios。在安装过程中,我创建了一个 2 Mbgrub_bios分区。今天晚上使用时,gparted我注意到该分区标记为,unknown并且已使用字节数。 在此处输入图片描述

现在,这台电脑上只有 Ubuntu,我没有收到错误,但如果我安装其他操作系统,会收到错误吗?在每种情况下,我都解决了这个问题吗(如何解决)?

答案1

Gparted 在未格式化的分区上显示错误。但 bios_grub 和 Windows MSR 系统保留分区必须是未格式化的分区。它们确实具有 gpt 的唯一 GUID,并且 gparted 最终应该更新以识别它们实际上不是错误或未格式化的标准分区。

bios_grub 存在于 grub2 的 core.img 中。使用 MBR(msdos) 分区时,core.img 被写入紧接在 MBR 之后和第一个分区之前的扇区。使用 gpt,保护性 MBR 之后没有空间,因此使用单独的分区。

同样,Microsoft 使用 MBR 后的扇区来写入一些安全信息或其他信息。Grub 和 Windows flexnet 过去常常在 MBR 后的扇区中发生冲突。使用 gpt 可以消除这种情况。

GPT 与 MBR。为什么不是 MBR?

答案2

Oldfred 的回答是正确的;不过我想补充几点:

  • 正如 oldfred 所说,BIOS 启动分区(GParted 通过其bios_grub标志识别)应该不是问题,如果你安装另一个操作系统;但是,你的两个 ext4fs 分区有标志msftdata,表明它们属于视窗 基本数据分区类型。因此,如果您安装另一个操作系统(尤其是如果该操作系统是 Windows),您可能会遇到问题,因为另一个操作系统可能会尝试将文件系统解释为 FAT 或 NTFS,并且当失败时,可能会提供“准备”或“格式化”分区;在这种情况下,这两个词都意味着“破坏”。解决方案是删除msftdataGParted 或 中的标志parted;或者,如果您使用gdisk,请将类型代码从 0700 更改为 8300。
  • GPT 在 EFI 模式启动时比在 BIOS 模式启动时使用得更多。要以 EFI 模式启动,您需要一台使用可扩展固件接口 (EFI)固件(或 UEFI,即 EFI 2.x),EFI 系统分区 (ESP), 和Linux 的 EFI 引导加载程序。
  • Windows 将其分区表类型与其启动模式紧密绑定——它仅在 BIOS/CSM/传统模式下从 MBR 磁盘启动,仅在 EFI/UEFI 模式下从 GPT 磁盘启动。因此,使用 GPT 磁盘意味着您只能在 EFI 模式下安装 Windows。即使您的计算机足够老旧,可以使用传统 BIOS,这也是不可能的,除非使用“软件 EFI”,如 DUET 或三叶草。如果您有 EFI 固件,您将能够安装 Windows,但您将拥有混合模式配置——Windows 处于 EFI 模式,Ubuntu 处于 BIOS 模式。这很难管理,最好的解决方案是为 Linux 安装 EFI 引导加载程序。如果您有传统 BIOS,与 Windows 进行双启动的最佳选择可能是从 GPT 转换为 MBR。我的gdisk程序默认安装在 Ubuntu 中,可以做到这一点,但有一些注意事项;请参阅本页gdisk文档了解详情。许多非 Windows 操作系统,例如 FreeBSD,都乐意在 BIOS 模式下从 GPT 磁盘启动;但据我所知,一些较旧的操作系统,例如 DOS,根本无法处理该任务。

总的来说,第一个问题(msftdata两个分区上的错误标志)值得立即修复;尽管这样做对于仅限 Ubuntu 的安装来说并不重要,但如果您启动非 Linux 紧急工具或者 Ubuntu 中运行的一些晦涩难懂的 Linux 实用程序根据类型代码做出错误的假设,它将是一个有用的保障。

如果您喜欢以当前的方式启动,我建议您此时不要安装 EFI 引导加载程序,更不用说从 GPT 转换为 MBR;正如俗话所说,那只是修复没有损坏的东西。不过,如果您决定安装其他操作系统,则应牢记分区表类型与启动模式之间的关联。

相关内容