疑難排解在 Windows 中檢查 DOS 為主的程式

文章翻譯 文章翻譯
文章編號: 165214 - 檢視此文章適用的產品。
本文章的有 Microsoft Windows XP] 版本請參閱 314106
全部展開 | 全部摺疊

在此頁中

結論

本文將告訴您,如何疑難排解在 Windows 中的檢查 DOS 型程式問題。

其他相關資訊

測試 Ntvdm 子系統

若要測試時有問題檢查 DOS 為主的程式在第一件事就是 Windows 虛擬該做的事機器 (NTVDM) 子系統。您可以使用 Command.com 來測試是否正確地執行 NTVDM 子系統。 您可以啟動 Command.com 藉由執行下列步驟執行:
  1. 按一下 [開始] 按鈕,然後按一下 [執行]。
  2. 在 [開啟] 方塊中輸入 command.com,],然後再按一下 [確定]]。
這應該會啟動命令提示字元視窗。如果這無法正常運作,NTVDM 子系統發生問題,您應該檢查下列項目:
  • 檢查 Config.nt 和 Autoexec.nt 檔案 %SystemRoot%\System32 資料夾中的非標準的設定。

    使用一個 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 光碟片光碟的 Autoexec.nt_ 和 Config.nt_ %SystemRoot%\SYSTEM32 資料夾。
  • 關閉所有其他執行中的程式。這可以藉由執行工作管理員],關閉所有正在執行的程式並確定有沒有其他 NTVDM 執行的處理程序完成。若要啟動 [工作管理員] 請按 CTRL + SHIFT + ESC 鍵。
  • 避免所有的程式啟動時執行。程式在啟動時,可以執行從三個地方: 啟動群組]、 [執行] 和 [Runonce 線條在登錄中的,"執行 ="和"載入 ="Win.ini 檔案中的行。您可以檢查這些地方,如下所示:
    • 啟動群組是在本機硬碟上位於下列位置的資料夾:
      • %SystemRoot%\Profiles\ user_name \Start menu\Programs
      • %SystemRoot%\Profiles\Default user\Start menu\Programs


    • 執行 」 以及 「 Runonce 線條可在下列登錄機碼下登錄中找到:
      HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\
    • 您可以編輯 Win.ini 檔案使用 [記事本]。它會在 %SystemRoot %資料夾中。
  • 請確認 %SystemRoot%\System32 資料夾 NTVDM 系統檔案。檢查下列的檔案,並確定它們藉由檢查大小和日期是正確的版本:
          Ntio.sys
          Ntdos.sys
          Ntvdm.exe
          Ntvdm.dll (Windows NT 3.1 only)
          Redir.exe
    						
  • NTVDM 子系統相關聯的登錄項目如下:
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment
      這個機碼會將環境變數從 Config.sys 和 Autoexec.bat 檔供使用儲存在 Windows 中。
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ VirtualDeviceDrivers
      此機碼會儲存裝置驅動程式,在 NTVDM 工作階段中使用。 安裝裝置驅動程式時,是由 Windows 安裝程式建立這些項目。

程式特定的問題

下列函式無法在 Windows 中運作:
  • 支援工作切換 API (程式設計介面函式的程式) 以外的所有 MS-DOS 函式。
  • 不支援區塊模式裝置驅動程式。(區塊裝置不支援,所以不支援處理區塊裝置的 MS-DOS IOCTL API 和 SETDPB 函式)。
  • 插斷 10 函數 1A 傳回 0 ; 所有其他函式會傳遞至唯讀記憶體 (ROM)。
  • 不支援處理所禁止的磁碟存取的插斷 13 呼叫。
  • 插斷 18 (ROM 基本) 會產生訊息,指出 ROM 基本不受支援。
  • 插斷 19 不會重新開機,電腦,但可以清楚地將終止目前的虛擬 DOS 機器 (VDM)。
  • 插斷 DOSKEY 程式呼叫遭到 2F 處理 (AX = 4800) 不支援。
  • 不支援 Microsoft CD-ROM 擴充功能 (MSCDEX) 函數 2,3,4,5,8 E 及 F。
  • 16 位元 Windows 子系統上的 x 86] 電腦支援增強模式程式 ; 它不,但是,支援 16 位元 VxD (虛擬裝置驅動程式)。非 x86 電腦上的子系統可模擬可以讓電腦在 RISC 電腦上執行增強模式程式如 Microsoft Visual Basic 中,Intel 40486 指令集。
這表示 Windows 不支援需要不受限制地的存取硬體的 16 位元程式。如果您的程式需要這,將無法運作在 Windows NT 或 Windows 2000。

您接下來應該檢查以查看 [Autoexec.nt] 和 [Config.nt 檔案設定是否正確。永遠試上面所列的預設設定。某些程式需要特殊設定或驅動程式執行 Config.sys 或 Autoexec.bat 檔中。如果是這種情況,有兩個啟動程式時初始化這些檔案的選項:
  • 在 %SystemRoot%\System32 資料夾中 Config.nt 和 Autoexec.nt 檔案中輸入這行程式碼。
  • 建立新的組態和 Autoexec 檔案時啟動此程式執行。如果要執行這項操作,請依照下列步驟執行:
    1. 建立檔案,並將其儲存與副檔名.nt 在資料夾中以外 %SystemRoot%\System32 (這些檔案通常會儲存在相同程式的資料夾。
    2. 在桌面上按一下滑鼠右鍵,指向 [新增],然後再按一下 [捷徑]
    3. 命令列] 方塊,鍵入您想要執行的檔案完整路徑,然後按一下 [下一步]。
    4. 在 「 [您捷徑的名稱可以"] 方塊鍵入該捷徑的名稱,然後按一下 [完成]。這會在桌面上建立新的捷徑。
    5. 在新的捷徑上按一下滑鼠右鍵,然後按一下 [內容]。
    6. 在 [程式] 索引標籤上按一下 [Windows]。這樣會開啟一個 Autoexec 及組態檔路徑] 對話方塊。
    7. 輸入您建立的檔案的完整路徑,然後按一下 [在兩個對話方塊的 [確定]
    每次啟動這個圖示它會執行指定的程式將 Autoexec 和組態檔。這些設定是受制於相同的限制,如下所列的檢查 DOS 為主的程式。
有其他程式的內容中的設定。如果您的程式正常執行,您可以檢查所有索引標籤,並確定程式設定會設定為製造商的規格。如果仍然無法運作程式,程式的廠商應該連絡,查看程式是否支援在 Windows 下。

如需詳細資訊請參閱下列文件 「 Microsoft 知識庫 」 中:
發行項識別碼: 171940
TITLE: MS-DOS 應用程式 I/O 作業造成軟碟機存取

發行項識別碼: 102418
TITLE: NTVDM 錯誤: 磁碟機中沒有任何磁碟

發行項識別碼: 156687
TITLE: CONFIG.NT 或 AUTOEXEC.NT 中的項目可能會造成 NTVDM 錯誤

發行項識別碼: 142026
TITLE: 錯誤:"隱藏的主控台 WOW VDM 」 執行 16 位元或 DOS 應用程式
取得更多資訊有關列印檢查 DOS 為主的程式中請參閱下列的 「 Microsoft 知識庫 」 中的文件:
發行項識別碼: 163551
TITLE: 疑難排解在 Windows 中的列印問題

屬性

文章編號: 165214 - 上次校閱: 2007年2月22日 - 版次: 3.2
這篇文章中的資訊適用於:
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
關鍵字:?
kbmt KB165214 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:165214
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

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