我正在尝试了解系统启动过程。我的以下陈述正确吗:?
- MBR 引导加载程序代码绝对独立于操作系统,并且是在使用例如 DOS
format
或 Linuxfdisk
/cfdisk
命令在磁盘上创建第一个分区时编写的。 - 分区后还没有 VBR(卷引导记录)。它只在特定系统安装后创建,因为它包含系统特定的引导代码。
有人能保证
答案1
- 不。
MBR 代码可以是任意的。正如 Martin 在他的回答中所指出的,以及您的其他问题关于该主题,MBR 包含一个包含引导代码的部分。由于它是一个任意部分,因此它可以包含任何形式的代码。它可以是空的,也可以是显示有趣消息的代码或整个引导加载程序。
考虑GRUB这是一个常见的引导加载程序。 GRUB Wiki 文章中的一些图形表示请看 ScotXW 的这张图片:
如您所见,这是一个多阶段过程,但初始阶段boot.img
特定于 GRUB。该图像的副标题指出(在图像中也可见):
GNU GRUB 位于 MBR 分区的硬盘上;第 1 阶段 (boot.img) 也可以写入其中一个 VBR。
因此,该特定内存位置中的代码足够通用/足够智能,不依赖于 MBR 引导位置,而是也可以位于 VBR 中。但它仍然与 Windows 引导加载程序的外观有很大不同。随着现代安全性和其他一切的发展,拥有这些链式加载程序变得越来越普遍。
- 也许吧。如果你看看这这表明它只是卷的第一个扇区的名称。因此,每个卷在创建后都会有一个 VBR。
答案2
对于 1,您说得并不完全正确,MBR 独立于任何操作系统。它存在于磁盘上。但 MBR Boat 加载器是包含在 MBR 中的一些代码,实际上是引导代码,并且可以修改,因为它主要包含在引导过程中接下来要加载的文件的路径。
对于 2,这不是我所理解的维基百科:
在分区设备上,它是设备上单个分区的第一个扇区,整个设备的第一个扇区是包含分区表的主引导记录 (MBR)。
我从中了解到膜生物反应器是设备尽管可变比特率是分割。