Windows8.1 回復パーティションとOEMパーティションを復元する
2015年02月23日
新しいHDDにWindows8.1環境を復元する -続き-
こんにちは、ハニービーンです。
前回の記事Windows8.1 システムイメージバックアップから復元されないもので、システムイメージバックアップを使ってHDDの引っ越しをしました。
とても簡単に、元のシステムの状態を引き継いで引っ越しできましたが、回復パーティションとOEMパーティションが空の状態になりました。
今回は、システムイメージバックアップで復元されなかった、OEMパーティションと回復パーティションの中身を個別に復元してみます。
なお、我が家の Lenovo G500 の場合について書いているので、他の機種では異なる部分があります。
事前に必要な準備
何もないところからは復元できませんので、この作業には事前準備が必要です。
すなわち、元のHDDから、回復パーティションとOEMパーティションのバックアップを取っておきます。
回復パーティションのバックアップ
元のHDDにアクセスできる状態で、コマンドプロンプト(管理者)を起動します。
Diskpart を起動し、元のHDDを選択します(ここではdisk 0)。
diskpart
select disk 0
パーティションの一覧を表示します。
list partition
ここでは partition 3 がOEMパーティション、partition 7 が回復パーティションです。
まず、回復パーティションのバックアップを取ります。partition 7 を選択して、ドライブレター P: をアサインし、一度 diskpart を終了します。
select partition 7
assign letter="p"
exit
Dism コマンドを使って、P: ドライブのイメージファイルを作成します。ここでは保存先を G: とします。
Dism /Capture-Image /ImageFile:G:\pbr.wim /CaptureDir:P:\ /Name:"recovery partition"
これでG:\に、pbr.wimというイメージファイルが作成されました。
Diskpart で partition 7 を選択して remove letter="p" と入力し、P: のアサインを外します。
次に、回復イメージの設定を確認するため、以下のコマンドを実行します。
reagentc /info
この結果は機種によって異なると思います。後の手順で「回復イメージの場所」を使います。
OEMパーティションのバックアップ
次にOEMパーティションのバックアップを取ります。
Diskpart で、partition 3 を選択しておきます。
OEMパーティションは、特殊なパーティション属性なので、このままではドライブレターをアサインできません。
そこで、一旦、属性を変更します。
set id="EBD0A0A2-B9E5-4433-87C0-68B6B72699C7"
これで普通のパーティションになりました。
しかし、このままドライブレターをアサインすると失敗します。
ボリュームを表示して、当該ボリュームを選択してからドライブレターを割り当てます。
list volume
ここでは Volume 1 がOEMパーティションです。
select volume 1これでドライブレターがアサインできました。
assign letter="I"
続いて、Dism でイメージファイルに書き出します。
Dism /Capture-Image /ImageFile:G:\oem.wim /CaptureDir:P:\ /Name:"OEM partition"G:\oem.wim にイメージファイルが作成されます。
Diskpart に戻り、ドライブレターのアサインを削除するとともに、パーティション属性を戻しておきます。
select volume 1
remove letter="I"
select partition 3
gpt attributes=0x8000000000000001
set id="bfbfafe7-a34f-448a-9a5b-6213eb736c22" (Lenovo の場合の id です)
イメージファイルからの復元
作成したイメージファイルから、パーティションを復元先のHDDに復元していきます。
回復パーティションの復元
Diskpart コマンドで、復元先のHDDの空の回復パーティションに、ドライブレター P: をアサインします。
次に、Dism コマンドを使って、G:\pbr.wim を P:\ に書き込みます。
Dism /apply-image /imagefile:G:\pbr.wim /index:1 /ApplyDir:P:\
書き込みが終了したら、diskpart で P: のアサインを外します。
続いて、先に確認しておいた「回復イメージの場所」を設定します。
reagentc /setosimage /path \\?\GLOBALROOT\device\harddisk0\partition7\OKRbackup\factory /index 1
回復ドライブの作成を開いて(コントロールパネル>システムとセキュリティ>ファイル履歴>回復>回復ドライブの作成)、回復イメージが認識されているか確認します。
「回復パーティションをPCから回復ドライブにコピーします」のチェックが入ればOKです。
OEMパーティションの復元
Diskpart コマンドで復元先のOEMパーティションを選択しておきます。
パーティション属性を通常にして、状態を確認するために、以下を入力します。
set id="EBD0A0A2-B9E5-4433-87C0-68B6B72699C7"
list volume
この画像では、Volume 1 がOEMパーティションですが、状態が RAW になっているので、フォーマットを行います。
select volume 1
format quick fs=fat32 label="LRS_ESP"
assign letter="I"
ドライブレター I: もアサインしておきました。
次に Dism で書き込みを行います。
Dism /apply-image /imagefile:G:\oem.wim /index:1 /ApplyDir:I:\
Diskpart に戻り、ドライブレターを削除し、パーティション属性をOEMパーティションに設定します。
select volume 1
remove letter="I"
select partition 3
gpt attributes=0x8000000000000001
set id="bfbfafe7-a34f-448a-9a5b-6213eb736c22"
これでOEMパーティションが復元されました。
試しに Onekey Recovery を実行し、システムリカバリから再起動して、リカバリ画面が出ればOKです。
パーティションのバックアップについて
この手順を実施するには、事前に回復パーティションとOEMパーティションのバックアップと、reagentc /info の内容を取っておく必要があるので、その点が少し手間です。
しかし、これらについては内容が変わらないものなので、一度作ってしまえば更新する必要もありません。あとは、必要に応じてシステムイメージバックアップだけを更新すればよいのです。
念のために回復パーティションとOEMパーティションのバックアップを作っておくと、何かの役に立つかもしれません。
シェアしていただけると大変うれしいです。
更新情報はこちらからどうぞ