首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >‘EFI引导分区’和‘biosgrub’分区

‘EFI引导分区’和‘biosgrub’分区
EN

Ask Ubuntu用户
提问于 2014-07-20 18:53:11
回答 2查看 81.3K关注 0票数 29

为什么我需要这些?我已经在一个非UEFI (主引导记录)下安装了Ubuntu,并且已经安装了Ubuntu,没有“biosgrub”,而且它工作得很好,而其他时候,我被要求创建一个“biosgrub”分区。我不知道为什么有时我需要它,而其他我不需要(它们都在同一个系统中)。

当我使用UEFI ()时也会发生同样的情况。唯一的区别是,我被要求做一个'EFI引导分区‘,但与’生物boot‘一样,有时我被要求做它,有时我没有被要求去做它。

对于我目前的安装,我被要求做一个,但我没有,我的系统是好的。系统没有变化,相同的硬件,BIOS等.有人能弄清楚这件事吗?

EN

回答 2

Ask Ubuntu用户

发布于 2014-07-23 01:15:52

有四种条件(BIOS与EFI和MBR与GPT),但其中两种条件有相同的需求(其中一种非常罕见):

  • 在具有传统MBR分区表的基于BIOS的传统计算机上,GRUB的可执行代码会像婴儿抛出的意大利面一样四处传播。其中一些位于MBR的引导代码部分,有些位于正式未分配的后MBR扇区,有些位于Linux /boot分区中。这是一个真正的混乱,它的工作,只有因为开发人员有真正的几十年来创造聪明的黑客和解决(几乎)所有的怪癖。
  • 在具有新的GUID分区表( GPT )的基于BIOS的传统计算机上,GRUB代码类似于前面的情况;但是,MBR后面的扇区不是未分配的;它们由GPT本身使用。GPT没有提供类似的地方让GRUB劫持,所以GRUB的开发人员决定使用BIOS启动分区 ( GParted和partedbios_grub标志标识)来保存MBR磁盘上MBR后扇区中的代码。这实际上比MBR方法更安全、更干净,因为它可以保护GRUB代码不受其他程序的影响,这些程序可能试图使用未分配的空间。
  • 在具有较新的EFI而不是BIOS的计算机上,引导加载器不存储在MBR中、官方未分配的MBR扇区中或BIOS引导分区中;相反,引导加载器作为普通文件驻留在称为EFI系统划分(ESP)的胖分区中。(令人困惑的是, Debian和Ubuntu以"EFI分区“的名称引用ESP,但这个名称是不标准的。GParted和parted将ESP标识为设置了"boot标志“,尽管这一术语在MBR磁盘上意味着完全不同。)ESP可以存在于GPT磁盘或MBR磁盘上,但前者在基于EFI的计算机上更为常见。EFI方法比BIOS方法更安全、更灵活,因为它不会将原始代码放在奇怪的地方;引导加载器驻留在文件中,就像操作系统级的程序一样。这使得它们更容易识别和操作。(OTOH,EFI还将数据存储在NVRAM中的引导加载器上,这将在引导过程中产生第二个故障点)。EFI的新鲜感也意味着它没有经过很好的测试,这导致了许多EFI特有的问题。)

GhostMotleyX,你对LiveWireBT的回应的评论认为安装BIOS/MBR是“最好的”方法。当然,这是主观的,但我不同意这一评估。BIOS/MBR方法是我刚才概述的三种方法中最不安全、最笨拙的方法。EFI方法是最安全和最灵活的方法。我怀疑,GRUB/GPT和EFI方法需要单独的分区,但这不是什么大不了的事。除了在设置系统或进行分区维护时,这些分区对您来说几乎是不可见的,并且给您很大的灵活性。与MBR不同,GPT并不局限于四个主分区,所以您不必像小妖精一样囤积主分区。

票数 49
EN

Ask Ubuntu用户

发布于 2016-05-23 12:30:09

我会给出一个额外的点/动机两者,EFI和BIOS的grub。

USB坚持从SystemRescueCD.iso启动一个动态Grub2循环。

为什么?简单的回答:它会在很多PC上启动,有些有UEFI,有的只有32位旧的BIOS,等等。

真正复杂的动机:如果可能的话,使用高级硬件(UEFI)。

实际使用示例:

  • USB棒(在GPT模式下形成)有四个分区
  • NTFS上的第一个分区(可以从Windows 7或更高的位置看到)和USB棒的其余部分
  • Grub2和SystemRescueCD.iso文件的第二个分区至少有1GiB (最好是2GiB,这样您可以同时携带两个版本的SystemRescueCD.iso,只是为了在替换旧版本之前测试新版本),我通常使用Ext4文件系统。
  • EFI的第三个分区( windows称为ESP),格式为Fat32,至少有512 USB (我见过一些PC,如果使用较少,就不会将USB棒显示为可引导的媒体)。
  • BIOS_Grub的第四个分区(没有格式,但在创建时清除)

一件重要的事情:我已经看到了一个8 thing条带(我自己的),它拒绝在物理UEFI PC引导上列出,如果分区没有对齐到圆柱,但在其他UEFI个人电脑和VirtualBOX上看到UEFI启动模式激活.当将它与MiB对齐时,它确实使用了所有的空间,结束时没有接近1MiB的未分区空间,但是当对齐到圆柱时,最后一个不完整的MiB没有被使用.如果我在做MiB分区时考虑到了这一点(换句话说,我做了一个手动的柱面对齐),那么它可以工作,但正如我所说的,它仍然是对齐的(我是手动进行的,而不是让分区工具为您完成)。

如何获得如此强大的USB恢复棒(它有两个技巧):

  1. 将分区对齐到柱面(与MiB保持更好的兼容性)
  2. 在同一个grub分区上执行grub-install -target=i 386-pc,然后执行另一个grub-install -target=x86_64-efi,因此在这两种引导模式中只使用一个grub.cfg。

它如何启动:

  • ( a)从旧的BIOS启动,将加载MBR,然后加载Stage2表单BIOS_grub分区,然后从Grub2分区加载core.img。
  • ( b)启动UEFI兼容,将从ESP分区加载.efi文件
  • 读取grub.cfg (如果存在于grub2分区)
  • 然后显示grub2菜单
  • 然后,我选择从循环SystemRescueCD.iso (带有dochace参数)启动,我在grub.cfg上设置了两个选项,一个用于32Bits,一个用于64Bits (实际上我有四个选项,因为我设置了两个dostartx参数来直接在GUI上启动)。
  • 在引导之后,我可以弹出usb棒(整个Linux都在漫游器中,这要感谢这样的docache),不需要输入任何命令,不用挂载(同样要感谢docache参数)。

有了这个棒,我可以用32位启动旧PC (如果允许从USB启动),也可以启动64位(如果它们在进程上有扩展的话),但在BIOS模式下启动。

用这个棒,我还可以用32位和64位启动新PC (如果他们允许从USB引导),但在UEFI模式下引导(啊,是的,它可以在UEFI模式下启动,然后在32位模式和64位模式下启动Linux )。

因此,我有一个usb棒恢复启动媒体,能够启动近所有的PC机,现代或旧(只需要USB引导支持),无论是32位或64位,BIOS或UEFI等.我可以选择我想运行的32位或64位。

此外,我还在一台拒绝安装Windows64Bits(旧32Bits procesor)的PC上进行了测试,但能够运行64位Linux (因为该处理器上存在PAE功能)。

附带注意:像NTFS这样的第一个分区是用来保存可以与Windows 7和更高版本共享的数据(XP不会看到它,因为它不支持GPT分区).它必须是第一个,不需要在光盘的初始部分,可以随时随地访问,但mush作为第一个条目驻留在分区表上,这是由可移植窗口模式导致的,它具有特定的代码编程,以避免访问比第一个分区更多的分区,因此不能同时挂载其他分区。

对于Windows和USB分区:如果您在分区表上交换分区条目,换句话说,将要访问的分区作为表中的第一个分区,windows将允许您访问它(如果它的格式是理解的,fat32和NTFS直接使用,ext2具有特殊的驱动程序等),但是只允许访问位于分区表第一项上的分区.有一个工具(称为BootICEx86.exe)可以在Windows上完成这样的工作,甚至不需要拔出usb插头。

超级额外:还有一些吊坠(我很幸运拥有一个索尼16 bit ),它可以用特殊的工具(我的工具来自词汇)进行修改,所以在Windows看来,它们是USB HDD而不是USB棒,在改变之后,所有的窗口都允许您删除、创建和管理它上的分区,同时也可以安装多个分区,每个窗口都有自己的字母。

Linux用户并不担心这一点,因为Linux将其视为一个可分区的块设备,并且不像windows那样实现特殊的代码来阻止挂载分区等。

哦,是的,这最后几段是为了防止有人在M$上读到它们,所以他们的脸向下倒在地板上,我试图(永远不会得到它,我知道这是一个丢失的强迫症)从Windows中删除如此丑陋的代码,并让用户以一种原生的方式在usb上有分区。

票数 7
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/500359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档