Misc.

2013/05/05

Windows 8 > 障害ディスクの交換日記 (前編)

連休の谷間のこと。私のサブ ノート PC で、Windows 8 の事実上のフル バックアップ ツールである「Windows 7 のファイルの回復」で「システム イメージの作成」を実行したところ、0x8078012D と 0x8007045D エラーを出力してバックアップに失敗するようになりました。

いろいろ試しましたが、どうやらハードディスクの寿命が近付いているようです。

ハードディスク交換となると、クリーン インストールや再構成が面倒です。何とかしてフル バックアップをとりたいのですが、そのフル バックアップは必ず失敗します。 以前とったフル バックアップは誤って削除してしまいました。この PC は、Windows 7 プレインストールを Windows 8 にアップグレードしたもの。メーカーのリカバリ ディスクはありません (作成していません)。

さて、どうしましょうか。

2013/05/02 夕方
連休前にフルバックアップでもとっておこうかなぁ

実は、この春、同じ PC を GPU 系の障害でセンドバック修理してもらい、その後、万が一に備えてサポートを延長していましが。前回の修理の直前にフルバックアップをとっていたのですが、連休前にバックアップをリフレッシュしようと思い、「システム イメージの作成」を実行したところ、0x8078012D と 0x8007045D のエラーが発生するように。




9x8078012D と 0x8007045D をネットで検索すると、Windows Vista 以降、よくあるトラブルのようですが、これといった解決策が無いようです。CHKDSK C: /R で再起動時に修復を試みますが、最初は 27%でハングしたものの、何度か再実行したところ 100% 完了。エクスプローラーで C: ドライブのプロパティからオンラインでエラーチェックをかえても問題はなしです。

バックアップ先のディスク (USB 3.0 1TB 外付け HDD) を疑い、再フォーマットしてみましたが、状況は変わらず。というわけでその日は寝ました。

※バックアップ先の再フォーマットにより、大事な以前のバックアップが失われたことに気付いたのは翌日のこと。

2013/05/03 早朝
診断ツールを実行すると不都合な結果に

翌日早朝、イベントログを確認してみると、システム ログに「ディスク 0 の論理ブロック アドレス xxx で IO 操作が再試行されました」というログが記録されています。CHKDSK はエラーを報告しませんが、物理的な障害の予兆を感じさせます。ボリューム スナップ ショットは作成できるので、スナップショットの作成先の領域に問題があるのかしらんと想像。


付属のメーカー製診断ツールでチェックしたところ、ハードディスクに対する「指定読み取りテスト」が「要調査」という問題を報告しました。ハードディスクの寿命に詳しい○×大学教授の S.M.A.R.T. さんによると、データ セクタ内に 1 個のエラーがあり、オフラインでも修復できないそうです。


PC 起動直後に開始できる Diagnostics Tool でもチェックしてみました。テクニカル サポートにお願いするレベルの問題が発生しているようです。



2013/05/03 午前
サポートに連絡→ディスクの早急な交換が必要

連休中ですが、24時間、年中無休のサポートに連絡し、Diagnostics Tool  のエラー コードを伝えたところ、ハードの障害でできるだけ早くディスク交換をしたほうがよいと即答。センドバックの流れになりそうだったので、自分で交換できる旨を伝えるも、内部構造がややこしいモデルのためそれは受け付けられないそう。センドバックだと時間がかかる上、工場出荷時の Windows 7 に戻ってしまう (これはすごく面倒)。

そういうわけで出張修理によるディスク交換を依頼。ただし、連休中のため、修理の日程は連休明け後に再調整ということに。交換品は個別に配送されるということ。

2013/05/03 午後
ディスク交換の前にもうちょっとあがいてみる

ディスク交換となると、再インストールは面倒なので、なんとかフルバックアップをとりたい。でも、そのフルバックアップが失敗する。以前のバックアップは、昨日自らパーにしてしまった。というわけで、次善の策として PC リフレッシュ用のカスタム回復イメージを作成してみました。

recimg /createimage USBディスクのパス

(参考) Windows 8 > PC のリフレッシュ、リセット、システムの復元...のメモ

幸運なことに、これは成功。カスタム回復イメージには、ProgramData、Program Files、Program Files (x86)、Windows が含まれているため、これで Windows のシステムとドライバー、インストール済みアプリケーション (ストアアプリを除く) は簡単に回復できるはず (たぶん)。
カスタム回復イメージの作成に加えて、このイメージに含まれない C:\Users フォルダーや C:\ ドライブのルートに作成したフォルダーを「Windows 7 のファイルの回復」を使ってバックアップしました。これは成功。

ここまではあくまでも万が一のための保険です。まだ、フルバックアップをあきらめたわけではありません。

オンラインでフルバックアップが失敗するとしても、ディスク イメージをオフラインで WIM イメージ化すれば何とかなるかもしれません。Windows 8 の回復環境のコマンドプロンプトから実行できる DISM コマンドを使えば、ディスク イメージを WIM イメージ化できます。以前は ImageX ツールを使用しましたが、新しい DISM コマンドには /Capture-Image や / Apply-Image といった、ImageX の機能が統合されています。

Windows 8 を回復環境で起動して、コマンドプロンプトを開き、次のようなコマンドラインを実行して、USB ディスクに WIM ファイルを保存します。

DISM /Capture-Image /ImageFile:パス\ファイル名.wim /CaptureDir:ドライブ文字:\ /Name:"イメージの説明" [/ConfigFile:WimScript.ini]

(参考) Windows のイメージング は ImageX から DISM へ

※ Windows 8 のインストール DVD から起動する Windows PE の DISM は /Capture-Image を備えていません。Windows PE や回復環境 (Windows RE) を起動した場合、X:\Sources\Dism.exe が実行されないように注意してください。X:\Sources\Dism.exe は /Captuer-Image に対応していません。対応したものは、X:\Windows\System32\Dism.exe にあります。この問題は、Windows 8.1 のインストール DVD では修正されていました。
幸運なことに成功しました。300 GB 使用済みのディスクを 5.5 時間ほどかけて WIM イメージにできました。ディスク障害の予兆があっても、早い時期であれば、すべてを読み出せる可能性は残っています。

念のため、巨大なユーザー データ (主に仮想マシン←別にコピーしてある) を除外した軽量イメージも作成しました。こちらは 23 GB 程度で 2 時間もかからずに完成。(あまりディスクを酷使すると障害が進むこともあるので注意)


2013/05/03 夕方
念には念を

Windows 8 で起動して、DISM コマンドで WIM ファイルをマウントし(結構な時間がかかります)、内容をチェック。

DISM /Mount-Wim /WimFile:パス\ファイル名.wim /index:1 /MountDir:マウントポイント /ReadOnly



バッチシのようなのでマウントを解除。

DISM /Unmount-Wim /MountDir: マウントポイント /discard

あとは、ディスクの交換を待つばかり。交換後、ディスクをフォーマットして、WIM イメージを書き戻し、ブート環境を構成すれば、簡単に復旧できるはずです。

後半に続く...


1 件のコメント:

  1. 些細なことかもしれませんが、typoのようなのでコメントを残させて頂きます。

    Windows 8 を回復環境で起動して、コマンドプロンプトを開き、次のようなコマンドラインを実行して、USB ディスクに WIM ファイルを保存します。

    DISM /Capture-Image /ImageFile:パス\ファイル名.wim /Capture:ドライブ文字:\ /Name:"イメージの説明" [/ConfigFile:WimScript.ini]

    添付されているスクリーンショットを見る限り、ここのCaptureはCaptureDirのようなのでご報告致します。

    追伸
    いつもためになる記事ありがとうございます。
    大変お世話になっております。

    返信削除

注: コメントを投稿できるのは、このブログのメンバーだけです。