更新履歴 [ 全て表示戻す ]
2017.09.03: 古くなった情報の削除、情報や手順をまとめなおして大幅改稿

2014.06.25: CHKDSKでSSDの予備領域が減ってしまう可能性がある旨を追記。
2013.07.07: 初出


Windows 10 / 8.1 / 7 で「システムイメージの作成」を実行した際、「エラー 0x8078012D」と「エラー 0x8007045D」が発生し、システムイメージの作成に失敗してしまう場合の対処方法を紹介したページです。

エラー発生時の画面

システムのイメージ作成/バックアップに失敗
▲クリックで拡大

エラー文
バックアップに失敗しました。
ソースまたはターゲットのデバイスエラーのため、操作に失敗しました。ソースボリュームやターゲットボリュームがディスク上にある場合、そのボリュームで CHKDSK /R を実行してから操作を再試行してください。(0x8078012D)

追加情報:
I/O デバイス エラーが発生したため、要求を実行できませんでした(0x8007045D)

このページの対象PC

Windows 10 / 8.1 / 7

※注意

Windows 10 バージョン1709 (Fall Creators Update) 以降は、システムイメージバックアップ機能の利用は非推奨となる予定です。今後はサードパーティーベンダーのバックアップツールを利用するようにしましょう。

エラー 0x8078012D / 0x8007045Dの原因

「エラー:  0x8078012D / 0x8007045D」のおもな原因は、以下となります。

エラーの原因や対象となる症状の紹介ここまで。
以下、対処方法の紹介です。

対処方法

エラーメッセージにも書いてある通り、多くの場合、問題が発生している ボリューム (Cドライブやバックアップ先のディスク) に対して「CHKDSK /R」が必要です・・・・が、ここまで読んだだけででいきなり「CHKDSK /R」を実行しないでください。

以下、実際に CHKDSK /R を行う手順を説明しますが、その前にいくつかの注意事項を紹介します。これらを知らずに CHKDSK /Rすると、後で大変な目に合う (かもしれない) ので注意しておきましょう。

スポンサー リンク

注意事項

注意その1 - CHKDSK /R は ディスクにかける負担が非常に大きい

  • 故障寸前になっている HDD や SSD に対して CHKDSK /R をかけると、HDD や SSD の寿命を縮めたり、そのまま故障してしまうケースがあります。
  • CHKDSK /R を行う前に、まずディスクの「健康状態」のチェックを行い、その上でCHKDSK /F (またはオプションなし) などの「/R」よりも負担の少ない CHKDSK を行い、まずはエラーの有無のみを確認しておきましょう。
  • ディスクの健康状態のチェックには、CrystalDiskInfo がおすすめです。
  • 大切なデータのバックアップを行っておきましょう。
    • CHKDSK /Rでディスクが故障してしまう事態に備えておきましょう。
    • CHKDSK /R が必要なディスク場合、ディスクのアクセス速度が極端に遅くなっていたり、一部のデータが バックアップできない場合があります。
    • 読み込みの出来ないデータは諦めるか、ファイナルデータなどの有償ソフトでバックアップしてみましょう (必ずバックアップできる、という訳ではありません)

注意その2 - CHKDSK /R で修復作業が行われると、修復した箇所のデータは戻って来ない

  • CHKDSK /Rの修復は HDD / SSD の 読み書きが出来なくなった部分 (不良セクタ) を検出し、そこを「使えなくなった領域」とマークして以後そのセクタを利用しないようにします。
  • つまり、CHKDSK で修復されたセクターに保存されていたデータは復旧できなくなります。(RAID1またはRAID5 の場合は復旧できるケースあり)

注意その3 - CHKDSK /R の前に「sfc /scannow」「DISM」「システムの復元」は実行しない

  • 重要項目です。
    CHKDSK /R の前に「sfc /scannow」や「DISM /Online /Cleanup-image /Restorehealth」、「システムの復元」を実行しないようにしましょう。
  • 不良セクタ、不良クラスタが Windowsのシステムファイルに発生している場合、これらのコマンドでWindowsの状態がさらに悪化するケースがあります。

注意その4 - CHKDSK /R は、エラーがなくなるまで繰り返す

  • ここまでは「CHKDSK /R は危険である」ことを強調してきましたが、エラー 0x8078012D / 0x8007045D を解消するには、基本的に CHKDSK /R の実行が必須です。
  • しかも、「CHKDSK /R」は1回で全てのエラーを修復できるとは限りません。
    エラーがなくなるまで、何度も CHKDSK /R を繰り返さなければならないケースがあります。
    • ※手元のPCでエラー 0x8078012D / 0x8007045D が発生した時の記録
      • CHKDSK /R C:1回目
        CHKDSK c: /r
        • 発見されたバッドクラスタは5つ。
          しかし修復されたのは1つ。
      • CHKDSK /R C:2回目
        2回目のCHKDSK c: /r
        • 修復されたバッドクラスタは2つ
          前回と合わせ、修復されたクラスタは合計3つ
      • CHKDSK /R C:3回目
        3回目のCHKDSK c: /r
        • さらに1つのファイルが修復された。のこり1つ
      • CHKDSK /R C: 4~5回目
        ※スクリーンショットなし。
        • 4回目で最後の1つが修復された
        • 5回目でエラーが出なくなった。
      • この時は「CHKDSK /R」1回につき1~2個のバッドセクタしか修正されず、計4回の CHKDSK /R が必要でした。
        (5回目の CHKDSK /R でエラーが出なくなり、その後「システムイメージの作成」で エラー0x8078012D と 0x8007045D が発生しなくなりました。)

さらに注意: SSDの場合、CHKDSK /R で一気に寿命が縮む場合がある

  • SSDの場合、CHKDSK /R で不良セクタを検出した際、「SSDの予備領域」を代替セクタに利用する場合があります。このような場合、「CHKDSK /R を使った復旧」は諦めましょう。(そのSSDはローレベルフォーマットなどを行った上で再利用するのが望ましいです)
    • 参考: SSDの予備領域を大量に食いつぶされた例
      SSDドライブの状況
      ▲クリックで拡大
      健康状態は「青」ですが、赤枠の部分が CHKDSK /R で急激に悪化しました。
    • 手元のPCで SSD に CHKDSK /R した時の記録
      • 2013年7月にSSDに異常が発生した時
        ・・・・CHKDSK /Rでも予備領域が減らなかった
        不良セクタの原因: ウイルス感染が原因。Cドライブにバッドセクタを埋め込まれてしまった。
      • 2013年10月にSSDに異常が発生した時
        ・・・・CHKDSK /Rで予備領域が大幅に減ってしまった
        不良セクタの原因: SSDのアクセスランプが点滅中に不用意にPCを強制リセットしてしまった。
  • 覚えておく事
    • CドライブがSSD かつ CHKDSK /R が必要な状態」かつ「CHKDSK /Rで予備領域が減る事を確認できた」場合は、SSDを交換してWindowsを再インストールするのが賢い選択です。
    • CHKDSK /Rで予備領域が減る事を確認できたSSDは、それ以上 CHKDSK は行わず、バックアップできるデータを全てバックアップし、そのSSDは破棄してしまうか、ローレベルフォーマットまたは専用ツールでのリペアを実行してから再利用しましょう。

注意点は以上です。以下、実際の手順です。
上記の注意点を踏まえ、最悪の場合 Windowsが起動しなくなる、大切なデータが一部失われてしまうケースがあることを覚悟して実行しましょう。

実際の手順

手順1. バックアップ対象となるボリュームを確認する

  • 「システムイメージの作成」を行うと、途中で以下のダイアログが表示されます。
    バックアップ対象となるボリュームを確認
    ▲クリックで拡大
    まずは、バックアップの対象となるドライブがいくつあるのかを確認します。
    • この後の手順でバックアップの対象となるすべてのドライブで CHKDSKを行い、エラーのチェックを行う必要があります。
    • マイドキュメントなどのユーザーフォルダを移動している場合、Dドライブなどもバックアップ対象に含まれるケースがあります
    • 隠しドライブのエラーチェックは、後回しでも良いかと思われます。

手順2. HDD/SSDの規格を調べる

  • HDD/SSDの規格を調べる方法
  • バックアップ元とバックアップ先どちらか一方が AFT以前の (512 Native) なディスクである場合、システムイメージの作成が正常に実行できない事があります。
    • 他にバックアップ用のディスクが用意できなのであれば、(Cドライブにエラーがない事を確認した後で) システムイメージの作成先を DVD-R や BD-R にしてみましょう。
  • また Windows7 の場合、4Kネイティブ規格のディスクにシステムイメージのバックアップを作成する事はできません。注意しましょう。

手順3. CrystalDiskInfo でディスクの健康状態を調べる

  • CrystalDiskInfo
  • ここでのチェックポイント
    • Windows上からチェックディスク
      ▲クリックで拡大
      健康状態や05、C4、C5、C6、C7、E8 などの値をチェックします。
      念のため、生の値もメモしておきましょう。
    • C5 (代替処理保留中のセクタ数) の生の値が0以外の場合、そのボリュームが原因でエラー0x8078012D、0x8007045Dの原因となっていると思われます。
    • 注意が必要なケース
      CrystalDiskInfo
      ▲クリックで拡大
      この時点ですでに健康状態が「注意」となっている場合は、そのHDD/SSDの交換も視野に入れましょう。

手順4. CHKDSK /F (またはオプションなし) でディスクのエラーがないか調べる

  • コマンドプロンプト (管理者)を起動し、以下を入力します
    • ここで実行するコマンド
       CHKDSK X: /F
       または
       CHKDSK X: (オプションなし)
    • 補足
      「X:」はドライブレター(「C:」、「D:」など)
    • Cドライブに対して CHKDSK を行う場合、PCの再起動が必要です。
    • 「オプションなし」・・・・エラーの検出のみ。修復なし
    • 「/F」・・・・ファイルシステムのエラーを修復するだけ
  • ここでは、エラーの検出のみが目的なので、「CHKDSK X: (オプションなし)」で十分です。これにより、問題が発生しているドライブを特定します。
    • いずれのドライブからも問題が検出されなかった場合は、システム修復ディスクなどでPCを起動し、隠しパーティションに対して CHKDSK を行います。
      (DISKPARTで隠しパーティションにドライブレターを振る必要があります)
  • Windows上からチェックディスクを行う場合
    Windows上からチェックディスク
    ▲クリックで拡大
    • 両方のチェックを外すと、エラーチェックのみ (エラー修正なし) が実行されます。
    • Cドライブなど、システムに対しチェックディスクを行う場合は、OSの再起動が必要です。(OS起動前にチェックが入ります)

手順5. ディスクにエラーがなかった場合

  • PIO病を疑ってみる(サイト内に解説ページなし)
  • 電源オプションを「高パフォーマンス」に変更してみる
  • 電源オプションの「詳細設定」で「次の時間が経過後ハードシスクの電源を切る」を「0」にしてみる。
  • 電源オプションの「詳細設定」で「USBのセレクティブサスペンドの設定」を無効にしてみる。
  • その他、ディスクアクセスが遅くなる (もしくは停止する) 原因を探り、問題を取り除いてみる

手順6. エラーを発見したボリュームに対し CHKDSK /Rを行う

  • 上記までの手順で、ようやくCHKDSK /R を行う準備が整いました。
  • chkdsk /r 中の画面
    chkdsk中の画面
    ▲クリックで拡大
  • 「CHKDSK /R X:」は、不良セクタをスキャンしてストレージの機能を回復させますが、不良セクタに含まれていたデータは復旧できなくなります。
  • Cドライブに対して CHKDSK /R を実行する場合、どのファイルが修復されているかをしっかり確認しておきましょう。システムファイルが修復された場合、(そのファイルは利用できなくなるので) Windowsは正常に起動しなくなる恐れがあります。
    • 手順9 でいくつかの対処方法を紹介しています

手順7. 再び CrystalDiskInfo でディスクの健康状態を調べる

  • 「CHKDSK /R X:」後の CrystalDiskInfo の結果
    SSDドライブの状況
    ▲クリックで拡大
  • CHKDSK /R を行うと、不良セクタ を「利用できないセクタ」として認識させ修復するため、05、C4、C5、C6、C7、E8 などの値はかなり悪化します。
  • 悪化の程度を自分で判断し、このまま CHKDSK /R を繰り返すか、問題のディスクを交換するかを選択します。
    • 対象ディスクが SSD で、E8 (利用可能な予備領域) が悪化するような場合は、これ以上の CHKDSK /R は控え、ディスクの交換を行いましょう。

手順8. エラーが出なくなるまで CHKDSK /Rを行う

  • CrystalDiskInfoの結果から「CHKDSK /R を繰り返しても問題なし」と判断した場合は、エラーが出なくなるまで CHKDSK /R を繰り返します。
  • この時も、CHKDSK /Rを1回実行するたびに CrystalDiskInfo でHDD/SSD の健康状態をチェックしましょう。

手順9. CHKDSKでエラーを修復した後にやる事

  • 念のため、「sfc /scannow」などでシステムの修復を行う。
    ただし以下に注意
    • システムファイル内にエラーが発見された場合は、「sfc /scannow」
    • Repositoryフォルダ内のデータが壊れていた場合は「sfc /scannow」はやっちゃダメ。システムの復元でイメージを回復させる
    • システムの復元が壊れていた場合は復元データは全部削除する
    • 広範囲にわたってシステムが壊れていた場合はWindowsを再インストール、もしくは上書きインストールする。

手順紹介はここまで

これで、無事「システムイメージの作成」が正常作動するようになるはずです。

システムイメージの作成が正常作動した場合
システムのイメージ作成成功

あとがき

このページは 2013年7月 および 2013年10月 に手元のPCで発生したトラブルを元に執筆しました。CHKDSK /R で 「予備領域を食いつぶすパターン」と「食いつぶさないパターン」の記憶があやふやになっていたため、新たにページを書き直した次第です。

その他メモ書き

  • CHKDSK C: /Rにかかる時間
    • SATA3対応のSSDは、128GBあっても CHKDSK C: /R が10~20分程度で済む。
    • 1~2TBクラスのHDDのデータがパンパンに詰まっていると、 CHKDSK C: /R が終了するのに1~2日かかる場合もある。
  • PC内に接続されたHDD、SSDを最新のファームに更新する。
    • 最新ファームの確認は、使用しているHDD・SSDのメーカーサイトで確認する。
    • 既に最新ファームの場合は、ディスクドライバの削除、再インストールを行ってみる。
  • HDD、SSDのドライバを一旦削除し、再インストールする。
    • 正常に戻る前はLinux系のバックアップツールを試してもエラーが発生したので、これは関係ないかもしれない。
      ドライバの削除方法
      ちょっと勇気が必要だけど、デバイスマネージャー上で右クリックして「削除」を選択。あとは再起動するだけ。

サイト内関連ページ

このページの情報は以上です。