USB 驱动器中的 MBR 如何工作?

USB 驱动器中的 MBR 如何工作?

每个 USB 驱动器都有一个主引导记录。MBR 包含分区表。而在普通 HDD 上,MBR 可以有 4 个分区,并且 MBR 包含有关分区的信息。对于 USB,它只有 1 个分区。那么,剩下的 3 个分区是什么?我的意思是 MBR 中的 BIOS 64 字节是用于分区表的,对吗?如果只使用一个分区,那么剩下的呢?好的,如果一切顺利,MBR 具有启动签名,这将使其可启动。所以,每个 USB 都必须是可启动的,对吗?

我读了很多教程,但找不到任何关于 USB 中 MBR 的信息。我很困惑。如果上面有任何问题,请帮助我。

谢谢

答案1

每个 USB 驱动器都有一个主引导记录。

事实并非如此。我的意思是,您可以默认将前 512 个字节称为“MBR”,但它不一定是实际工作的 MBR,其中包含 MBR 特定的数据。在我的 Kubuntu 中,我可以轻松地在整个 USB 设备上创建文件系统或将该设备用作交换。


说到 USB,它只有 1 个分区。

从技术上讲,只要您设法创建它们,您就可以在 USB 驱动器上拥有 MBR(或 GPT)和分区,就像在“常规”硬盘上一样。Linux 工具对此没有问题,它们不仅可以对块设备进行分区,还可以对常规文件或已经存在的分区进行分区,无论这是否有意义。另一方面,Windows……

几个月前,我发现 Windows(7?——现在不记得了)在读取有两个分区的 USB 记忆棒时遇到了麻烦。它只接受一个分区,或者直接接受设备上的文件系统。它以前是一个可移动设备。我知道 Windows 通常可以以不同的方式对待 USB 磁盘和 USB 可移动设备。比较– “更懂行的操作系统”的有趣例子。我从未见过 Linux 做过类似傲慢的事情。

这个旧线程同意我的看法:

我买了一张 16GB PNY SD 卡,用在我的戴尔 mini 上。它在 Ubuntu 上工作得很好(当然),但我想切换可移动媒体位 (RMB),这样 Windows 就会将其视为固定磁盘。这允许在 Windows 中看到并配置多个分区。

然后:

Linux 并不关心这个 [可移动媒体位],您的 BIOS 也不关心。


MBR 具有启动签名,因此可以启动。所以,每个 USB 都必须是可启动的,对吗?

错了。即使有地方可以存放引导代码(MBR 的某些部分就是这样的地方),你也可能没有(合理的)代码。但也许你的意思是“每个 USB 都可以做成可启动的”。如果是这样,那么是的,据我所知,没有任何技术原因会阻止将 USB 驱动器做成可启动的。

不同的问题是:您的硬件会从它启动吗?较旧的主板无法从 USB 启动,它们没有这样的选项。可以通过启动到其他地方的 GRUB 或 Plop Boot Manager 等,然后链式加载到 USB 来规避此问题。

另一个问题:您的软件会从中启动吗?一旦启动过程到达需要多个文件来“召唤”工作操作系统或其他软件的特定加载程序,该加载程序就会期望在某某设备上找到文件,它可能没有驱动程序(或根本没有意图)来访问其他设备。例如,实时 CD 软件会尝试访问光驱,您需要一些技巧(由 Rufus、Yumi 等完成)才能使其与 USB 记忆棒配合使用。如果软件需要固定磁盘并且您需要从可移动磁盘启动,则可能适用相同的情况。

Linux 似乎再次在这里占有优势,以类似的方式对待各种块设备。本指南介绍如何将 Ubuntu 安装到 USB 驱动器基本上就是“为 Ubuntu 和引导加载程序选择正确的驱动器,像平常一样安装,然后从中启动”。使用 Windows没那么简单

答案2

一样。您可以像在“普通”硬盘上一样在 USB 驱动器上设置分区。因此,通过 USB 连接的硬盘是相同的,它们可以在 mbr 中拥有 4 个主分区和更多逻辑分区。USB 驱动器和硬盘之间没有任何区别。

相关内容