リストアとバックアップの設定
それをパソコンのシャットダウン時にスクリプトを走らせることで、HDDにRamdiskのデータをバックアップし、次回起動時にスタートアップからHDD二保存したバックアップデータをRamdiskへリストアさせることができます。
ERAM、gavotteでどちらも利用可能です。
Vsuite、DataRamはデフォルトでバックアップイメージを作成してくれる機能が付いているので、ここでは解説しません。
さて、ソフトウェアにはいくつかの選択肢があります。
利用できる圧縮展開ソフトウェアの選択
● xcopy(windows標準の圧縮展開)
● WINRAR
● 7z
● FFC(File Fast Copy)
※他にも多数あり
既に利用している圧縮展開ソフトがある場合は、それを利用するのが良いでしょう。
Ramdisk内の領域全部を丸ごとバックアップ&リストアをしたい場合は、WINRARか7zでのバッチファイル登録がお勧めです。
Ramdisk内の任意のフォルダ領域のみバックアップ&リストアしたい場合には、FFCを使った方法がお勧めです。
処理速度についてはそれほど大差はありませんが、総合的にみてWINRARが良いという報告あり。
(参考元:ttp://d.hatena.ne.jp/sona-zip/20080516/)
バッチファイルの作成
ソフトは決まりましたか?それでは早速バッチファイルを作りましょう!ソフトウェアごとにバッチファイル作成手順を説明します。
● xcopyの場合
リストア用コマンド
[xcopy /S /E /C /Q /H /R /Y /I "R:\" "○○"]
バックアップ用コマンド
[xcopy /S /E /C /Q /H /R /Y /I "C:\test" "R:"]
※…○○にはRamdiskのバックアップを保存したい任意のハードディスク内のフォルダ等を選択します。
● WINRARの場合
リストア用コマンド
@ECHO OFF
SETLOCAL
SET RAMDrive=R
SET BackupFileName="C:\RamdiskBackup.rar"
SET WinRARDir=C:\Program Files\WinRAR
IF NOT EXIST %RAMDrive%:\ GOTO END
"%WinRARDir%\rar.exe" a -u -as -dh -ep2 -inul -m2 -os -ow -o+ -r -s- -y %BackupFileName% %RAMDrive%:
:END
ENDLOCAL
バックアップ用コマンド
@ECHO OFF
SETLOCAL
SET RAMDrive=R
SET BackupFileName="C:\RamdiskBackup.rar"
SET WinRARDir=C:\Program Files\WinRAR
IF NOT EXIST %RAMDrive%:\ GOTO END
IF NOT EXIST %BackupFileName% GOTO END
"%WinRARDir%\rar.exe" x -ow -y %BackupFileName% %RAMDrive%:\
:END
ENDLOCAL
※5行目の[C:\Program Files\WinRAR]はデフォルトインストール時の設定です。
他のドライブ及びフォルダにインストールしている場合には、パスを変更してください。
● 7zの場合
リストア用コマンド
@ECHO OFF
SETLOCAL
SET RAMDrive=R
SET BackupFileName="C:\RamdiskBackup.zip"
SET SevenZipDir=C:\Program Files\7-Zip
IF NOT EXIST %RAMDrive%:\ GOTO END
"%SevenZipDir%\7z.exe" u -tzip -mx5 -aoa -r -ssw -y -up1q0r2x1y2z1w2 %BackupFileName% %RAMDrive%:
:END
ENDLOCAL
バックアップ用コマンド
@ECHO OFF
SETLOCAL
SET RAMDrive=R
SET BackupFileName="C:\RamdiskBackup.zip"
SET SevenZipDir=C:\Program Files\7-Zip
IF NOT EXIST %RAMDrive%:\ GOTO END
IF NOT EXIST %BackupFileName% GOTO END
"%SevenZipDir%\7z.exe" x -aoa -y %BackupFileName% -o%RAMDrive%:
:END
ENDLOCAL
※4行目の[C:\Program Files\7-Zip]はデフォルトインストール時の設定です。
他のドライブ及びフォルダにインストールしている場合には、パスを変更してください。
● FFCの場合
リストア用コマンド
[C:\Program Files\FFC.exe "R:\△△" /to:"□:\○○" /copy /a /ed /md /tp:high]
バックアップ用コマンド
[C:\Program Files\FFC.exe "□:\○○\○○" /to:"R:" /copy /a /ed /md /tp:high]
※○や□、△には任意のフォルダパスを指定してください。
バッチファイルの完成
選んだソフトウェアのコマンドをテキストエディタにコピーし、拡張子を.batで保存すれば、バッチファイルの作成が完了がします。
保存時にリストア用バックアップ用それぞれ、[Restore.bat][backup.bat]等、わかりやすい名前をつけて保存するといいでしょう。
これらソフトウェア選択・バッチ書き出しの後の共通設定(XP用)
windowsにあるログイン/シャットダウンスクリプトに、上記で作成したバッチファイルを登録します。
スクリプトを設定するには、
と入力。[スタート]>ファイル名を指定して実行(R)>[gpedit.msc]
グループポリシーが立ち上がります。
[コンピュータの構成]>windowsの設定>スクリプト>スタートアップ/シャットダウン
と、たどっていきます。
コンピュータの構成(シャットダウン時)にスクリプトを設定するか、
ユーザーの構成(ログオフ時)にスクリプトを設定するかはお好みで。
スクリプト名の入力フォームが出るので、[参照]を選択し、先ほど作成したバッチファイルを選択>[OK]を選択し、グループポリシーを閉じます。
なお、スタートアップ(ログオン)スクリプトの設定については、windows標準のスタートアップフォルダにバックアップバッチファイルのショートカットを置くだけでOKです。
※管理人個人は[ユーザーの構成]にてログオフスクリプトを設定しています。
というのも、なんらかの理由によりセーフモードでログインする際に、
Adoministratorでログインすることが(私個人としては)常なのですが、
シャットダウンスクリプトにバックアップバッチが割り当てられていた場合、
スタートアップにリストアされていない状態(Ramdiskがカラッポの状態)で、
シャットダウンスクリプトのバックアップ処理が働いてしまいます。
つまり、
"カラッポの状態のRamdiskをHDDにバックアップ(同期)する=バックアップが(事実上)消滅する"
ということです。
個人的な経験談に基づくものですが…参考までに。
同期でなく上書き処理であれば防げますが、その場合Ramdiskが肥大化する可能性もあります。
用途が”一時フォルダとしての利用のみ”とはっきりしていればこういった問題はあまり関係がないところです。
注意
※windows XP Homeの場合にはグループポリシーがないため、シャットダウンスクリプト等の利用が出来ません。
XP Homeではgpedit.mscと入力しても「~見つかりません」と出ます。
これについてはプログラムを新たに作るか、レジストリに書き加えるなどする必要があります。
そういった場合はGavotteでなくVSuite使うほうが無難でしょう。