CUIでバックアップと復元 のバックアップソース(No.2)
Windowsには様々な復旧方法が用意されている。 #br その中でも今回紹介するのがコマンドラインベース(CUI)によるバックアップ方法と適応方法である。 #br CUIと言われるとなんだか不安に感じる人も少なくないが、それを簡易的に実行するために設けられているのがバッチファイル(*.bat)というものだ。 #br 自分の環境に応じたバッチファイルを一度準備すれば、そのバッチファイルを実行すれば目的を実現できるのである。 #br #br *前提条件と準備するもの [#l1bf14f7] #br #br **準備するもの [#i8b96911] #br 必ず準備しなければならないのは、光学ドライブとCD-R1枚・外付けハードディスクである。 #br 光学ドライブは、簡易Windowsを起動するために使用するもので、外付けハードディスクはバックアップデータを保存するのに使用する。 #br #br **前提条件 [#kc0b326c] #br #br -バックアップの作成や適応には、内臓ドライブで実行しているWindowsの各バージョンではなくWindowsPEという簡易Windowsを使用します。 -作成したバックアップはWindowsが起動している同一ドライブの別パーティションに保存してはならない。 -バックアップを適応する際は、Windowsが実行されているドライブは完全に初期化されるので、バックアップデータは必ず外付けハードディスクで管理すること。 -バックアップを取得したり、適応したりするための簡易Windowsでは、音声のフィードバックを受けることができないことを十分注意すべきである。 -バックアップを保存する外付けハードディスクは必ずNTFSでフォーマットされた1つ以上のパーティションが存在しなければならない #br #br *大まかな流れ [#mf91272a] #br #br 向上心が強い方は各バージョンに応じたWindows ADKや、Windows AIKを導入して簡易Windowsを作成し、これを用いて健全な状態のWindowsのバックアップや復元といった事ができるツールを使用して不安定になったシステムを元に戻すことができます。 #br ただし、初心者がここまでの領域に達するには、私も含めて難易度がかなり高いので、下のURLから出来上がったisoファイルをダウンロードし、それをCD-ROMに展開して使用するのがおすすめである。 #br この準備ができたらDISMというコマンドを使って用意したハードディスクにバックアップを作成するのだが、その前に行ってほしい作業がある。 #br それは「これはバックアップのフォルダ」ということがわかるディレクトリを作り、同じドライブに複数のパーティションがある場合には\backup\systemや\backup\dataまたは\backup\moviesなどのように、どのパーティションのファイルが入っているのかを一目瞭然に管理できるようにしておくことだ。 #br 次に外付けハードディスクをe:\とした場合のコマンドラインを示す。 #br ---- md e:\backup #br md e:\backup\system #br md e:\backup\data #br md e:\backup\movies #br md e:\backup\photos #br … ---- #br Windowsが実行されている同じドライブに存在しないパーティションのフォルダは作成する必要はない。 #br #br **ドライブ番号とパーティション番号の数え方 [#t7164db8] #br #br ドライブ番号(Disk Number)は、0から始まり、パーティション番号(Partition Number)は1からはじまることに注意を注いでほしい。 #br 内蔵の光学ドライブを備えている場合は、内臓ハードディスクは1になる可能性があるので、コマンドプロンプトが開いたら下のように入力してドライブの認識情報を確かめておこう。 #br 外付け光学ドライブを使用している場合は簡易Windowsが起動したら、その光学ドライブは取り外してかまわないので、その後に外付けハードディスクを取り付ければ確実に内蔵ディスクが0、外付けハードディスクは1のままとなる。 #br しかし、内蔵ディスクが二つあったり、外付け光学ドライブを取り外さないまま外付けハードディスクを取り付けた場合はこの限りではないので、音声のフィードバックを受けられるときによく確認してほしい。 #br ディスク番号が変わってしまうとe:\やf:\などのドライブ文字も変わってしまうからだ。 #br #br ---- -コマンドプロンプトでdiskpartと入力してエンターキーを押す -list diskと入力してエンターキーを押す -現在接続されているディスクが形式、総容量、ディスク番号を含んだ表が示される -list volumeと入力してエンターキーを押す -各パーティションのドライブ文字、パーティションの種類、パーティションのフォーマット形式、パーティションの総容量が表に示される ---- #br #br **BIOSベースとUEFIベースの判断基準 [#x5e28755] #br #br 現在PCには大きく分けてBIOSベースとUEFIベースが存在する。 #br 通常使用では特に意識する必要はないが、ハードディスクとりわけシステムディスクのパーティショニングを決定する上で欠かすことができないからだ。 #br 時代順ではBIOSベースの方が古いが、現在のPCの多くはUEFIベースなので、こちらから説明する #br diskpartコマンドでlist volumeとしたとき、EFIパーティションが見つかればUEFIベースで、おのずとMSRパーティションも作成しなければならない。 #br 一方BIOSベースのハードディスクを同じコマンドで覗いてみると、全てがprimary partitionと表記されている。 しかし、その内の一つはMBRパーティションになっていることに注意が必要だ。 #br また各パーティションの配置順序と容量も決められている。 #br ここでは配置順を>で()内に容量(メガ単位)で示す。 #br ただし、目が見えないと折角recoveryを作っても結局利用できないので、recoveryパーティションは作成しないことにする。 #br >BIOSベース MBR(300)>>recovery(500)>Windows(<8192)>その他(自由に) #br >UEFIベース EFI(100)>MSR(128)>Windows(<8192)>recovery(500)>その他(自由に) #br #br **3つのファイルから構成されている [#wf20e755] #br #br 下に各ファイルの役割を説明する。 #br -cptimgprt.bat --バックアップを保存するときに使用するバッチファイル -aplimgprt.bat --バックアップを適応するために使用するバッチファイル -crptrt.txt --バックアップを適応するためにパーティションセットを準備するためのファイル #br crtprt.txtはUEFIベースのPC用に作られているので、必要に応じてBIOSベースの場合は書き変えてもらいたい。 #br #br **crtprt.txtの編集 [#j3bb0779] #br #br このファイルはハードディスク上のパーティションセットを準備するためのファイルです。 #br ---- rem ドライブを指定します select disk 0 rem 指定したドライブのパーティション情報を消去 clean select disk 0 rem GPTに変換します。BIOSベースの場合はGPTではなくMBRになります convert gpt noerr select disk 0 rem EFIパーティションを100MB作ります。BIOSベースの場合はEFIパーティションとMSRパーティションの代わりにprimary partitionを300MBで作成し、MBRを示すset id=27とします。またFAT32形式でフォーマットします。 create partition efi size=100 noerr format fs=fat32 label=efi quick noerr rem ブートエントリーコードを書き込むために、明示的にドライブ文字を割り当てます。 rem 起動後はドライブ文字はなくなり、エクスプローラなどには表示されなくなる。 assign letter=s noerr select disk 0 rem BIOSベースでは不要です。またいずれの形式でもフォーマットは行いません。ドライブ文字も与えません。 create partition msr size=128 noerr select disk 0 rem オペレ-ティングシステムが入るパーティションです。現在のvolume cと容量をぴったり合わせてください。 create partition primary size=71783 noerr format fs=ntfs label=windows quick noerr rem ここでは仮にドライブ文字をwに設定しているが、起動時には自動的にcに変更される。 assign letter=w noerr select disk 0 create partition primary noerr format fs=ntfs label=data quick noerr assign letter=d noerr ---- #br #br **cptimgprt.batの編集 [#f3245026] #br #br 上と同様このファイルも編集しておく必要がある。 #br ---- rem 現在日時からファイル名を自動生成 set dt=%date%& set tm=%time: =0% set fn=%dt:~0,4%%dt:~5,2%%dt:~8,2%%tm:~0,2%%tm:~3,2%%tm:~6,2%.wim echo システムパーティションをバックアップしています dism /capture-image /capturedir:c:\ /imagefile:a:\bcd\efg\hij\%fn% /checkIntegrity /verify /compress:maximum /name:"sysprt" echo データパーティションをバックアップしています dism /capture-image /capturedir:d:\ /imagefile:b:\cde\fgh\ijk\%fn% /checkIntegrity /verify /compress:maximum /name:"datprt" wpeutil reboot #br #br **aplimgprt.batの編集 [#j28a4f62] #br #br これでファイルの編集も最後です。。 #br @echo off set dt=%date%& set tm=%time: =0% set fn=%dt:~0,4%%dt:~5,2%%dt:~8,2%%tm:~0,2%%tm:~3,2%%tm:~6,2%.wim rem システムパーティションのバックアップイメージ保存フォルダを指定してください。 set svsysfld=a:^\bcd^\efg^\hij^\ rem データパーティションバックアップイメージ保存フォルダを指定してください。 set svdatfld=b:^\cde^\fgh^\ijk^\ rem 上で指定されたフォルダが存在しなければ作成します。 if not exist "%svsysfld%" (mkdir %svsysfld%) if not exist "%svdatfld%" (mkdir %svdatfld%) dism /capture-image /capturedir:c:\ /imagefile:%svsysfld%%fn% /checkIntegrity /verify /compress:maximum /name:"sysprt" dism /capture-image /capturedir:d:\ /imagefile:%svdatfld%%fn% /checkIntegrity /verify /compress:maximum /name:"datprt" wpeutil reboot 間違ってイメージが復元できないということのないように、私的には配慮して作り直したつもりだが、不十分なところがあればご意見をいただきたい。 #br #br **isoイメージをCD-Rに焼くには光学ドライブにCD-Rをセットし、イメージファイルを選択したら右クリック([Shift]+[F10])のメニューから[ディスクに書き込む]という項目を選択する。 [#jd0f4483] #br あとはダイアログに従うだけで完成する。 #br 光学ドライブから起動するには、トレーを納めた後にシステムを再起動する。 #br ロゴが表示されメディアが回転し始めたら、どれかのキーを連打する。 #br メディアが速度を上げて回り始めれば成功で、失敗すればWindowsが通常起動する。 #br ただし、ESCやF1~F12のキーはBIOSやブートメニューが表示される可能性があるので控えよう。 #br それでは、[[関連ファイルのダウンロード>https://drive.google.com/drive/folders/1dpJlXNoV7gaXYqagL554EGUF92dA2pwU?usp=sharing]]をして挑戦していただこう。 #br #br **簡易Windowsの起動のテスト [#w791aa8c] #br #br とりあえず光学ドライブ起動を試してみようと考えるのは当然の流れだ。 #br 光学ドライブの動きが止まれば簡易Windowsは起動し、x:\で始まる特殊なコマンドプロンプトが現れる。 #br このときPCの電源を長押しして電源を落としたくなるが、その前に #br wpeutil reboot wpeutil shutdown #br を試してほしい。これが正常に動作すれば簡易Windowsの正常動作も確認できるからだ。 |