不同windows MBR的前446字节有区别吗?

Tho*_*mas 5 windows mbr

在阅读了很多关于从 linux 安装 windows 的安装算法之后,除了 windows 之外还安装 linux,.... 我有点想知道。

从我读到的例如从 linux 安装 windows 的大多数方法从 windows MBR 的前 446 个字节中创建一个副本(或他们自己的)MBR,然后使用它在 windows 所在的计算机上设置 MBR 的前 446 个字节应安装(或恢复这 446 个字节,以防万一出现问题)。

现在让我感兴趣的是,有一个名为 ms-sys(在 sourceforge 上因此是开源的)的 linux 程序可用于 win xp、win 7、.... 来创建这样合适的 MBR 备份。

在网上阅读一些内容后,前 446 个字节是 MSDOS 的剩余部分(可以这么说),我想知道以下内容:

不同 Windows 版本(XP、Windows 7、Windows 8...)的 MBR(仅前 446 个字节)有什么不同吗?或者 Windows XP 的这些 446 字节是否可以用于 Windows 7(反之亦然)。

TOO*_*GAM 3

我想他们可能是不同的。一些检查确实表明,是的,它们是不同的。

我预计他们的行为不会有太大差异。这 446 字节的基本工作是识别磁盘的另一部分,该部分具有要执行的附加代码。该附加代码通常存储在分区内。有些人喜欢使用“引导加载程序”,例如GAG或可通过 XFDisk 或 RPM(Ranish 分区管理器)安装的引导加载程序,其中 446 字节的作用略有不同,例如提供交互式界面,以便用户可以选择将控制权传递给不同的分区。基本上,这启用了“启动菜单”,以便人们可以轻松地选择从不同的操作系统启动,从而启用“多重启动”选项(以便人们可以轻松地启动不同的操作系统)。

这项基本工作可能已经很长一段时间没有发生太大变化了。(但是,有关其如何执行功能的精确细节已更改。)如果较新的操作系统有任何有用的更新,那么我会想象这些更新会执行诸如支持更大磁盘大小之类的操作。所有最新 Windows 版本(包括 XP)的启动代码很有可能支持高达 2TB,这是 MBR 格式的限制。

(我应该指出,这个答案旨在解决依赖“MBR”获取基本分区信息的系统。使用 GPT 的系统也可能有一个需要满足 GPT 标准指定的特定要求的 MBR。)

更新

我不得不得出结论,不同版本的Windows在前446字节上确实存在一些差异。到目前为止,我发现的最引人注目的文档是TechNet:Windows Vista 详细信息:Bootsect 命令行选项,其中显示用户可以指定 /nt52 或 /nt60 开关来安装不同版本的启动代码。

可能还有更多。看起来MSDN:高级格式(4K)磁盘兼容性更新“已针对Windows 7 SP1和Windows Server 2008 R2 SP1发布。此更新包含许多新信息,其中一些仅适用于Windows 8和Windows Server 2012。” 我尚未确认前 446 字节是否也因这些更改而更改,但可能性似乎很大,因为进行了更改以允许启动过程具有不同的硬件兼容性。

如果您想了解有关 446 字节内容的更多详细信息,我确实找到了一些有关某些旧版本的文档。 Win2K 引导扇区详细信息是较旧的文档,比MS KB 140418:Win NT 3.x 的引导扇区更新。