スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
拍手する
↑ポチして頂けると、とても励みになります

RAMディスクで快適化? (4) ~番外編~

RAMディスクで快適化? (3) ~利用編~の最後でデスクトップをRAMディスク上に作るという使い方を書きました。
しかし、再起動毎にデスクトップがクリアされるのは如何なものかと。

幾つか調べているうちに、どうやらWindowsの標準ツールで、※次善策ですが、対応できることがわかりました。

私が利用している条件は、

1.シャットダウン時に現在のデスクトップに存在するデータをバックアップ
2.スタートアップ時にバックアップしたデータをデスクトップにコピー

上記に加えて、安全策として

3.30分毎にバックアップを取りつつ同期を行う

※この方法の問題点は、復元毎にアイコンの並び方が崩されることと、
デスクトップに重すぎるファイルや大量のファイルを置いている場合は
コピーが終了するまでに時間がかかることです。
これは起動時だけではなく終了にも時間がかかることを意味します。
試される場合は全ての状況を理解してからどうぞ・・


今回必要なツールはRobocopyと管理コンソールです。


OS :Windows Vista Business SP1
※RAMディスクをD:、
 バックアップドライブをE:とした場合
 
1.下記バッチファイル2つを作成して適当な場所に保存

<rambackupstart.bat>
@MKDIR D:\"(階層)必要なフォルダ"

CHOICE /T 3 /D Y(この行の有無はお好みで)

ROBOCOPY E:\"バックアップ先パス" D:\"デスクトップフォルダ" /E /R:0 /XF E:\"バックアップ先パス"\desktop.ini
ATTRIB -H D:\"デスクトップフォルダ"\desktop.ini
DEL D:\"デスクトップフォルダ"\desktop.ini
ROBOCOPY D:\"デスクトップフォルダ" E:\"デスクトップのバックアップ先パス" /MIR /MOT:30 /R:0

<rambackupend.bat>
ROBOCOPY D:\"デスクトップフォルダ" E:\"バックアップ先パス" /MIR /R:0

2.コマンドプロンプトを開き、「mmc」と入力して開く
3.メニューのファイル→スナップインの追加と削除
スナップイン1

4.グループポリシーオブジェクトエディタを追加
スナップイン2

5.グループポリシーウィザードの開始で、そのまま完了ボタンをクリック
スナップイン3

6.OKボタンで画面を閉じる
スナップイン4

7.コンソールルート→ローカルコンピュータポリシー→コンピュータの構成→Windowsの設定→スクリプト(スタートアップ/シャットダウン)を開く

8.ウインドウ右のスタートアップ項目を開く
スナップイン5

9.追加ボタンをクリック
スナップイン6

10.先に作成したrambackupstart.batを指定(スクリプトのパラメータは空白でOK)
スナップイン7

11.シャットダウン項目でも同様rambackupend.batを指定
12.メニューのファイル→名前を付けて保存→分かり易い名前を付けて適当な場所に保存
(以後設定を編集したい場合はこれをメニューのファイルから開きます)

これでシステムのシャットダウン時にデスクトップのデータがバックアップ先にコピーされ、起動時に復元されます。
また、30分ごとにバックアップと同期処理が行われます。

※バックアップ先のハードディスクは極力高速なものが望ましいでしょう。
私はRaid0で組んだハードディスクをパーティションで区切って使用しています。


Robocopyのオプション解説(普通にコマンド/?でも)
http://www.rimesene.co.jp/mesene/tips/contents/zd063.htm

スタートアップとシャットダウンの設定方法
http://itaya.corso-b.net/TIPS/TIPS22.html

<rambackupstart.bat>
MKDIRでイメージ化の際に作りきれなかった必要なフォルダをここで作成します。
CHOICEで起動直後のディスクアクセスが最大になっている時間は
コピー作業を後回しにさせようと言うことで、3秒間のタイムラグを持たせています。
環境によってはもっと時間を取るか、逆に気にせずこの行を削除しても良いと思います。
RAMディスク上のデスクトップには起動毎にddesktop.iniが作られてしまい、何となく気になっていました。
役割は、デスクトップフォルダをエクスプローラ上で「デスクトップ」及び専用アイコンで表示させるもの・・のはず。
そこでバックアップ先に残っていたらRobocopyがコピーさせないよう/XFオプションで除外しています。
次に再起動直後のデスクトップフォルダ内に存在するdesktop.iniを
まずATTRIBで隠し属性を解除し、次にDELで削除させています。
デスクトップの利用状況によると思いますが、/MOT:30とモニタリングを30分としたのは、
リアルタイムで同期を取るとバックアップ先のハードディスクに負担がかかりすぎることと、
ファイルコピー処理が頻繁に生じることで全体のパフォーマンスを落としては元も子もない、
という理由からです。

今回スタートアップにバッチファイルを登録するのではなく、
管理コンソールの方法を使ったのにはわけがあります。
Robocopyの常駐監視機能をコマンドプロンプトから使うと、
コマンドプロンプトの画面を閉じることが出来ません(閉じると終了してしまいます)。
しかもタスクトレイに入れることも出来ず、表示させっぱなしにするしかありませんでした。
最初は我慢していましたが、やはりどうにも邪魔に感じてしまい、
何とか方法はないかと探していたところに、
上記サイトの方法を見つけて参考にさせていただきました。
この方法では、タスクバーやディスプレイ上にコマンドプロンプト画面は表示されませんが、
タスクマネージャで確認すると、RobocopyがSYSTEMで実行されているのがわかります。

かなりめんどくさいことをしている割に、
どれほど便利かと言われると微妙な気もしますがね~(^_^;)

--連続記事--
・RAMディスクで快適化? (1) ~実装編~
・RAMディスクで快適化? (2) ~準備編~
・RAMディスクで快適化? (3) ~利用編~
拍手する
↑ポチして頂けると、とても励みになります

トラックバック


この記事にトラックバックする(FC2ブログユーザー)

"robocopy"コマンド

トラックバック先のWebページを見ると、バッチファイルだと常駐しない、常駐はタスクマネージャから確認できるというので常駐していないはずなんですが…。

コメントの投稿

非公開コメント

Blog Search Form
Access Counter
since 2009/03/22
thank you for coming to my blog...
World Community Grid
参加中。ランク1万台を脱するのはいつの日か・・
カテゴリ
最新記事
・・新着順に5件表示中・・
コメント
月別アーカイブ
RSSリンクの表示
リンク
  1. 無料アクセス解析
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。