Window NT 4.0 で行う MS-DOS プログラムのトラブルシューティング

文書翻訳 文書翻訳
文書番号: 165214 - 対象製品
この記事は、以前は次の ID で公開されていました: JP165214
すべて展開する | すべて折りたたむ

目次

概要

この資料では、Windows NT 4.0 と Windows 2000 で生じる MS-DOS プログラムの問題のトラブルシューティングについて説明します。

詳細

Ntvdm サブシステムのテスト

MS-DOS プログラムに問題がある場合にまず最初にテストするのは、NTVDM (Windows NT Virtual Dos Machine) サブシステムです。NTVDM サブシステムが正常に動作しているかどうかは、Command.com を使用してテストします。次の手順を実行して、Command.com を起動してください。
  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。
  2. [名前] ボックスに、「command.com」 (かっこは付けずに) と入力し、[OK] をクリックします。
これで、コマンド プロンプト ウィンドウが起動します。起動しなければ、NTVDM サブシステムに問題があります。次の項目を確認してください。
  • 非標準設定に関しては %systemroot%\system32 にある Config.nt および Autoexec.nt ファイルを調べてください。

    REM ステートメントを使って、次のデフォルトのエントリ以外のすべてのエントリにコメントを付けます。
    Config.nt
          ---------
          dos=high, umb
          device=%SystemRoot%\system32\himem.sys
          files=20
    
    Autoexec.nt
          -----------
    
          lh %SystemRoot%\system32\mscdexnt.exe
          lh %SystemRoot%\system32\redir
          lh %SystemRoot%\system32\dosx
          lh %SystemRoot%\system32\nw16 (only if CSNW is installed)
          lh %SystemRoot%\system32\vwipxspx (only if CSNW is installed)
    

    注 : ほかに、Windows NT または Windows 2000 CD-ROM から Autoexec.nt_ および Config.nt_ を %SystemRoot%\SYSTEM32 フォルダに展開する方法もあります。
  • 実行中のプログラムをすべて終了します。この操作を実行するには、タスク マネージャを実行して、実行中のプログラムをすべて閉じ、ほかの NTVDM プロセスが実行されていないことを確認します。タスク マネージャを起動するには、Ctrl + Shift + Esc キーを押します。
  • 起動時に、すべてのプログラムが実行されないようにします。プログラムは、[スタートアップ] グループ、レジストリ内の Run および Runonce 行、Win.ini ファイル内の "run=" と "load=" 行の 3 つの場所から起動時に実行されます。この 3 つの場所は、次のようにして確認することができます。
    • [スタートアップ] グループは、ローカル ハードディスクの %SystemRoot%\profiles\%username%\スタート メニュー\プログラムおよび %systemroot%\profiles\default user\スタート メニュー\プログラムにあるフォルダ内にあります。
    • Run 行と Runonce 行は、レジストリ内の HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\ キーの下にあります。
    • Win.ini ファイルの編集には メモ帳を使用できます。Win.ini ファイルは、%SystemRoot% フォルダにあります。
  • %SystemRoot%\System32 内の NTVDM システム ファイルを確認します。次のファイルのサイズと日付を調べて、正しいバージョンであることを確認してください。
    Ntio.sys
    Ntdos.sys
    Ntvdm.exe
          Ntvdm.dll (Windows NT 3.1 only)
    Redir.exe
    
  • NTVDM サブシステムと関連するレジストリ エントリは次のとおりです。


    このキーには、Windows NT または Windows 2000 で使用している Config.sys および Autoexec.bat ファイルに記述されている環境変数が格納されます。


    このキーには、NTVDM セッションで使用するデバイス ドライバが格納されます。これらのエントリは、デバイス ドライバのインストール時に Windows NT または Windows 2000 Setup によって作成されます。

プログラム固有の問題

次の機能は、Windows NT および Windows 2000 では動作しません。
  • サポートされているタスク切り替え用 API (プログラムのプログラミング インターフェイス機能) 以外のすべての MS-DOS 機能。
  • ブロック モードのデバイス ドライバはサポートされていません (ブロック デバイスはサポートされていないので、ブロック デバイスおよび SETDPB 機能を処理する MS-DOS IOCTL API はサポートされていません)。
  • 割り込み 10 の機能 1A は 0 を返します。ほかの機能はすべて読み取り専用メモリ (ROM) に渡されます。
  • 禁止されているディスク アクセスを処理する割り込み 13 の呼び出しはサポートされていません。
  • 割り込み 18 (ROM BASIC) は、ROM BASIC がサポートされていないというメッセージを生成します。
  • 割り込み 19 が発生してもコンピュータは再起動しませんが、現在の仮想 DOS マシン (VDM) は正常に終了させます。
  • DOSKEY プログラム呼び出し (AX=4800) を処理する 割り込み 2F はサポートされていません。
  • Microsoft CD-ROM Extensions (MSCDEX) 機能 2、3、4、5、8、E、および F はサポートされていません。
  • x86 コンピュータ上の 16 ビット Windows サブシステムでは、エンハンス モードのプログラムをサポートしています。しかし、16 ビット VxD (仮想デバイス ドライバ) はサポートしていません。x86 以外のコンピュータ上のサブシステムは、Intel 40486 命令セットをエミュレートするため、RISC コンピュータでは Microsoft Visual Basic などのエンハンス モードのプログラムを実行できます。
つまり、Windows NT および Windows 2000 は、ハードウェアに対し無制限のアクセスを必要とする 16 ビット プログラムをサポートしていません。そのためこのようなアクセスを必要とするプログラムは、Windows NT または Windows 2000 では動作しません。

次に、Autoexec.nt および Config.nt ファイルの設定に間違いがないか調べます。必ず、上記のデフォルトの設定を試してください。特別な設定またはドライバを Config.sys または Autoexec.bat ファイルで実行する必要のあるプログラムもあります。そのような場合のために、プログラムの起動時にこれらのファイルを初期化する次の 2 つのオプションが用意されています。
  • %SystemRoot%\System32 フォルダにある Config.nt および Autoexec.nt ファイルにそれらの行を入力してください。
  • このプログラムを起動するときに実行される新しい Config および Autoexec ファイルを作成します。ファイルを作成するには、次の手順に従ってください。
    1. ファイルを作成して拡張子 .nt を付け、%SystemRoot%\System32 以外のフォルダに保存してください (これらのファイルは通常、プログラムと同じフォルダ内に保存します)。
    2. デスクトップを右クリックして [新規作成] をポイントし、[ショートカット] をクリックします。
    3. [コマンド ライン] ボックスに、実行するファイルの完全なパスを入力して、[次へ] をクリックします。
    4. [ショートカットの名前を指定してください] ボックスに、ショートカットの名前を入力して、[完了] をクリックします。これで、デスクトップ上に新しいショートカットが作成されます。
    5. 新しく作成したショートカット アイコンをを右クリックし、[プロパティ] をクリックします。
    6. [プログラム] タブ の [Windows NT] をクリックします。この操作により、Autoexec および Config ファイルへのパスを入力するダイアログ ボックスが開きます。
    7. 作成したファイルへの完全なパスを入力して、両方のダイアログ ボックスの [OK] をクリックします。
    このアイコンを起動するごとに、プログラムに対して指定した Autoexec および Config ファイルが実行されます。これらの設定は、MS-DOS プログラムについて記載したのと同じ制限が適用されます。
プログラムのプロパティにはほかにも設定があります。プログラムが正常に動作しない場合には、すべてのタブを調べて、プログラム設定がメーカーの指定どおりに設定されていることを確認してください。それでもプログラムが動作しない場合には、そのプログラムが Windows NT でサポートされているかどうか、プログラムのベンダに問い合わせてみてください。

関連情報については、次の Microsoft Knowledge Base の資料を参照してください。
文書番号 : 171940
タイトル : MS-DOS Application I/O Operations Cause Floppy Drive Access

文書番号 : 171940
タイトル : [NT] MS-DOSでI/O 処理が FD にアクセスする原因になる
文書番号 : 102418
タイトル : NTVDM Error: There Is No Disk in the Drive
文書番号 : 156687
タイトル : Entries in CONFIG.NT or AUTOEXEC.NT May Cause NTVDM Errors
文書番号 : 142026
タイトル : Err: "Hidden Console of WOW VDM" Running 16-bit or DOS App

文書番号 : 142026
タイトル : [NT] Err: WOWVDM 隠しコンソールでシステム エラーが発生しました
MS-DOS プログラムにおける印刷の詳細については、Microsoft Knowledge Base の次の資料を参照してください。
文書番号 : 163551
タイトル : Troubleshooting Printing Problems in Windows NT 4.0

文書番号 : 163551
タイトル : [NT] Windows NT 4.0 の印刷問題トラブルシューティング

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 165214 (最終更新日 2000-01-26) をもとに作成したものです。

プロパティ

文書番号: 165214 - 最終更新日: 2004年9月7日 - リビジョン: 3.1
この資料は以下の製品について記述したものです。
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
キーワード:?
kbtshoot ntsrvwkst ntdosap KB165214
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com