ERAM for Windows よくある質問

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