現在オフラインです。再接続するためにインターネットの接続を待っています

NTFS パーティション上の NTFS ブート セクタの回復

この記事は、以前は次の ID で公開されていました: JP153973
現象
Windows NT Server または Workstation 上のボリュームがアクセス不能になったり、ディスク アドミニストレータで "unknown" と表示される場合は、ブート セクタが破損している可能性があります。この資料では、NTFS に保存されているブート セクタの予備のコピーを探し出し、これをディスク上の正しい位置に復元する方法について説明します。

ここでの情報は、次の 2 つの条件を満たしている場合にのみ適用可能です。
  1. ファイル システムが NTFS であること。現在のところ、FAT ではブート セクタのコピーは保存されません。
  2. お使いのマシンで Windows NT を起動できること。
注 : Windows NT を起動したり、別の Windows NT マシンのドライブへ移動することができない場合は、Microsoft Knowledge Base の次の資料に従ってください。

121517: How to recover from a corrupt NTFS bootsector
121517[NT] 壊れた NTFS ブート セクタの回復方法
解決方法
この問題を解決するには、バックアップ ブート セクタのコピーを取得し、これをハード ディスク上の正しい位置にコピーする必要があります。

Windows NT 3.5x の場合、このコピーは論理ボリュームの中央 (Volume Middle) に保存されます。

Windows NT 4.0 と Windows 2000 では、コピーの保存される位置が論理ボリュームの最後 (Volume End) に変更されているため、取得方法が異なります。ここに示す例では、Windows NT 版 Disk Probe (dskprobe.exe) を使用します。これは、Windows NT 4.0 リソース キットに含まれているものですが、適切な .dll ファイルがインストールされていれば Windows NT 3.5x 上でも動作します。

注 :

次の手順で確実に回復を行うには、NTFS のブート セクタおよびそのコピーが有効であることを確認した後で、そのセクタをファイルに保存しておくとよいでしょう。保存するには、セクタを表示した状態で、[ファイル] メニューの [名前を付けて保存] をクリックし、パスおよびファイル名を指定します。

プライマリ パーティションのブート セクタの回復


  1. Disk Probe で [Drives] メニューの [Physical Drive] をクリックします。PhysicalDriveX を選択します。ここで、X はディスクに順番に付けられた番号になります。対象となるディスクの番号は、ディスク アドミニストレータを使って調べることができます。たとえば、システム内に SCSI ID #1、#3、#5 の 3 つの SCSI ディスクが存在する場合、ディスク アドミニストレータでそれぞれディスク 0、1、2 と表示されます。この状態で SCSI ID #3 のディスクを削除すると、ID #5 の SCSI ディスクがディスク 1 になります。
  2. 修復する PhysicalDriveX をダブルクリックします。下のボックスにある [Read Only] チェック ボックスをオフにし、[Set Active] をクリックします。PhysicalDriveX に [Active Handle] がセットされていることを確認し、[OK] をクリックします。
  3. [Sectors] メニューから [Read] をクリックし、[STARTING SECTORS] に「0」、[Number of Sectors] に「1」を入力して [Read] をクリックします。
  4. これで、物理ディスクのマスタ ブート レコード (MBR) に移動しました。これを確認するには、オフセット 8B から "Invalid Partition Table...." という ASCII テキストが右側の欄に表示されているかどうかを調べます。[View] メニューから [Partition Table] をクリックします。[partition table index] ボックスで、スクロール バーを使って対象となるパーティションを選択し、そのパーティションをダブルクリックします。左下のボックスに表示される [Relative Sectors] の値を、下欄に記録し、このボックスの隣りにある [GO] タブを選択します。

    Relative Sectors の値 __________
  5. 次に、[View] メニューから [Bytes] をクリックして、現在の位置を確認します。ブート セクタの破損の程度に応じた、ASCII 文字列が見つかります (右上隅の NTFS やオフセット 130 の "A disk Read error occurred..." など)。[View] メニューから [NTFS bootsector] をクリックします。このビューで、Windows NT 4.0 の場合は [Volume End]、Windows NT 3.5x の場合は [Volume Middle] をそれぞれクリックします。これで、ブート セクタのバックアップ コピーに移動したはずです。"incomplete Data Read" というエラーが表示されたり、バイト列を調べた結果、ブート セクタのバックアップ コピーではないと思われる場合には、プライマリ ブート セクタが壊れていて、バックアップ コピーへの移動に必要な値が間違っています。このようなときは、ブート セクタが見つからない、または破損がひどい場合の回復方法について述べた次の項に進んでください。それ以外のときは、手順 6 を続行します。
  6. [View] メニューから [Bytes] をクリックし、NTFS のブート セクタが表示されていることを確認します。確認できたら、[Sectors] メニューから [Write] をクリックし、ダイアログ ボックスに正しいハンドルおよび PhysicalDrive が表示されていることを確認します。[Starting Sector to write Data] ボックスに、手順 4 で記録した相対セクタの数を入力し、[Write it] をクリックします。
  7. [Sectors] メニューに移動して、セクタ数を「1」にしたまま、手順 4 で記録した相対セクタを入力し、[Read] をクリックします。データが書き込まれていることを確認してください。
  8. Disk Probe を終了し、システムを再起動します。
元のコピーがなくなったり、ひどく破損していたり、使用できるデータを含んでいなかった場合は、バックアップ ブート セクタを修復します。

ブート セクタが見つからない、または破損によってプライマリ ブート セクタ ポインタの情報が正しくない (通常はセクタ数が間違っている) 場合には、次の手順に従って回復してください。
  1. Disk Probe で [Drives] メニューの [Physical Drive] をクリックします。PhysicalDriveX を選択します。ここで、X はディスクに順番に付けられた番号になります。対象となるディスクの番号は、ディスク アドミニストレータを使って調べることができます。
  2. 表示する PhysicalDriveX をダブルクリックします。下のボックスにある [Read Only] チェック ボックスをオフにし、[Set Active] をクリックします。PhysicalDriveX に Active Handle がセットされていることを確認し、[OK] をクリックします。
  3. [Sectors] メニューから [Read] をクリックし、[STARTING SECTORS] に「0」、[Number of Sectors] に「1」を入力して [Read] をクリックします。
  4. これで、物理ディスクの MBR に移動しました。これを確認するには、これを確認するには、オフセット 8B から "Invalid Partition Table...." という ASCII テキストが右側の欄に表示されているかどうかを調べます。[View] メニューから [Partition Table] をクリックします。対象となるパーティションの番号を選択します。
  5. ここで必要な値は、[Total Sectors] と [Relative Sectors] の 2 つです。[Relative Sectors] の値は、ブート セクタを配置すべき場所を指すため、記録しておく必要があります。ブート セクタのバックアップ コピーの位置を求めるには、次のように計算します。

    Total Sectors: _________
    Relative Sectors: _________

    例 1 : バックアップ コピーがボリュームの最後に保存される Windows NT 4.0 の場合

                       Total Sectors  -->  1062880               + relative Sectors -->       32 +                                      ---------                                       1062912               - Minus one sector -->        1 -                                      ---------                Backup bootsector -->  1062911




    例 2 : バックアップ コピーがボリュームの中央に保存される Windows NT 3.5x の場合

                       Total Sectors  -->  1062880                    Divided by 2  -->   531440               + relative Sectors -->       32 +                                      ---------                Backup bootsector -->   531472


  6. Total Sectors: _________[Sectors] メニューの [Read] をクリックし、[Starting Sector] に手順 5 で計算した値を、[Number of sectors] に「1」を入力します。[Read] をクリックすると、バックアップ ブート セクタに移動します。
  7. Total Sectors: _________[View] メニューから [Bytes] をクリックし、NTFS のブート セクタが表示されていることを確認します。確認できたら、[Sectors] メニューから [Write] をクリックし、ダイアログ ボックスに正しいハンドルおよび PhysicalDrive が表示されていることを確認します。[Starting Sector to write Data] ボックスに、手順 5 で記録した相対セクタの数を入力し、[Write it] をクリックします。
  8. Total Sectors: _________[Sectors] メニューに移動して、セクタ数を「1」にしたまま、手順 5 で記録した相対セクタを入力し、[Read] をクリックします。データが書き込まれていることを確認してください。
  9. Total Sectors: _________Disk Probe を終了し、システムを再起動します。

拡張パーティションのブート セクタの回復

  1. Disk Probe で [Drives] メニューの [Physical Drive] をクリックします。PhysicalDriveX を選択します。ここで、X はディスクに順番に付けられた番号になります。対象となるディスクの番号は、ディスク アドミニストレータを使って調べることができます。
  2. 表示する PhysicalDriveX をダブルクリックします。下のボックスにある [Read Only] チェック ボックスをオフにし、[Set Active] をクリックします。PhysicalDriveX に Active Handle がセットされていることを確認し、[OK] をクリックします。
  3. [Sectors] メニューから [Read] をクリックし、[STARTING SECTORS] に「0」、[Number of Sectors] に「1」を入力して [Read] をクリックします。
  4. これで、物理ディスクの MBR に移動しました。これを確認するには、オフセット 8B から "Invalid Partition Table...." という ASCII テキストが右側の欄に表示されているかどうかを調べます。[View] メニューから [Partition Table] をクリックします。[View] メニューの [Partition Table] をクリックします。
  5. このビューの [Partition Table Index] ボックスで、拡張パーティションが含まれているパーティションを選択します。選択すると、[System ID] ボックスに "Extended" と表示されます。たとえば、対象となるパーティションが拡張パーティションの 4 番目の論理ドライブである場合は、[Next partition] を 4 回クリックします。[System ID] ボックスに "NTFS" と表示されます。
  6. [Partition Table Index] ボックスで、拡張パーティションが含まれているパーティションをダブルクリックします。[System ID] ボックスに "Extended" と表示されます。

    次に、拡張パーティション中の修復が必要な論理ボリュームに移動します。たとえば、破損したボリュームがパーティションの 2 番目のボリュームである場合は、[Next partition] を 2 回クリックします。拡張パーティション中の各ボリュームが表示されるたびに、[System ID] フィールドにそのボリュームのファイル システムが示されます。

    修復が必要なパーティションが見つかったら、Disk Probe のタイトル バーに表示されている、現在のセクタ、相対セクタ、このボリュームの総セクタを記録します。これらの情報を使って、ブート セクタ のバックアップ コピーの位置を計算します。

    現在のセクタ ________________________
    相対セクタ _______________________
    総セクタ _________________________

    [Go] をクリックして、破損しているボリュームのブート セクタに移動します。タイトル バーに表示されている、このセクタの位置を記録します。

    ブート セクタ ___________________________

    正しいセクタが表示されていることを確認するため、[View] メニューから [Bytes] をクリックします。セクタの破損の程度が軽い場合は、右側の欄に ASCII のエラー テキストが表示されます。ただし、セクタが完全に上書きされている場合、これが表示されないこともあります。

    この位置を記録しておきます。これが、バックアップ ブート セクタのコピー先になります。

                  Current sector    __________              Relative sectors  __________              Total Sectors     __________

  7. バックアップ コピーを見つけるには、手順 6 で記録した相対セクタ、総セクタ、現在のセクタの 3 つの値が必要です。これらの値を使って次のような計算を行います。

    例 1 : バックアップ コピーがボリュームの最後に保存される Windows NT 4.0 の場合

                             Current sector:   819200                         Total Sectors:    243680 +                                           ======                                          1062880                       Relative Sectors        32 +                                           ======                                          1062912                            Less one            1 -                                           ======                       Backup Bootsector  1062911




    例 2 : バックアップ コピーがボリュームの中央に保存される Windows NT 3.5x の場合

                             Current sector:   819200  + Total Sectors: 243680 divided by 2 :   121840 +                                           ======                                           941040                     + Relative Sectors        32 +                                           ======                       Backup Bootsector   941072


  8. [Sectors] メニューの [Read] をクリックし、[Starting Sector] に手順 7 で計算した値を、[Number of sectors] に「1」を入力します。[Read] をクリックすると、バックアップ ブート セクタに移動します。
  9. [View] メニューから [Bytes] をクリックし、NTFS ブート セクタが表示されていることを確認します。右側の欄には、ASCII のエラー テキストが表示されるはずです。このセクタが有効なブート セクタでないと考えられる場合は、ここで操作を中断します。ブート セクタのバックアップ コピーが含まれている正しいセクタが見つかるまで、ここまでの手順を繰り返します。

    ブート セクタのバックアップ コピーであることを確認したら、このセクタを、手順 6 で調べたオリジナルのブート セクタの位置に書き込みます。[Sectors] メニューから [Write] をクリックし、ダイアログ ボックスに正しいハンドルおよび PhysicalDrive が表示されていることを確認します。[Starting Sector] ボックスに、オリジナルのブート セクタの値を入力し、[Write it] をクリックして、この情報をディスクに書き込みます。
  10. [Sectors] メニューに移動して [Read] をクリックします。セクタ数を「1」にしたまま、[開始セクタ] に、バックアップ コピーを書き込んだセクタを入力します。[Read] をクリックし、データが書き込まれていることを確認します。
  11. Disk Probe を終了し、システムを再起動します。
Norton Diskedit は、Microsoft とは関係のないベンダである Symantec Corporation の製品です。この製品のパフォーマンスや信頼性に関し、明示であると黙示であるとにかかわらず、Microsoft はいかなる保証も行うものではありません。
関連情報
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 153973 (最終更新日 2000-09-20) をもとに作成したものです。

prodnt
プロパティ

文書番号:153973 - 最終更新日: 09/08/2004 02:41:00 - リビジョン: 2.1

  • Microsoft Windows NT Workstation 3.5
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Server 3.5
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • kbtshoot _ik kbother KB153973
フィードバック