共有クラスター ディスクで chkdsk /f コマンドを実行する

この記事では、共有クラスター ディスクでコマンドを chkdsk /f 実行する方法について説明します。

適用対象: Windows 10 - すべてのエディション、Windows Server 2012 R2
元の KB 番号: 176970

概要

共有クラスター ドライブで または chkdsk /f /r コマンドを実行chkdsk /fしようとすると、Chkdsk が実行されず、排他的な使用のためにドライブをロックできなかったと表示される場合があります。 コンピューターの再起動後に Chkdsk を実行するようにスケジュールすると、起動プロセス中に Chkdsk によって次のエラー メッセージが生成される可能性があります。

ドライブ上のファイル システムを特定できませんか?\ ドライブ文字

詳細

ほとんどの場合、または /R スイッチで Chkdsk を/F実行するには、共有ディスク上のオープン ハンドルが原因でコンピューターを再起動する必要があります。 通常、コンピューターの再起動時に autochk (Chkdsk の派生) がディスクをチェックできないようにするサービスやドライバーは実行されません。 ただし、Windows クラスタリングを使用している場合、共有ディスクの所有者が不明であるため、クラスター サービスが開始されるまで、ファイル システムは共有ディスクをマウントしません。 これにより、Chkdsk は、共有クラスター ディスク上のファイル システムを特定できないことを報告します。 Read-Only モードで Chkdsk を実行すると動作するように見えるかもしれませんが、Chkdsk は問題を解決しません。

共有ディスクにファイルの破損があると思われる場合は、次の手順を使用して、開いているすべてのハンドルを共有ディスクに閉じ、ドライブで Chkdsk を実行します。

  1. すべてのプログラムを終了し、クラスター対応以外のすべてのサービスを停止します。

  2. クラスター管理者ツールを起動し、クラスター名を右クリックし、[ プロパティ] をクリックします。

  3. [クォーラム] タブで、クォーラム ハード ディスクであるハード ディスクをメモします。 Chkdsk を実行するハード ディスクにクォーラム ログが含まれている場合は、クォーラムを別の共有ディスクに一時的に移動します。

  4. クラスター管理者ツールを使用して、Chkdsk を実行する共有ハード ディスクを含むグループを見つけます。

  5. Chkdsk を実行する物理ディスク リソースを見つけたら、共有ディスクを含むグループ全体をオフラインにします。 これにより、すべてのハンドルが物理ディスクに閉じられます。 グループをオフラインにするには、グループ名を右クリックし、[ オフラインにする] をクリックします。

  6. クラスター管理者ツールで、Chkdsk を実行する共有ディスクをクリックし、オンラインにします。 これを行うには、ディスク リソースを右クリックし、[ オンラインにする] をクリックします。

    注:

    ダーティ ビットが以前に設定されている場合、Chkdsk が自動的に実行され、物理ディスク リソースがオンラインになるのに時間がかかる場合があります。 Windows NT 4.0 では、Chkdsk が実行されているコマンド プロンプト ウィンドウが表示されます。 Windows 2000 では、タスク マネージャーを開くと、プロセスとして実行されている Chkdsk が表示されます。

  7. コマンド プロンプトで、Chkdsk を実行しようとしているドライブ以外のドライブに変更し、コマンドを chkdsk **x**: /f /r 入力します。 ここで、X は共有ディスクです。

Chkdsk を実行しようとしたときに ディスクをロックできない というエラー メッセージが表示される場合は、ドライブへのアクセス権を持つすべてのサービスとツールが停止していることを確認してから、Chkdsk をもう一度実行してみてください。 ドライブへのオープン ハンドルを持つ実行中のサービスまたはプログラムは、Chkdsk の実行を妨げる可能性があります。 Windows 2000 以降のバージョンの Windows では、開いているハンドルを共有ディスクに閉じようとすることができます。 開いているハンドルを閉じるよう求められたら、Y キーを押します。

ハンドルが開いたままであるか、クラスターに 1 つの共有ディスクが含まれている場合

プログラムまたはドライバーが共有ディスクへのオープン ハンドルを維持している場合、または共有ディスクが 1 つだけ (クォーラム ログが格納されている) 場合は、クラスター全体を停止する必要があります。 そのためには、ノードを再起動するときにファイル システムが共有ディスクをマウントできるように、クラスタリング コンポーネントを一時的に無効にする必要があります。 ノードの再起動時に共有ディスクの所有権を取得しないように、クラスター内の他のノードもシャットダウンする必要があります。

これを行うには、適切なセクションの手順を使用します。

Windows Server 2003

Microsoft Windows Server 2003 ベースのコンピューター上のボリュームに対して "chkdsk /F" コマンドを実行する前に、物理ディスク リソースをメンテナンス モードにする必要があります。 物理ディスク リソースが失敗状態にならないようにするには、これを行う必要があります。

Windows 2000

  1. すべてのプログラムを終了し、クラスター対応ではないすべてのプログラムを停止してから、管理者資格情報を持つアカウントでサーバーにログオンします。
  2. クラスター管理者を起動し、 クラスター名を右クリックし、[ プロパティ] をクリックします。
  3. [ クォーラム ] タブをクリックし、クォーラム ディスクであるドライブをメモします。 Chkdsk を実行するドライブにクォーラム ログが含まれている場合は、クォーラム ディスクを別の共有ドライブに一時的に移動します。
  4. windows XP 以降のコンピューターの %SystemRoot%\System32 フォルダーから、Windows 2000 ベースのコンピューター上のローカル ドライブに FSUtil.exe をコピーします。
  5. Windows 2000 ベースのコンピューターで、コマンド プロンプトで、FSUtil.exe を含むフォルダーに変更し、コマンドを fsutil dirty set drive: 入力します。ここで、 ドライブ は共有ドライブです。
  6. クラスター管理者を使用して、Chkdsk を実行する共有ドライブを含むグループを見つけます。
  7. グループ名を右クリックし、[ オフラインにする] をクリックします。 これにより、共有ドライブを含むグループ全体がオフラインになり、すべてのハンドルが物理ドライブに閉じられます。
  8. [物理ディスク] リソースを右クリックし、[ オンラインにする] をクリックします。 これにより、ドライブがオンラインになります。 Chkdsk はボリューム上で実行され、しばらくの間オンライン保留中の状態になる可能性があります。
  9. ボリュームで Chkdsk が実行されたら、グループ内の他のすべてのリソースをオンラインにします。

Windows NT 4.0

  1. ノード B をオフにします。
  2. ノード A に管理者としてログオンします。
  3. 共有ディスクで chkdsk /f コマンドを実行します。 コンピューターが次に再起動したときに実行するように Chkdsk をスケジュールするように求められたら、Y キーを押します。
  4. コントロール パネルの [デバイス] ツールで、[クラスター ディスク] をクリックし、[スタートアップ] をクリックします。
  5. [スタートアップの種類] を [無効] に変更します。
  6. コントロール パネルのサービス ツールで、クラスター サーバー サービスをクリックし、[スタートアップ] をクリックします。
  7. [スタートアップの種類] を [無効] に変更します。
  8. コントロール パネルを終了し、ノード A を再起動します。クラスター ディスク ドライバーまたはその他のサービスからの干渉なしで Chkdsk が実行されます。
  9. Chkdsk が完了したら、[スタートアップの種類] を元の設定に戻し、コンピューターを再起動してクラスターをアクティブにします。
  10. ノード B をオンにします。