Windows を NAS にフルバックアップし、リカバリする方法

この記事では、任意のタイミングで Windows のフルバックアップを NAS や共有フォルダなどリモートストレージに保存し、そこからリカバリする方法を紹介します。実際にバックアップとリカバリを試しながら進めます。いざというときに焦らないように、同じ方法で試しておかれるとよいと思います。

本記事では、コマンドラインを利用してバックアップとリカバリを行います。使うのは wbadmin というコマンドです。Windows なので当然 GUI がありますが、なぜコマンドラインから実行しようと思ったかというと、「自由度が低い気がする(気のせい?)」、「定期ではなく”任意のタイミング”で自動的に実行したかった」、「イレギュラーの発生時、コマンドを知っておいて損はない」の理由からです。いろいろ言いましたが、ほぼ知的好奇心からのスタートです。

ディスク交換やパーティション変更など、より実践的なリカバリは、次回とその次で紹介しています。こちらも併せてみてみてください。(実際には2回目、3回目の状態になることが多いと思います。知っておけば実行時に焦らないでしょう。)

今回はディスク( HDD や SSD )が壊れて、丸ごとディスクを交換した場合を想定したリカバリを検証していきます。ディスクの入れ替えでディスクサイズが変わっているなど、通常 ...
今回は wbadmin を利用したリカバリの中でおそらく最後の手段であろう、diskpart を用いてパーディションを自分で用意するリカバリ方法を紹介します。前回、前々回紹介し...
対象OSは、Windows 7、8、10、 Windows Server2012、2016  など、wbadmin が使えれば行けると思います。
私が動作確認したのは、Windows 10 Pro のみです。(一部 Window 7)

どのように試すのか

スクショがきれいに撮れるので、ホスト型のヴァーチャルマシン(以下、VM )上で試しました(VirtualBoxを利用)。一部は物理マシンでも実行しましたが、基本的には VirtualBox 上の Windows 10 Pro に対して実験しています。「物理マシン特有の何かで同じようにしてもうまくいかない」ってことは無いとは思いますが、念のため注意してください。構成は以下の通りです。

リモートストレージは、NTFSでフォーマットされている必要があります。FAT32ではエラーとなります。(バックアップのイメージファイルが通常4Gを超えるためでしょう)。
SMB1.0 が 1709 から禁止になっており、リカバリ時に影響があります。具体的には、net use でエラーになりリモートにつなげません。SMB 2.0 以降を利用することを推奨します。
スポンサーリンク

リモートにフルバックアップ

本題に入る前に VM の構成を紹介しておきます。
VM のディスクは64Gを一つです。

64Gの物理ディスクにパーティションは3つ(多分デフォルト構成)です。

Windows 10 のバージョンは 1809

事前準備

管理者モードでコマンドプロンプトを立ち上げます。また、そのコマンドプロンプトでリモートストレージにアクセスできるようにしておきます。net use コマンドで共有フォルダへのアクセスをしておくか、cmdkey で資格情報に登録しておくのが良いです。

net use \\192.168.56.30\union
(※ ユーザ名 と パスワードを入力)
cmdkey /add:\\192.168.56.30\union /user:ユーザ名 /pass:パスワード
ストレージのアドレスは、ご自身の環境に合わせて置き換えてください。

バックアップ実行

リモートストレージにアクセスできる状態で、以下のコマンドを実行すれば完了です。なんとも簡単ですね。(容量により完了までに時間がかかります。1時間くらい?)

wbadmin start backup -backuptarget:\\192.168.56.30\union\test02 -allcritical -include:c: -quiet

参考URLにすべて書いてありますが、利用したオプションについて解説しておくと:

-allcritical することで全ての重要なボリュームがバックアップ対象になります。

-include はバックアップするドライブを選択します。-allcritical しているので、c:ドライブのみの時は、include いらないです。しかし、複数のドライブをバックアップする場合に備えて入れています。その場合、-include:c:,d:,e: の様に利用します。

-quiet とつけることで、本当に実行するか?という質問を飛ばせます。bat で自動的に処理させる場合は必須のオプションになります。

結果確認

さて、バックアップはどのように取れているか確認していきます。共有フォルダにアクセスします。

以下の構成が、Windows バックアップのお決まりの構成なので。不用意に変更してはいけません。

WindowsImageBackupというフォルダが作られていますね。

マシン名フォルダができています。複数のマシンをバックアップする場合も同じパスを指定して問題ないようです。

マシン名フォルダの中に入るとさらに以下の様な構成になっています。あとで出てきますが、Backup 2019-03-28 034434 というフォルダが、バージョン管理するフォルダの様です。(ただし、リモートでのバックアップは1世代しか取れません。)

中を開けるとやっと、ディスクイメージが出てきました。最初に見せた3つのパーティションがイメージ化されているのがわかります。

バックアップは簡単でしたね。しかし、いざというとき戻せないバックアップほど意味もなく悲しいものはありません。リカバリも試しておきましょう。

VM を使った実験はここからが本番です。VM を念のためスナップショットを取るなどバックアップしておいてください。

リカバリ

リカバリを実施する前に、リカバリが成功したことを確かめるために C: ドライブにあるフォルダをいくつか消します(念のためVMはバックアップしてください)。致命的にしてもかまいませんし、怖ければデスクトップのショートカットを消す程度でもいいでしょう。デスクトップに何かをダウンロードしておくでも構いません。バックアップする前から変化があればいいです。

事前準備

Windows のインストールメディアか、Windows RE(PEでも可?) を準備します。該当するOSで、リカバリを作っておくなど、バージョンはリカバリーするものに揃えておいたほうがベターだと思いますが、実際そんなベストコンディションはまれだと思うので、この実験では手元にあった Windows 10 の 1709 のインストールメディアを使っています。(特に問題はありませんでした。)

SMB1.0 が 1709 から禁止になっています。net use がエラーとなることがあります。その場合は、1709 より古いものを利用するとよいです。
※ 別途 RE や PE の環境でSMB1.0を有効にする方法を検証中です。

リカバリの実行

Windows のインストールメディア (iso) を VirtualBox に挿入し、インストールメディアを立ち上げ、「次へ」をクリック

左下のコンピュータを修復する(R) をクリックします。

トラブルシューティングを選択します。(※ インストールメディアではなく、Windows RE を使った場合は、このあたりから始まると思います。<未検証>)

みんな大好きコマンドプロンプトを選択します。

コマンドプロンプトが起動します。1709 のインストールメディアなので、コマンドプロンプトに出力されているバージョンが違いますね。気にせず進めます。

以下のとおりにコマンドを実行していきます。まずはネットワークの設定をします。wpeinitは不要かもしれません。おまじない程度に実行しておきます。

wpeinit
netsh interface ipv4 set address “イーサネット” static 192.168.56.10 255.255.255.0
netsh interface ipv4 show address
net use \\192.168.56.30\union\test02

日本語入力の「イーサネット」の日本語を入力するのに困った!

一度、コマンドをミスります。

netsh interface ipv4 set address

マウスで選択してコピーすればOKです。

さて、これでネットワークが使えるようになりました。以下のコマンドでリカバリに必要な情報を取得します。-backuptarget には、前述の WindowsImageBackup が配置されているフォルダまでのパスを記載します。

wbadmin get versions -backuptarget:\\192.168.56.30\union\test02 -machine:DESKTOP-CLAV127

取得できた 03/28/2019-03:44 というのが、バックアップのバージョンです。先ほどバックアップで見たフォルダの名前に似ていますね。

このバージョンを使ってリカバリを行います。以下のコマンドを実行するだけです。とっても簡単です。

wbadmin start sysrecovery -version:03/28/2019-03:44 -backuptarget:\\192.168.56.30\union\test02 -machine:DESKTOP-CLAV127 -restoreallvolumes

exit でコマンドプロンプト抜けて、「続行」をクリックします。

問題なく Windows が立ち上がり、先ほどバックアップ後に加えた、変更はバックアップ時の状態に戻っているはずです。

このバックアップとリカバリってなにやら、VM のスナップショットみたいですね。通常物理マシンでバックアップ・リカバリを利用する場合は、ディスク交換をしていたりすると思うので、次回はディスクが壊れた場合を想定した検証をしています。

今回はディスク( HDD や SSD )が壊れて、丸ごとディスクを交換した場合を想定したリカバリを検証していきます。ディスクの入れ替えでディスクサイズが変わっているなど、通常 ...