MBR 在硬盘上永远位于第 0 扇区,但是它实际上可以偏移吗?
例如,如果第一个物理磁盘扇区损坏且无法恢复,驱动器会发生什么情况?控制器是否会虚拟映射另一个扇区而不是第一个扇区,或者磁盘不再可能用作启动驱动器,而只能用作直接数据存储?
答案1
MBR 在硬盘上永远位于第 0 扇区,但是它实际上可以偏移吗?
MBR 位于逻辑地址 0– 逻辑块地址。系统固件并不真正关心驱动器如何物理映射它。
例如,如果第一个物理磁盘扇区损坏且无法恢复,驱动器会发生什么情况?控制器是否会虚拟映射另一个扇区而不是第一个扇区,或者磁盘不再可能用作启动驱动器,而只能用作直接数据存储?
如果扇区被重新映射,则重新映射用于所有目的。
重新映射由磁盘控制器完成。但是,启动系统的不是磁盘本身,而是计算机的固件读取该扇区,并且它会像任何其他软件一样受到控制器扇区重新映射的影响。
因此假设一个 BIOS 系统,只要该扇区(即逻辑块 0)中写入了有效的 BIOS 引导代码,无论其物理位置在哪里,驱动器都可以继续引导。
(UEFI 系统通常根本不从该扇区启动,因此无论如何它们都不会受到影响。它们的启动过程从 LBA 1 处的“GPT”分区表开始。)
答案2
MBR 在硬盘上永远位于第 0 扇区,但是它实际上可以偏移吗?
外部不是,内部是。
例如,如果第一个物理磁盘扇区损坏且无法恢复,驱动器会发生什么?控制器是否会虚拟映射另一个扇区而不是第一个扇区
否。没有“映射”。驱动器将在几次读取尝试后返回读取错误。此事件将影响 SMART 值:驱动器将把“待处理扇区数”增加一。
或者磁盘不再可能用作启动驱动器,而只能用作直接数据存储?
在这种情况下,驱动器既不能用于启动,也不能用作数据驱动器。这不包括不使用操作系统按扇区存储数据。
一旦您决定向第一个扇区(扇区 0)发出写入请求,驱动器就会在内部将此扇区重定向到备用扇区。写入命令是驱动器放弃内容的信号。如果没有写入命令,下次尝试读取此扇区可能会成功,因此一系列读取尝试失败并不是重新映射此扇区的理由。如果您用垃圾内容重写第一个扇区,您的驱动器在物理上将没有问题。对第一个扇区的任何后续读取尝试都将成功。这里唯一的缺点是第一个扇区不包含有用的信息。因此您将无法在此光盘上安装卷。
但是使用 Testdisk 之类的软件,您有很大机会重建 MBR 中丢失的信息。这意味着,Testdisk 不仅会将内容写入第一个扇区(以触发重新映射过程),还会用之前收集的有用信息填充它。
顺便说一下,对 MBR 的写入命令将使“待处理扇区数”减少一,并增加“重新分配扇区数”。
答案3
这 主引导记录 (MBR) 第一个扇区包含引导代码和分区表。因此,如果损坏,磁盘将不再可引导。
一些自定义 BIOS 将第一个未损坏的扇区定义为引导扇区,但这不是一般规则。
如果磁盘固件已成功恢复并将该扇区映射到其备用保留扇区之一,则该扇区不再损坏。
GPT 磁盘与 MBR 不同,它具有扇区的备份副本,可用于恢复其数据。