無料のRAMディスク作成ツールならImDiskがオススメ
先日の記事「RAMディスクとSSDの歴史」で紹介するつもりが、つい前置きで長く語りすぎてしまったので、あらためて今度こそRAMディスク作成ツールの紹介です。
今まで使っていたRAMディスク
けっこう有名どころだと思いますが、以前はDATARAMのRAMDISKを使っていました。
http://memory.dataram.com/products-and-services/software/ramdisk
しかし、DATARAMはフリー版だと1GBまでという制限があり、それ以上のサイズのRAMディスクを作りたい場合には有償版を買う必要があります。
有償版でも$21.99くらいなので買っても良かったのですが、どうせ買うなら他のソフトも同時に検討しようと探してみたところ、IODATAからもRamPhantomEXというRAMディスク作成ソフトが発売されていることを知りました。機能的にも他とは一線を画する感があったためこちらを購入することに。
(価格は3,000円くらい)
このRamPhantomEXは有料ソフトだけあってなかなか高機能でして、RAMディスクのサイズ変更もドライブ文字の変更も手軽に出来るのはもちろんのこと、ブラウザキャッシュの設定までワンクリックで出来て、よく配慮されているなぁと感動しました。
更に、RAMディスクの内容が消えると困る人のために自動同期機能があり、そのタイミングも「即時保存」「CPUのアイドル時間(CPUがヒマなとき)」「ログオフ時」と細かく設定できたりします。
RAMディスクの内容を自動的にローカルのSSDやHDDへバックアップする同期機能を持っているソフトは今までも存在したのですが、こうしてタイミングまで選べるのは当時(10年くらい前かなぁ)としては珍しいほうでした。
ぼくの寿命よりSSDの寿命のほうが長そうだとはわかったものの、大容量のSSDともなるとそこそこ高価なので大切に使いたいと思う方もいるでしょう。
SSDへの書き込みを減らすためにもRAMディスクを使っているのに自動同期で同じように書き込みをされたら意味がない、と。であれば、良いとこ取りの「CPUのアイドル時間」あるいは「ログオフ時」にだけバックアップ用の書き込みをするのは良い発想です。
「ログオフ時」に設定しておくと、(当たり前ですが)本当にログオフやシャットダウンを実行したときにしか保存されないため、わざとハードリセット(物理的にリセットボタンを押す行為)をすればRAMディスクの内容が消えましたし、わざと大量のファイルをRAMディスク上に置いた後にログオフを実行すると、ログオフ自体にちょっと時間がかかったりしましたが、それらは仕様どおりの動きです。
RAMディスクはPCのシャットダウンで消えるからこそ使い勝手が良いのだ!と言い続けてきたぼくですが、このログオフ時の保存はなかなか便利で手放せなくなりつつあります(小声)
このRamPhantomEXを買ってから、10年近くも活用させて頂いたので、もう十分に元は取っていると思います。
ただ、唯一気になるのが、RAMPhantomEXは2010年で更新が止まっており、対応OSもWindows 8.1までとなっている点です。まぁ実際のとこWindows 10でしばらく使っていても問題はなかったんですけどね…。
ともあれ、どうせなら、ちゃんとWindows 10で動作確認をしているソフトを使いたいという思いもありました。
意外と選択肢が少ないRAMディスク作成ツール
「RAMディスクとSSDの歴史」で書いたとおり、RAMディスクの需要自体が下火なのか、RAMディスク作成ツールが豊富にあるとは言いづらい状況です。
1つの選択肢としては、またDATARAMに戻るという手があります。今見るとこちらはちゃんとWindows 10に対応しているようですし。
ただ、もう記憶が薄れているのですが、使っていた当時はUIがいまいちわかりづらいなぁ、とかホントにRAMディスク作る機能しかないなぁ、という感想を抱いた覚えがあって、イメージがよくありません。
http://memory.dataram.com/products-and-services/software/ramdisk
とりあえずいったん保留して別のソフトを探します。
次にSoftPerfect RAM Diskというのを見つけます。無料ソフトとして紹介されていたので、サクっとインストールして使ってみたところ、RamPhantomEXほど多機能ではないものの、自動同期機能もあるし、しばらく使ってみるかなぁと思いました。
https://www.softperfect.com/
がしかし、こちらは公式サイトからFree版が消え、Trial版となりました。つまり、無期限で使えるFree版がなくなり、30日間の期間限定のTrial版のみになったということです。
別のサイトではまだFree版を配布していたりするようですが、それはちょっと抜け道っぽい使い方ですし、そこまでして使うならまだRamPhantomEXを使い続けたほうが良いかなぁということで、こちらも保留。
オープンソースのRAMディスクツールがあった
なぜ今まで知らなかったのか…。
ImDisk ToolkitというオープンソースのRAMディスク作成ツールがありましたよ。
https://sourceforge.net/projects/imdisk-toolkit/
そういえば、昔XPの頃は有志が作ったRAMディスクのデバイスドライバーを使うのが普通でした。その後、デバイスドライバーには電子署名が必要となり、有志が作ったどこのものともわからないドライバーのインストールはできなくなりましたが、オープンソースで開発されているなんて…。
電子署名関連のことは詳しくありませんが、あれですかね、SSLが手軽になったのと同じようにソフトウェア署名も簡単になったんですかねー。
そもそもこのImDisk ToolkitというのはImDiskという仮想ディスクドライバーと、それを便利に使うためのツール群のようです。つまり、ImDisk自体は別にRAMディスクに限ったものではなく、CDやDVDのエミュレーションもできる汎用的なデバイスドライバーってことですね。それをRAMディスクとして使うためのツールが付いている、というわけです。
まぁそんな細かいことはともかく、使えるならさっそくインストールしてみましょう。
ImDisk Toolkitのインストール
- ImDisk Toolitをダウンロード
https://sourceforge.net/projects/imdisk-toolkit/
- ImDiskTk-x64.exeを実行
言語は英語しか選べないため、ぼくのテキトー訳を載せておきます。■左側の解説文
ドライバーのインストールをします。これはコントロールパネルへのアイコン追加、コマンドラインツール、imdisk.exe、エクスプローラーのコンテキストメニューによるボリューム管理インターフェイスなどを含みます。詳しくはコマンドプロンプトで "imdisk" と入力してください。■コンポーネントのチェックボックス
ImDisk仮想ディスクドライバー(必須)
DiscUtilsライブラリー(.NET Framework 4を使用)
RAMディスク設定ツール
■オプションのチェックボックス
コンテキストメニューに追加
(※エクスプローラーの右クリックで出てくるアレ)
エクスプローラーからの実行時、管理者権限を必要とする
デスクトップにショートカットを作成
ImDskSvcを自動起動する
最後のImDskSvcサービスの自動起動にチェックが付いていないのが気になりますが、それで動くのかなぁ。でも普通はもっとも選ばれるものをデフォルトオプションにするだろうから………いいや、このまま[Install]をクリックしちゃいます。
- インストール完了
お、おう…まさかのワンクリックでインストール完了。
ImDiskのRAMディスク設定ツールを起動
インストールが完了すると、
- ImDisk Virtual Disk Driver
- Mount Image File
- RamDisk Configuration
というアイコンがデスクトップ上に作成されるため、最後のRAMディスク設定ツールを起動します。
RAMディスク設定の[Basic]タブ
- RAMディスクサイズの指定
- ドライブ文字の設定
- ファイルシステムの設定
と基本は抑えている上に Allocate Memory Dynamicallyとかありますね。直訳すると「メモリを動的に割り当てる」となりますが、これはつまり使った分だけメモリを消費するようにできるってことかなぁ。
見た目上は8GBのRAMディスクを作っておくけれど、実際には1GBしか使っていない場合はメモリも1GBしか消費しない、とかそんな感じですかね。だとしたら、なかなか素敵!
デフォルトでは動的割当がONになっていませんし、普通に考えてそれだけ処理が複雑になりますからパフォーマンスも落ちるのかも知れません。これについては余裕ができたらテストしてみようかな。
また、この画面に Launch at Windows Startup (Windows起動時に実行)があって安心しました。インストールのときは ImDskSvc サービスとやらを自動起動しないとなっていたので、Windows起動時にRAMディスクが作られなかったらどうしようと思いましたが、ここにチェックを入れておけば問題ないようです。
それから、[Set TEMP Variables]をクリックすると下記のようなダイアログが開き、ワンクリックで環境変数のTEMPを変更できました。
便利ですねー。
前に「OS初期化前に作っておくと便利なバッチファイル」で紹介しましたが、うちでは環境変数TEMPをRAMディスクに設定するためだけにバッチファイルを作っていたので、それが不要になって助かります。
RAMディスク設定の[Data]タブ
[Adanced]タブはクラスターサイズ、クイックフォーマット、NTFS圧縮の設定だったので、ほとんど用はないかな~ってことで飛ばして、[Data]タブのほうを見てみます。
いいねー、いいねー。
一番上に「イメージファイルまたはフォルダーからデータをロードする」とあります。
RAMディスク作成ソフトでディスクイメージを事前にロードしてくれる機能はそれほど珍しくありません。あらかじめTEMPフォルダを作成しておいたり、PortableAppsのようなインストール不要で、かつよく使うアプリをRAMディスクにロードするために利用される機能です。
でもディスクイメージだとメンテが面倒です。イメージをドライブにマウントして編集してまた保存する、みたいな。
しかし、ImDiskではフォルダー指定ができるようです。
これはもう指定したフォルダの内容をそのままロードしてくれるんだよね、と思って実験してみたら、まさに想像どおりでした。上の例では C:\ramdisk というフォルダを指定していますが、Windows起動時にRAMディスクにその内容がロードされるんです。むっちゃ便利。
更に極めつけはその下にある [Synchronize at System Shutdown] です。
これはRAMPhantomEXにもあった「ログオフ時に保存」というヤツですね。RAMディスク上に置かれたファイル類をシステムシャットダウン時※に C:\ramdisk へ保存してくれるというわけです。
(※もちろん再起動時も)
また、その際に同期をしないフォルダを [Excluded Folders:] で設定できます。デフォルトだと Temp と System Volume Information がありますね。これらのフォルダは別に同期しなくても良いのでありがたい…。
ImDisk Toolkitのベンチマーク
ついでにCrystalDiskMarkで読み書きの速度も測ってみました。
シーケンシャルリードは予想どおりの 6,128MB/s ですが、Writeが 12,195MB/s とぶったまげるほど速いですねぇ。
ちなみに同じPCで RAMPhantomEX を使ったときはこんな感じでした。
前に書いたとおり、3,000MB/sを超えてくるともう体感ではほとんどわからないのですが、こうして数値として新しいソフトのほうが速いことを確認できると何だか嬉しい気持ちになりますw
まとめ
RAMPhatomEXが2010年で更新が止まり、後継ソフトを探しはじめ、最初は機能ダウンもやむなしかと思われましたが、更に機能アップした、かつオープンソースで無料な ImDisk Toolkit を見つけることができました。
ImDisk Toolkitの特徴としては
- 仮想ディスクドライバーによってメモリを使ったドライブが作成できる
- 対応フォーマットはNTFS/FAT/FAT32/exFAT
- クラスターサイズやNTFS圧縮にも対応
- AWEにも対応(32bit OSで3GBを超えるメモリを使うアレ)
- RAMディスクの同期機能にも対応(シャットダウン時に同期する機能のみ)
- 同期する際、除外フォルダの指定も可能
- 現在進行系で更新されているソフトである(この記事編集時、最終更新日が2019年04月07日)
ということで、シンプルなUIのわりにけっこう機能が盛りだくさんでした。
なお、上で少し触れましたが ImDisk toolkit はImDiskという仮想ディスクドライバーとツールの組み合わせなので、RAMディスク作成ツール以外にディスクマウントツールが付属しています。
これはISOファイルとかのディスクイメージをマウントして使う機能ですね。Windows標準でサポートされたのであまり使う機会がない気もしますが、ディスクイメージを光学ドライブ以外にHDDやフロッピーとしてエミュレーションできたりもするようなので、レガシーなシステムを動かしたいときに活躍する…のかも。
個人的には仮想ドライブについてはあまり使う機会がなさそうですが、RAMディスクについてはこれからじっくり活用させて頂こうと思います。
2019/4/19追記
環境変数TEMPをRAMディスクにしているとインストール時にエラーになるアプリも存在するため、トラブル事例を投稿しました。
「指定されたデバイスまたはファイルを開けません」というエラーが出る場合の対処方法