你目前正处于脱机状态,正在等待 Internet 重新连接

如何恢复损坏的 NTFS 引导扇区

本文的发布号曾为 CHS121517
本文是 Windows NT Workstation 常见问题 (FAQ) 的一部分,可以在 www.microsoft.com/support/ 中找到。如果有问题,请与您的 KBL 联系。WWWFAQ

本文所讨论的第三方产品是指由 Microsoft 之外的其它供应商生产的产品;对这些产品的性能或可靠性,我们不作任何默示或其它形式的保证。

小结



当使用 Windows NT 文件系统 (NTFS) 分区的 Windows NT 系统有损坏的引导扇区时,您可能永远无法看到 Windows NT 启动菜单选项,或者在启动加载程序屏幕上可能出现下列错误消息:
Windows NT 无法启动,因为下列文件丢失或已损坏 <%SYSTEMROOT%>\SYSTEM32\NTOSKRNL.EXE
如果您启动紧急修复过程,那么在紧急修复磁盘恢复任何数据前将出现下列消息:
安装程序确认系统文件已损坏
如果使用 MS-DOS 系统盘进行引导并使用 fdisk /MBR 命令,仍然不能解决该问题。本文介绍了一种恢复损坏的 NTFS 引导扇区的方法。使用该方法之前,请确保已备份了硬盘信息。

此外,如果在“磁盘管理器”中 NTFS 分区显示为“未知”,且该卷不是任何 FT 容错集的组成部分,则这种情况也可能是由损坏的 NTFS 引导扇区导致的。按照下述步骤,应当可以针对卷运行 CHKDSK 并恢复数据。

详细信息



Windows NT 3.xx 版文件系统在卷的逻辑中心区保留了 NTFS 引导扇区的复制副本,而 Windows NT 4.0 版则将该复制副本保留在分区的末尾。Norton Utilities DiskEdit 程序可以帮助查找复制引导扇区,并恢复到原始引导扇区上。您可能能够为每个硬盘恢复一个 NTFS 分区,或为每个硬盘恢复多个 NTFS 和 FAT 的组合分区。

如果磁盘的分区是用 Windows NT 4.0 创建的,并且您可以成功启动到 Windows NT 4.0 中,但却有“未知”分区,那么,请参见下列 Microsoft Knowledge Base 文章:
153973 在 NTFS 分区上恢复 NTFS 引导扇区
备注:本文假设您具备有关主分区与扩展分区方面的知识。

下列步骤说明在 1 GB 硬盘上恢复一个 NTFS 分区的过程:
  1. 从 MS-DOS 引导盘运行 Norton Utilities (Diskedit.exe)。
  2. Tools 菜单上,选择 Configuration
  3. 清除 read-only 复选框,然后单击 OK
  4. Object 菜单上,选择 Drive,选择 Physical disk 选项,选择相应的 Hard disk,然后单击 OK

    Norton Utilities DiskEdit 将读取您选择的硬盘并从 0 柱面、0 面、1 扇区开始显示数据。
  5. View 菜单中选择 As Partition Table,并记录损坏分区的开始与结束柱面、扇区与页面信息。如果扩展分区的逻辑驱动器上包含损坏的 NTFS 分区,那么,您需要浏览分区表,找到有相应的逻辑驱动器。
  6. Object 菜单上选择 Physical sector
  7. 输入起始柱面、面和扇区并选择最大扇区数,然后单击 OK。您将到达损坏分区的起始处。
  8. 将发现主 NTFS 引导扇区的面数加 1。例如,如果您查找 0 柱面、0 面、1 扇区,则请转到 0 柱面、1 面、1 扇区,在好的 NTFS 分区上您将看到类似下列内容的信息:
    00000000: EB 5B 00 4E 54 46 53 20 - 20 20 20 00 02 01 00 00.[.NTFS.........00000010: 00 00 00 00 00 F8 00 00 - 3E 00 0E 00 3E 00 00 00........>...>...00000020: 00 00 00 00 80 00 80 00 - D6 57 0A 00 00 00 00 00.........W......00000030: 1D 10 00 00 00 00 00 00 - EC 2B 05 00 00 00 00 00.........+......00000040: 02 00 00 00 04 00 00 00 - FD 1E 6F 0C 65 6F 0C 76..........o.eo.v00000050: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 FA 33 C0..............3.00000060: 8E D0 BC 00 7C FB B8 C0 - 07 8E D8 C7 06 54 00 00....|........T..00000070: 00 C7 06 56 00 00 00 C7 - 06 5B 00 10 00 B8 00 0D...V.....[......00000080: 8E C0 2B DB E8 07 00 68 - 00 0D 68 56 02 CB 50 53..+....h..hV..PS00000090: 51 52 06 66 A1 54 00 66 - 03 06 1C 00 66 33 D2 66QR.f.T.f....f3.f000000A0: 0F B7 0E 18 00 66 F7 F1 - FE C2 88 16 5A 00 66 8B.....f......Z.f.000000B0: D0 66 C1 EA 10 F7 36 1A - 00 88 16 25 00 A3 58 00.f....6....%..X.000000C0: A1 18 00 2A 06 5A 00 40 - 3B 06 5B 00 76 03 A1 5B...*.Z.@;.[.v..[000000D0: 00 50 B4 02 8B 16 58 00 - B1 06 D2 E6 0A 36 5A 00.P....X......6Z.000000E0: 8B CA 86 E9 8A 36 25 00 - B2 80 CD 13 58 72 25 01.....6%.....Xr%.000000F0: 06 54 00 83 16 56 00 00 - 29 06 5B 00 76 0B C1 E0.T...V..).[.v...00000100: 05 8C C2 03 D0 8E C2 EB - 8A 07 5A 59 5B 58 C3 BE..........ZY[X..00000110: 54 01 EB 03 BE 34 01 E8 - 09 00 BE A8 01 E8 03 00T....4..........00000120: FB EB FE AC 3C 00 74 09 - B4 0E BB 07 00 CD 10 EB....<.t.........00000130: F2 C3 1D 00 41 20 64 69 - 73 6B 20 72 65 61 64 20....A disk read00000140: 65 72 72 6F 72 20 6F 63 - 63 75 72 72 65 64 2E 0Derror occurred..00000150: 0A 00 29 00 41 20 6B 65 - 72 6E 65 6C 20 66 69 6C..).A kernel fil00000160: 65 20 69 73 20 6D 69 73 - 73 69 6E 67 20 66 72 6Fe is missing fro00000170: 6D 20 74 68 65 20 64 69 - 73 6B 2E 0D 0A 00 25 00m the disk....%.00000180: 41 20 6B 65 72 6E 65 6C - 20 66 69 6C 65 20 69 73A kernel file is00000190: 20 74 6F 6F 20 64 69 73 - 63 6F 6E 74 69 67 75 6Ftoo discontiguo000000A0: 75 73 2E 0D 0A 00 33 00 - 49 6E 73 65 72 74 20 61us....3.Insert a000000B0: 20 73 79 73 74 65 6D 20 - 64 69 73 6B 65 74 74 65system diskette000000C0: 20 61 6E 64 20 72 65 73 - 74 61 72 74 0D 0A 74 68and restart..th000001D0: 65 20 73 79 73 74 65 6D - 2E 0D 0A 00 00 00 00 00e system.......000001E0: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00................000001F0: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 55 AA..............U.
    这是有效的 NTFS 引导扇区。偏移量(左侧的第一列)是 00000000。当您找到原始 NTFS 引导扇区时,请记录位置(___柱面、___面、___扇区)。然后,您必须查找备份的 NTFS 引导扇区。

    备注:要找到 NTFS 引导扇区的备份副本,请阅读下面两节独立的内容。如果分区是在 Windows NT 3.xx 版下创建的,请遵循第一节;如果分区是在 Windows NT 4.0 版下创建的,请遵循第二节。

    第一节:查找由 Windows NT 3.xx 版创建的分区的备份副本



    1. 将分区的柱面总数除以 2。在上述示例中,柱面总数为 1014,因此查找目标为柱面 507。建议从该数字中减去 5 个柱面数,因为 NTFS 将查找目标放在逻辑中心。
    2. Object 菜单上选择 Physical sector
    3. 输入柱面数(在本例中为 502)、0 面、1 扇区、最大扇区数,然后单击 OK。就会到达该位置。
    4. Tools 菜单中选择 Find
    5. 输入十六进制字符串 4E 54 46 53 20,然后搜索该字符串。找到一个字符串时,请记录柱面数、面数与扇区数。请确保它在该扇区的起始位置。如果不在起始位置,请继续搜索直到在起始位置找到字符串。在扇区(该扇区类似原始引导扇区)的起始处找到字符串之后,就可以准备复制该扇区了。

      备注:如果所显示的数据不是按相同格式出现的,则可能有必要在选择搜索字符串后从 View 菜单中选择 As Hex。
    6. Object 菜单上选择 Physical sector
    7. 输入备份引导扇区的柱面、面与扇区信息。此时,仅选中一个扇区(这一点很重要),然后单击 OK 您将回到备份引导扇区中。如果翻向下一页,应当只看得见该扇区。如果在该扇区之后可以看到更多的扇区,请停止向前,并重新选中仅一个 Physical sector
    转到下述步骤 9,并继续执行到结尾。

    第二节:查找由 Windows NT 4.0 创建的分区的备份副本



    1. 使用上述步骤 2 中找到的分区表信息,记录下损坏分区的末尾柱面、扇区和面信息。
    2. 从 Object 菜单中选择 Physical 扇区。输入末尾柱面、面与扇区,然后,仅选中一个要读取的扇区(这一点很重要)。单击 OK 时,您将进入备份的 NTFS 引导扇区中。如果翻向下一页,应当只看得见该扇区。如果在该扇区之后可以看到更多的扇区,请停止向前,并重新选中仅一个 Physical 扇区。
    转到下述步骤 9,并继续执行到结尾。

  9. 转到下述步骤 9,并继续执行到结尾。从 Edit 菜单中选择 Mark,并使用箭头键选中整个扇区。
  10. 转到下述步骤 9,并继续执行到结尾。从 Tools 菜单中选择 Write To,并输入原始引导扇区的位置(已在上述步骤 4 中记录)。当您单击 OK 时,系统将提问您是否确定。再次单击 OK,会将备份扇区写入原始引导扇区。
  11. 转到下述步骤 9,并继续执行到结尾。退出 Norton Utilities DiskEdit 程序,然后重新启动计算机。如果原始引导扇区确实已破坏,现在应当能够启动您的计算机;或者,如果它在磁盘管理器中显示为“未知”,那么,您应当能够对该分区运行 chkdsk /F,以使该分区能够重新被访问。
3.10 3.50 3.51 4.00 virus forms bootsector
属性

文章 ID:121517 - 上次审阅时间:10/06/2003 21:46:00 - 修订版本: 1.2

  • Microsoft Windows NT Advanced Server 3.1
  • Microsoft Windows NT Server 3.5
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Workstation 3.1
  • Microsoft Windows NT Workstation 3.5
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Workstation 4.0 开发员版
  • Microsoft Windows NT Advanced Server 3.1
  • kbhowto kbnetwork kbfaq KB121517
反馈