2016年10月5日水曜日

Ramdisk

2020/06/05 追記
現在の一番おすすめのRamdiskは、ImDisk Toolkit ⇒ ここ
Windows 10 Pro 64bit 1909 でなんの問題もなく使用できます。

2020/07/24 追記
Dynamic Distant Objects LOD - DynDOLOD (SkyrimのMod)
使用環境によりますが、ImDisk  Toolkitを使用していると、
DynDOLODがLODを生成中にエラーを吐いて止まることがあります。
この場合、ImDisk Toolkit側の設定で、
□ Allocate Memory Dynamially にチェックをした後に、DynDOLODを再度実行してください。


※※ ※※ ※※ ※※ ※※ ※※ ※※ ※※ ※※ ※※ ※※ ※※ ※※ ※※ ※※ ※※ ※※ ※※ ※※

2019/06/10 追記
下記の Ramdiskが現在、一番のおすすめです。
Windows 10 Pro 64bit 1809 でなんの問題もなく使用できます。また、無料配布版でも通常使用では制限らしい制限もありません。
RAMDA - 電机本舗


※2019/06/10 追記
下記の記事は古くなっていて、現在このアプリは有料になっています。
試用版もありますが、制限があります。



各種ramdiskをここ数年、試してきましたがfreeで制限がなく、しかも、windows 10でしっかりと使用できるのは以下のsoftwareで決定じゃないだろうかというお話と、直接的にはこのsoftwareの問題ではありませんが遭遇した不具合の対処方法です。
使用し始めたのはwindows XPでGavotte Ramdiskが有名になった頃からなので調べたら2008年頃。
このsoftwareのChangelogをみるとversion 1.0が2009-11-13 かなり経ってた様子。

https://www.softperfect.com/products/ramdisk/
RAM Disk for Windows

ドライブ増設でramdiskだったドライブレターまでドライブを増設すると、osがハングします。
ただし、パーティションを切ってないまっさらなドライブの場合問題ありません。

具合的にはramdiskの設定がF driveだとして、ドライブを数台増設し、F driveにかぶるようだと確実にosが起動に失敗します。

例:
別マシンで使っていたドライブを増設。

不具合メッセージ

osが出すBSoDは、 PAGE FAULT IN NON PAGED AREA とでます。
意味合いとしては、非ページ領域でページ不具合が発生しました でしょうか。

原因

ramdiskで作成していた場所に、増設したドライブが割り込んできて、ramdiskが存在しなくなっているのでエラーを吐き起動できなくなります。

対処方法

safe modeで起動し増設したドライブのドライブレターを後ろの方に振り直し通常modeで再起動し、起動後、ramsdiskをいったん抹消しからて再起動(safe modeではramdiskのsoftwareが読み込まれません)
その後、増設したドライブを本来のドライブレターをあててからramdiskを再作成。 

事前の不具合回避

・一番簡単な方法は、
ドライブレターにそうそう増設で割り込みがかからない、比較的後ろなRを割りあてる
(ramdiskにちなんでRなど)

・ 増設するドライブは事前にパーティションを消しておく。

・ 増設する前に事前にramdiskのドライブを消しておく。

ちょっとしたtips

・ramdiskでドライブの割り当てを頻繁に変更すると仕組みの上で当たり前ですが、結構な割合でBSoDします。
ramdiskを設定したら、いったん再起動しメモリ領域を初期化するのが運用のコツです。

・イメージを起動時読み込みに設定すると結構な割合で不具合がでますので注意!
ただし、オプションである、フォルダの事前作成機能は問題ありませんので
temp1やmisc等の空フォルダを自動作成させておくと運用に便利です。


この不具合の回避策は、起動後に多少の時間をおいて、robocopy等で必要なdataをramdiskへcopyするbatを組み込んでおく。
(タスクスケジューラでloginをトリガーにして動作やpowershellでの遅延処理などの手もあります)
また、

bat fileは http://forest.watch.impress.co.jp/docs/review/313521.html
Bat To Exe Converter

でexe化し、管理者権限をそのexeに付加しておくと面倒がおきませんし、管理が容易になります。
注意点として、
ウィルス駆除softが警告を出してくる場合がありますので除外の登録をしておいてください。

・7zipやWinRARは作業用フォルダを指定できるので指定をramdiskにしておくと快適です。
この運用の場合展開したfileがテンポラリにしているドライブ内に散らばらなくなるのでdefragしなきゃダメかも?やテンポラリがssdだった場合延命にもなります。
(左近SSDの寿命を気にする必要はあまりないかもしれませんが、精神衛生的に...)

以上です。