フルバックアップからのWindows 10の復元が失敗!? でもそれが最後の希望だとしたら……山市良のうぃんどうず日記(122)(2/3 ページ)

» 2018年03月20日 05時00分 公開
[山市良テクニカルライター]

復元に失敗するバックアップからの復元手順(その1)――WBADMINの使用

 システムイメージからの復元エラー0x80042302の原因はよく分かりませんが、もしWindows回復環境にあるGUIツール(コンピュータイメージの再適用)の問題だとすれば、バックアップおよび復元のコマンドラインツール「WBADMIN」で復元できる可能性があります。ここでは、バックアップに含まれるC:ドライブだけを復元する手順を紹介します。

 ローカルまたはメディアからWindows回復環境を起動して、Windows回復環境のコマンドプロンプトを開き(「BitLockerデバイス暗号化」や「ドライブ暗号化」が有効な場合は、回復キーの入力が必要)、バックアップが格納されているディスクのドライブ文字を確認します(「DIR」コマンドや「DISKPART」コマンドを使用して)。バックアップが格納されているドライブには「WindowsImageBackup」というサブディレクトリが存在するので、それをヒントに調べてください。

 バックアップディスクのドライブ文字が分かったら、以下のコマンドラインを実行して、バックアップディスク上に存在するバックアップの「バージョン識別子(MM/DD/YYYY-HH:MMの形式)」を確認します。

WBADMIN get versions -backuptarget:<バックアップが存在するドライブのドライブ文字:>


 次に、以下のコマンドラインを実行して、確認したバージョン識別子のバックアップに含まれるアイテム(ボリュームやレジストリなど)を確認し、C:ドライブにマウントされていたボリュームのボリュームIDを調べます。

WBADMIN get items -version:<バックアップのバージョン識別子> -backuptarget:<バックアップが存在するドライブのドライブ文字:>


 最後に、以下のコマンドラインを実行して、C:ドライブのボリュームをバックアップから復元します(画面4)。「ボリューム(C:)の回復操作が正常に完了しました。」と表示されたら、コマンドプロンプトを閉じて、PCを再起動します。これで復元完了です。

WBADMIN start recovery -version:<バックアップのバージョン識別子> -itemtype:Volume -items:\\?\Volume{<ボリュームID>} -backuptarget:<バックアップが存在するドライブのドライブ文字:>


画面4 画面4 Windows回復環境のコマンドプロンプトで、WBADMINコマンドを使用してC:ドライブをバックアップから復元する

復元に失敗するバックアップからの復元手順(その2)――DISMの使用

 WBADMINコマンドを使用した復元が失敗する場合は、次の方法を試してみることができます。Windows標準のバックアップツールは、仮想マシンの仮想ハードディスクと共通のVHDX形式のイメージにバックアップファイルを保存しています。

 これをローカルにマウントし(DISKPARTコマンドを使用)、マウント先のイメージをキャプチャーしてWIM(Windows Imaging Format)ファイル化して(DISMコマンドを使用)、WIMファイルの内容をC:ドライブ(または、もともとのC:ドライブがマウントされているドライブ)に適用する(DISMコマンドを使用)という方法です。

 複雑な手順ですし、途中でC:ドライブをフォーマットするというリスキーな手順もあるので、もう他に回復手段が存在しない、ディスクの内容は最悪諦めてもよいという場合にのみチャレンジしてください。

 なお、復元に失敗したとしても、バックアップファイルが存在する限り、同じ方法でマウント(または別の正常なPCにマウント)して、中にあるデータを救出することはできるという、“最後の希望”が残されていることを覚えておいてください。

 ローカルまたはメディアからWindows回復環境を起動して、Windows回復環境のコマンドプロンプトを開き、バックアップが格納されているディスクのドライブとVHDXファイルのパスを確認します。C:ドライブの内容が格納されているVHDXファイルは、「<ドライブ文字>:\WindowsImageBackup\<コンピュータ名>\Backup YYYY-MM-DD HHMMSS\XXXXXXXX-XXXX-XXXX-XXXXXXXXXXXX.vhdx」のようなパスになるはずです。ファイルサイズをヒントに確認してください。

 次にDISKPARTコマンドを実行して、以下の手順でVHDXファイルを接続し、ボリュームにドライブ文字を割り当てます(画面5)。

DISKPART

DISKPART> select vdik file="<C:ドライブのバックアップを含むVHDXファイルのパス>"

DISKPART> attach vdisk

DISKPART> list volume

DISKPART> select volume 接続したVHDXのボリュームのボリューム番号>

DISKPART> assign letter=<選択したボリュームをマウントしたいドライブ文字>


画面5 画面5 C:ドライブのバックアップを含むVHDXファイルのパスを確認し、DISKPARTコマンドを使用してVHDXファイルを接続し、ドライブ文字を割り当てる(この例では「V」ドライブ)

 DIRコマンドなどで、マウントしたドライブ内に「Windows」や「Program Files」「USERS」などのディレクトリが存在することを確認してください。存在しなければ、別のVHDXファイルなので、DISKPARTコマンドの「detach vdisk」サブコマンドで切断し、もう一度やり直します。

 VHDXファイルのボリュームをマウントしたドライブの内容を、以下のDISMコマンドを使用してキャプチャーし、WIMファイル(バックアップディスクと同じドライブ上のパス)に保存します。

DISM /Capture-Image /ImageFile:"<キャプチャーしたイメージを格納するWIMファイルのパス>" /CaptureDir:<先ほどマウントしたドライブ文字>:\ /Name:"<イメージの説明(適当)>"


 ローカルのC:ドライブがマウントされているドライブ文字を確認します。Windows回復環境では、同じC:ドライブにマウントされているかもしれませんし、別のドライブにマウントされているかもしれません。ドライブ文字を確認したら、「FORMAT」コマンドを使用してNTFS形式でフォーマットします。そのドライブの内容はフォーマットした時点で消えてしまいますので、間違えないようにしてください。

FORMAT <復元先のドライブ文字> /FS:NTFS /V:"<ボリュームラベル(適当)>"


 最後に以下のコマンドラインを実行して、WIMファイルの内容を復元先のドライブに展開します(画面6)。「操作が正常に完了しました。」と表示されたら、コマンドプロンプトを閉じて、PCを再起動します。これで復元完了です。

DISM /Apply-Image /ImageFile:"<キャプチャーしたイメージを格納したWIMファイルのパス>" /Index:1 /ApplyDir:<先ほどフォーマットしたドライブ文字>:\


画面6 画面6 バックアップに含まれる内容をキャプチャーしたWIMファイルを、復元先ドライブに展開する

Copyright © ITmedia, Inc. All Rights Reserved.

「Windows 7」サポート終了 対策ナビ

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。