ERAM for Windows よくある質問
Last updated 2008.7.13
ERAM for WindowsNT/2000/XPのよくある質問です。他にもありますが徐々に整備するつもりです。
- WindowsXPにおいて、「ファンクションが間違っています」ダイアログが出ます。
WindowsXPの場合、起動時に認識されているHDDが全NTFSな環境においてはFASTFATドライバが起動されないため、FAT/FAT32でフォーマットされているERAMを認識できなくなります。強制的にFASTFATドライバを起動することで回避可能です。ERAMNT.DOC-5.1(フォーマットが認識されないことがある)に従い回避してください。
- WindowsNT/2000/XPにおいて、フォーマットが認識されません。
起動時に認識されているドライブ(FDD含む)が全NTFSな環境においてはFASTFATドライバが起動されないため、FAT/FAT32でフォーマットされているERAMを認識できなくなります。強制的にFASTFATドライバを起動することで回避可能です。ERAMNT.DOC-5.1(フォーマットが認識されないことがある)に従い回避してください。
- Windows2000/XPにおいて、CD-R/RWまたはDVD-ROM/RAM等を繋いでいる環境でフォーマットが認識されません。
CD-R/RWやDVD-ROM/RAMが接続されている環境において、FATパーテーションがあるにもかかわらず、ERAMを認識できないという現象が報告されていますが、原因や対処方法は不明です。
- WindowsXPにおいて、ファイルをコピーすると復元ポイントが消えてしまいます。
システム復元フィルタドライバ(sr.sys)がRAMディスクに対応していないために例外が発生し、すべての復元ポイントが消去されています(イベントログに例外イベントが記録されています)。DDKのRAMディスクでも同様の現象になります。
以下の手順で回避可能です。ドライブ文字を変更する際にはこちらも変更する必要があります。
- (1)%SystemRoot%\system32\restore\filelist.xmlのコピーを取っておく
- (多くの環境ではC:\windows\system32\restore\filelist.xmlです)
- (2)システムの復元をすべてのドライブで停止
- UIで システムの復元の設定 を実施するか、
- コントロールパネル→システム→システムの復元 タブ を出すか、
- 以下のvbsを実行
- set SRP = GetObject("winmgmts:\\.\root\default:SystemRestore")
- eSRP = SRP.disable("")
- (3)%SystemRoot%\system32\restore\filelist.xmlのファイル属性から読み取り専用(R)を取る
- (4)%SystemRoot%\system32\restore\filelist.xmlを編集し保存
- ERAMのドライブ文字がZ:の場合、以下のようにします。
- <DIRECTORIES>
- <Exclude>
- <REC>Z:\</REC> ←対象ドライブのルートを行追加
- <REC>%cookies%</REC>
- ...
- (5)システムの復元を開始
- UIで システムの復元の設定 を実施するか、
- コントロールパネル→システム→システムの復元 タブ を出すか、
- 以下のvbsを実行
- set SRP = GetObject("winmgmts:\\.\root\default:SystemRestore")
- eSRP = SRP.enable("")
- WindowsXP/2003において、ページファイルをERAMに設定できません。
WindowsXP以降では、ディスク管理方式が変わっているためか、現在のバージョンではページファイルをERAMには設定できません。潤沢にRAMがある場合はページファイル無し設定にする等工夫して利用してください。
- マウントポイント等の機能が使えません。
WindowsXP以降では、ディスク管理方式が変わっているためか、現在のバージョンではNTFS5.1系の機能とは連携できません。
- over512MBで壁があるようです。
Vector本店側の更新は(手続きが面倒なので)遅れがちです。古いバージョンでは大容量でうまく動かないものがあるかもしれません。また、最新バージョンでもマザーボードによってはうまく動作しないことがあるかもしれません。手元にはover512MBな環境が無いので検証できませんが、over1GBの動作報告は何回か頂いています。
- over1.7GB近辺で壁があるようです。
Tさん(仮)に調べていただいたところ、NOLOWMEMと/MAXMEM=nの併用時、/MAXMEM=nがover4GB空間の意味を示しているのに対し、ERAMが下位4GBの扱いで計算しているために発生していたようです。ver2.22以降で直したつもりです。他には、マザーボードによってはRAMが見える最大実装位置があり、その限界は超えられません。また、RAMとPCIボードのメモリ空間に空きが無い場合、ERAMによるメモリ上限検出が誤動作する可能性がありますので、フル実装の場合は自身での計算が無難です。各PCIのメモリ空間についてはwinmsd等で確認できます。なお、ver2.20のデバッグ用機能の範囲においては、3.96GB(WindowsXP,FAT32)の読み書きが正常に行えるのを確認しています。
- Windows2000/XPにおいて、スタンバイできなくなりました。
DDKでは、メモリ資源を確保する際はOSに報告することになっています。NT4ではIoReportResourceUsageで行いますが、Windows2000ではこのAPIを呼んでいるとPnP非対応とみなされ、スタンバイ/休止状態に遷移できなくなってしまいます。Windows2000DDKにおいては、IoReportResourceForDetectionとIoReportDetectedDeviceを用いることになっているのですが、これらのAPIはover16MBなメインメモリ要求に対して成功を返してくれません。すなわち、まっとうな手段でスタンバイ/休止状態に遷移することはできません。
しかし調査の結果、OSに報告しなくても資源を使うことはできることが判明しました。他に競合するデバイスが無いと判明している場合は上記APIを呼び出さないことでスタンバイが使用可能になります。バージョン2.12より、OSに報告しない選択を可能にしています。なお、休止状態に遷移する際にOS管理外メモリの内容は退避されないため、休止状態に遷移するとRAMディスクの内容は壊れてしまいます。
- ACPIとのメモリ空間との相性があるのでは。
ACPIでは、メモリの上位(8MBより上位の任意の場所)にReclaim/NVSと呼ぶ領域を確保することになっています。MAXMEM指定の無い場合、これらの領域は「Loader
Reserved」となり、OSから使用されることはありません。MAXMEM=n指定の際はOS管理外となり、自分で管理しなければなりません。この領域は、MAXMEM指定の無いときにwinmsdなどで確認することができます。ver2.21からACPIを除外するように対応テスト中です。この仕様はACPI
BIOS仕様書2.0c(2003/8/25)に従っているつもりです。
- AGPとのメモリ空間との相性があるのでは。
AGPについてはメインメモリを使用するものの、連続した物理メモリを予約するものではないため、仕様書を読んだ限りでは影響無いものと考えています。
- PhotoShopでうまく使うにはどうしたら良いですか。
手元にはPhotShopが無いのでよくわかりません。Google等で検索してみてください。PhotoShop自体の作業ディレクトリ指定らしきものがあって、そこをERAMに変えるとか、作業ファイルの履歴数を減らすとかすれば良いらしいです。
- シャットダウンするとき消えないようになりませんか。
なりません。(^_^;)
個人的に「RAMディスクは電源OFFすると消えるもの」と考えていますので、必要であればシャットダウン時にプログラムを動かすツールを併用するなどして回避してください。シェアウェアのRAMディスクでは、HDDに記録する機能を持っているものがあります。
- ERAMNT.DOCはどこにありますか。
ERAMをインストールしたときのLZHファイルの中にあります。
技術情報トップページへ戻る