文書番号: 78557
最終更新日: 2003/07/21
この資料は以下の製品について記述したものです。
Microsoft MS-DOS operating system 5.0 Microsoft MS-DOS operating system 5.0a Microsoft MS-DOS operating system 6.0 Microsoft MS-DOS operating system 6.2 Microsoft MS-DOS operating system 6.21 Microsoft MS-DOS operating system 6.22 Microsoft Windows for Workgroups 3.1 Microsoft Windows for Workgroups 3.11 Microsoft Windows 3.1 Microsoft Windows 3.11 Microsoft Windows 95 Microsoft Windows 98
使用中のハードウェアに関する問題がこの資料で説明されていない場合、下記のマイクロソフト Web
サイトで、その他のハードウェアについての資料を参照してください。
概要 この資料では次の項目について説明します。
EMM386.EXE によりコンピュータがロックされた場合に使用するトラブルシューティング手順
EMM386.EXE が UMB および EMS ページ フレームを探す方法
UMA スキャン アルゴリズム
EMM386 および E000 セグメント
以下のメッセージに関する EMS の一般的な問題 "WARNING: Unable to set page frame base address--EMS
unavailable" メッセージ "EMS メモリプールのサイズを調整しました" メッセージ EMM386.EXE および Windows EMM386.EXE のバージョン履歴 注 : この情報は、MS-DOS、Microsoft Windows、および Microsoft Windows for
Workgroups に含まれているバージョンの EMM386.EXE に適用されます。
詳細
EMM386.EXE によりコンピュータがロックされた場合
EMM386.EXE によりコンピュータがロックされた場合は、以下のトラブルシューティングの手順に従います。
CONFIG.SYS ファイル内の DEVICE=EMM386.EXE に HIGHSCAN
パラメータが含まれている場合、このコマンドから HIGHSCAN を削除して CONFIG.SYS ファイルを保存し、コンピュータを再起動します
(一部のコンピュータでは、HIGHSCAN を使用できません)。 EXCLUDE オプションを使用して EMM386.EXE を起動します。
EMM386.EXE が、システムによって使用されている領域を間違って "ホール" (UMB または EMS ページ フレームとして使用可能な領域)
として認識している可能性があります。その結果、EMM386.EXE は、コンピュータのハードウェア アダプタにより使用されているメモリの一部を上書きします。
A000-EFFF の範囲のアドレスを除外することにより、EMM386.EXE は UMB または EMS ページ
フレーム用に除外された領域を使用しなくなります。除外する正確な領域を特定するには、実験が必要です。大きい範囲の領域を除外することから始め、次第に領域のサイズを小さくしていきます。たとえば、次のとおりです。
DEVICE=EMM386.EXE NOEMS X=A000-EFFF
DEVICE=EMM386.EXE NOEMS X=C000-DFFF
DEVICE=EMM386.EXE NOEMS X=C800-CFFF
EMM386.EXE のデバイス行には、除外範囲を複数指定できます。たとえば、次のとおりです。
DEVICE=EMM386.EXE NOEMS X=C000-C7FF X=E000-EFFF
アダプタ カードが使用する上位メモリ アドレスに関する情報については、ハードウェア
デバイスに添付されたドキュメントを参照してください。上位メモリ アドレスを使用するデバイスには、ネットワーク カード、SCSI アダプタ、ビデオ
カード、およびスキャナなどがあります。 コンピュータに SCSI ディスク コントローラがあり、SCSI アダプタのデバイス ドライバが必要な場合、SCSI
ドライバの DEVICE= 行が DEVICE=EMM386.EXE 行より前に置きます。SCSI デバイス ドライバには、ASPI4DOS.SYS および
USPI14.SYS などがあります。 コンピュータがハングする問題が発生した場合は、SMARTDrive ダブル バッファ ドライバを読み込んでみます。
注 : CONFIG.SYS ファイル内で、SMARTDrive ダブル バッファ ドライバの行は、DEVICE=EMM386.EXE
行より前に置く必要があります。
MS-DOS 6.0 以降、Windows 3.1 以降、または Windows for Workgroups の場合
MS-DOS 6.0 以降、Microsoft Windows 3.1 以降、または Microsoft Windows for
Workgroups を使用している場合、次のようにして SMARTDrive ダブル バッファ ドライバが CONFIG.SYS
ファイルから読み込まれます。
device=c:\windows\smartdrv.exe /double_buffer
AUTOEXEC.BAT ファイルで、SMARTDRV.EXE の行の終わりに /L を追加します。たとえば、次のとおりです。
c:\windows\smartdrv.exe /L
問題が解決しない場合、ダブル バッファ デバイスの行の終わりに次のように + 記号を追加します。
device=c:\windows\smartdrv.exe /double_buffer+
MS-DOS 5.x の場合
MS-DOS 5.x に含まれている SMARTDRV.SYS ドライバを使用する場合、SMARTDrive ダブル バッファドライバは CONFIG.SYS から次のように読み込まれます。
device=c:\dos\smartdrv.sys /b+
別の HIMEM.SYS A20 ハンドラで実験します。これは、HIMEM.SYS デバイス行で /MACHINEスイッチを使用することにより行います。 HIMEM.SYS /MACHINE: スイッチ、および A20ハンドラの問題のトラブルシューティングに関する情報は、次の方法で入手してください。 MS-DOS、Windows、または Windows for Workgroups のドキュメントを参照する。 「サポート技術情報」 (Microsoft Knowledge Base) で次の用語を検索します。
tshoot、himem.sys、control、および a20 line
EMM386.EXE が UMB および EMS ページ フレームを探す方法
UMA スキャン アルゴリズム
デフォルトで、EMM386.EXE は以下の UMA 領域をスキャンします。
MS-DOS 5.0: C800-DFFF
Windows 3.1、Windows for Workgroups 3.1: C600-DFFF
MS-DOS 6.0 以降、Windows for Workgroups 3.11 以降: C000-EFFF
注 :
一部のハードウェアでは、E000-EFFF 領域が別の方法で処理されます(後述の「EMM386.EXE および E000 セグメント」を参照)。
MS-DOS 6.0 以降、および Windows forWorkgroups 3.11 では、HIGHSCAN スイッチを使用することにより、範囲 F000-F7FF を含めることができます。
EMM386.EXE および E000 セグメント
Compaq 製のコンピュータでは、E000 セグメントにシャドウ RAM があるか、セグメントが使用されていません。シャドウRAM では、EMM 386.EXE が読み込まれる前に Int 10 ベクタがフックされていない場合、シャドウ領域が EMM386.EXEにより回収されます。これは、シャドウ領域に、C000 領域から再マップされたビデオ ROM のコピーが含まれているためです。
E000セグメントにはシステム ROM があるため、EMM368.EXE は MCA コンピュータ (IBM PS/2) の E000 を除外します。
他のコンピュータでは、E000 はデフォルトで除外されます。E000 領域が使用可能であると判断した場合、CONFIG.SYS ファイルのDEVICE=EMM386.EXE コマンドに I=E000-EFFF を追加することにより、E000 を明示的に含めることができます。
注 : EMM386.EXE は INCLUDE スイッチを検出すると、起こり得る競合をスキャンせずに領域を含めます。
EMS の一般的な問題
WARNING: Unable to Set Page Frame Base Address--EMS Unavailable このエラーは、EMM386.EXE が EMS ページ フレームの UMA で、64K の連続した "ホール"を見つけることができない場合に表示されます。
LIM 3.2 仕様によると、ページ フレームは 4 つの連続した 16Kページで構成されており、LIM プロバイダによりページ フレームを設定する必要があります。
LIM 4.0 仕様によると、EMSプロバイダは 64K ページ フレームを設定する必要はありませんが、最低でも 16K ページを設定する必要があります。
EMM386.EXE は LIM 4.0 仕様に合致していますが、ページ フレームに使用できる 64K の連続したホールが見つからない場合は、EMSプロバイダとして読み込みを行いません。これは、LIM 3.2 アプリケーションの大半が、ページ フレームの存在を前提としているためです。
EMM 386.EXE は、Pn パラメータを使用することにより LIM 3.2 (64K) ページフレームを使用せずに読み込むよう強制できます。EMM386.EXE が LIM 4.0 プロバイダとして読み込みを行うことを強制した場合、LIM 3.2アプリケーションは実行しないでください。アプリケーションの製造元に問い合わせて、必要な LIM のバージョンを決定してください。
注: LIM 3.2 (64K) ページ フレームが必要な場合、ハードウェア デバイスの設定を変更して、UMA の連続した 64K領域を開放する必要があります。
EMS メモリプールのサイズを調整しました このエラー メッセージは、コマンド ラインで要求された EMS メモリのすべてを EMM386.EXEが提供できない場合に表示されます。たとえば、DEVICE=EMM386.EXE 2048 を使用して、コンピュータには 1024K の XMSメモリしかない場合、EMM386.EXE はこのエラー メッセージを表示して、可能な限り EMS を提供します (EMM386.EXEが自分自身のコードとデータ用に一部の XMS メモリを使用して、それにより EMS が使用可能な XMS メモリの量が減る点に注意してください)。
NOEMS スイッチで Windows が EMS を提供できない
LIM 4.0 仕様によると、EMS ページはコンベンショナル メモリ (0-640K) に配置することもできます。EMM386EMS 行は、デフォルトで 256K から開始します。NOEMS オプションが指定されると、アダプタ領域 A000-FFFF のすべてのホールが UMBに使用され、EMM386.EXE は EMS を提供しません。
一度 Windows 3.0 が起動されて MS-DOSセッションが起動されると、EMM386.EXE は EMS を提供できる場合とできない場合があります。Windows が 386拡張モードで動作している場合、EMM386.EXE は MS-DOS セッションで EMS を提供できます。ただし、 EMS ページはコンベンショナルメモリに存在します。これにより、前述の LIM 3.2 アプリケーションの動作のために、問題が発生することがあります。
Windows3.1 386 拡張モード MS-DOS セッションでは、EMS は提供されません。
EMM386.EXE のバージョン履歴
MS-DOS 5.0 4.20
MS-DOS 5.00a 4.33
MS-DOS 6.0 4.45
MS-DOS 6.2 4.48
MS-DOS 6.21 4.48
MS-DOS 6.22 4.49
Windows 3.1 4.44
Windows 3.11 4.44
Windows for Workgroups 3.1 4.44
Windows for Workgroups 3.11 4.48
Windows 95 4.95
Windows 98 4.95
この資料に記載されている一部の製品は、マイクロソフトと関連のない他社の製品です。明示または黙示にかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。
関連情報 この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID
78557 (最終更新日 2002-02-05) を基に作成したものです。 Additional query words: HWSCSI 6.22 5.00 5.00a 6.00 6.20 3.10 freeze stop lock
conflict msdos
Keywords: kbinfo kbtshoot KB78557
Technology: kbAudDeveloper kbMSDOS500 kbMSDOS500a kbMSDOS600 kbMSDOS620 kbMSDOS621 kbMSDOS622 kbMSDOSSearch kbWFW310 kbWFW311 kbWFWSearch kbWin310 kbWin311 kbWin3xSearch kbWin95search kbWin98 kbWin98search kbZNotKeyword3