読者です 読者をやめる 読者になる 読者になる

Windows 10 にImDiskでRAM Diskを作った

Windows 10に変えてからRAM Diskを使ってなかったけど、やっぱり一時DL領域として欲しいなと思う様になってきた。
昔はGavotte RAMDiskを使ってたけど、ドライバ署名の問題があってちょっと面倒くさいらしい。
ということで、表題のImDiskを使ってみることにしたので備忘録代わりのメモを。

手順については以下のサイトをほぼそのまま実施。
http://reich.exblog.jp/13226631/

コマンドオプションについては、以下のサイトを参照。
http://jinblog.at.webry.info/201402/article_2.html


■ファイルの入手

・以下の公式サイトからDL
http://www.ltr-data.se/opencode.html/#ImDisk

・DLは現時点での最新版(以下の文言)を選択
Download ImDisk install package, current stable version 2.0.7 built 16 November 2015 - 366.2 KB, works on both 32-bit and 64-bit versions of Windows.


■導入と設定確認

インストーラを実行し、コントロールパネルにメニューが追加されていることを確認
 ※スタートメニューやデスクトップにショートカットが出来るわけではないので注意

・スタートメニュー内のコマンドプロンプトで右クリックし、「管理者として実行」から起動

・以下のコマンドを実行し、RAM Diskの作成とマウント
 imdisk -a -s 2g -t vm -p "/fs:ntfs /q /y" -m z:


■実行コマンド概要(詳細は上述のサイト参照)

・-a
 RAMディスク作成

・-s 2g
 サイズを2GBに指定

・-t vm
 揮発性(シャットダウン時にデータが消える)を作成
 不揮発性(データを残す)なら「-t file <ファイルパス>」を指定

・-p "/fs:ntfs /q /y"
 マウント後に確認なしでNTFSでクイックフォーマット実行

・-m z:
 RAM DiskをZドライブとしてマウント


■タスクスケジューラの設定

ImDiskはスタートアップ時に自動マウントされないので、毎回上述のコマンドを実行する必要がある。
そのため、上述のコマンドを書いた適当なバッチファイルを作成し、タスクスケジューラに追加する。

・コントロールパネルの「管理ツール」から「タスクスケジューラ」を起動

・タスクスケジューラの左側のツリーから「タスクスケジューラライブラリ」を選択

・タスクスケジューラの右側のメニューから「タスクの作成」を実行

・以下のような設定でタスクを作成(他の項目設定は任意)
 ※シャットダウン時のアンマウントバッチを作っても良いけど、揮発性なら無くても問題なさそうだった。
 
 <全般タブ>
 ・「名前」に適当な名前をつける(一覧の表示名になる)
 ・「ユーザーまたはグループの変更」ボタンからSYSTEMに変更
 ・「ユーザーがログオンしているかどうかにかかわらず実行する」にチェックオン

 <トリガータブ>
 ・「新規」ボタンから新しいトリガーを作成し、「タスクの開始」を「スタートアップ時」に設定
 ・詳細設定グループの「有効」にチェックが入っていることを確認

 <操作タブ>
 ・「新規」ボタンから新しい操作を作成し、「プログラム/スクリプト」にバッチファイルのフルパスを設定

・PCを再起動して自動的にRAM Diskが作成されるか確認
 上手くいかなければタスクの見直しを行う。