Risoluzione dei problemi di programmi MS-DOS in Windows

Questo articolo è stato archiviato. L’articolo, quindi, viene offerto “così come è” e non verrà più aggiornato.
Per la versione di questo articolo relativa a Microsoft Windows XP, vedere il seguente articolo della Microsoft Knowledge Base: 314106.
Sommario
In questo articolo viene spiegato come risolvere i problemi relativi ai programmi MS-DOS in Windows.
Informazioni

Verifica del sottosistema Ntvdm

In caso di problemi con i programmi per MS-DOS, occorre innanzi tutto verificare il sottosistema Virtual DOS Machine (NTVDM) di Windows. Per assicurarsi che il sottosistema NTVDM funzioni correttamente, è possibile utilizzare l'utilità Command.com. Per avviare Command.com, attenersi alla seguente procedura:
  1. Fare clic sul pulsante Start e scegliere Esegui.
  2. Nella casella Apri digitare command.com, quindi scegliere OK.
Dovrebbe essere visualizzata una finestra del prompt dei comandi. Se con questo comando non viene visualizzato il risultato corretto, si è verificato un problema nel sottosistema NTVDM e sarà necessario controllare i seguenti elementi:
  • Verificare i file Config.nt e Autoexec.nt nella cartella %SystemRoot%\System32 per individuare eventuali impostazioni non standard.

    Utilizzando un'istruzione REM, escludere tutte le voci fatta eccezione per le seguenti voci predefinite:
          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 (solo se è installato CSNW)      lh %SystemRoot%\system32\vwipxspx (solo se è installato CSNW)

    NOTA: la stessa operazione può essere eseguita anche espandendo Autoexec.nt_ e Config.nt_ dal CD di Windows nella cartella %SystemRoot%\SYSTEM32.
  • Chiudere tutti gli altri programmi in esecuzione. A tale proposito, avviare Task Manager, chiudere tutte le applicazioni in esecuzione e assicurarsi che non vi siano altri processi NTVDM in esecuzione. Per avviare Task Manager, premere CTRL+MAIUSC+ESC.
  • Impedire l'esecuzione automatica di programmi all'avvio del sistema. L'esecuzione automatica dei programmi all'avvio del sistema viene definita in tre punti: i gruppi di avvio, le righe Run e RunOnce nel Registro di sistema e le righe "run=" e "load=" nel file Win.ini. Per effettuare la verifica, procedere come segue:
    • I gruppi di avvio sono cartelle situate sul disco rigido locale nei seguenti percorsi:
      • %SystemRoot%\Profiles\nome_utente\Menu Avvio\Programmi
      • %SystemRoot%\Profiles\Default user\Menu Avvio\Programmi


    • Le righe Run e RunOnce si trovano nel Registro di sistema (Registro di configurazione in Windows NT) nelle seguenti chiavi:
      HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\
    • Il file Win.ini può essere modificato utilizzando il Blocco note. Il file Win.ini si trova nella cartella %SystemRoot%.
  • Esaminare i file di sistema NTVDM nella cartella %SystemRoot%\System32. Verificare la dimensione e la data dei file indicati di seguito per assicurarsi di disporre della versione corretta:
          Ntio.sys      Ntdos.sys      Ntvdm.exe      Ntvdm.dll (solo Windows NT 3.1)      Redir.exe
  • Le voci del Registro di sistema associate al sottosistema NTVDM sono:
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment
      In questa chiave sono memorizzate le variabili di ambiente tratte dai file Config.sys e Autoexec.bat che vengono utilizzate in Windows.
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ VirtualDeviceDrivers
      In questa chiave sono memorizzati i driver delle periferiche da utilizzare in una sessione NTVDM. Queste voci vengono create dal programma di installazione di Windows quando si installa un driver di periferica.

Problemi specifici del programma

Le caratteristiche indicate di seguito non funzionano in Windows:
  • Sono supportate tutte le funzioni MS-DOS, eccetto le funzioni API (Application Programming Interface) di passaggio ad altre attività.
  • Non sono supportati i driver di periferiche in modalità blocco. Non essendo supportate le periferiche in blocco, non sono supportate neanche le API IOCTL MS-DOS che gestiscono le periferiche in blocco e le funzioni SETDPB.
  • La funzione 1A di Interrupt 10 restituisce 0. Tutte le altre funzioni vengono passate alla memoria di sola lettura (ROM).
  • Non sono supportate le chiamate Interrupt 13 che riguardano l'accesso al disco non autorizzato.
  • L'Interrupt 18 (ROM BASIC) genera un messaggio che indica che ROM BASIC non è supportato.
  • L'Interrupt 19 non riavvia il computer ma conclude in maniera accurata il processo VDM (Virtual DOS Machine) corrente.
  • Non è supportato l'Interrupt 2F, che gestisce i callout del programma DOSKEY (AX = 4800).
  • Non sono supportate le funzioni 2, 3, 4, 5, 8, E e F di MSCDEX (Microsoft CD-ROM Extensions).
  • Il sottosistema Windows a 16 bit in un computer x86 supporta i programmi in modalità avanzata ma non supporta i driver di periferiche virtuali a 16 bit (VxD). Il sottosistema in un computer non x86 emula il set di istruzioni Intel 40486, che consente l'esecuzione di programmi in modalità avanzata, ad esempio Microsoft Visual Basic, su sistemi RISC.
Questo significa che Windows non supporta i programmi a 16 bit che richiedono accesso senza limitazioni all'hardware. Se il programma in uso è di questo tipo, non funzionerà in Windows NT né in Windows 2000.

Sarà quindi necessario verificare che le impostazioni dei file Autoexec.nt e Config.nt siano corrette. Provare sempre con le impostazioni predefinite elencate sopra. Alcuni programmi richiedono particolari impostazioni o driver per il file Config.sys o Autoexec.bat. In un caso di questo tipo, sono disponibili due opzioni per inizializzare tali file durante l'avvio del programma:
  • Immettere queste righe nei file Config.nt e Autoexec.nt nella cartella %SystemRoot%\System32.
  • Creare nuovi file Config e Autoexec da eseguire all'avvio del programma. Per effettuare questa operazione, attenersi alla seguente procedura:
    1. Creare i file e salvarli con estensione NT in una cartella diversa da %SystemRoot%\System32 (normalmente vengono salvati nella stessa cartella del programma).
    2. Fare clic con il pulsante destro del mouse sul desktop, scegliere Nuovo, quindi Collegamento.
    3. Nella casella Riga di comando digitare il percorso completo del file che si desidera eseguire, quindi scegliere Avanti.
    4. Nella casella Specificare il nome da assegnare al collegamento digitare il nome del collegamento, quindi scegliere Fine. Verrà creato un nuovo collegamento sul desktop.
    5. Fare clic con il pulsante destro del mouse sul nuovo collegamento, quindi scegliere Proprietà.
    6. Nella scheda Programma fare clic su Windows. Verrà visualizzata una finestra di dialogo per il percorso dei file Autoexec e Config.
    7. Digitare il percorso completo dei file appena creati, quindi scegliere OK in entrambe le finestre di dialogo.
    Facendo clic su questa icona vengono eseguiti i file Autoexec e Config specificati per il programma. Queste impostazioni sono soggette alle stesse limitazioni previste per i programmi MS-DOS.
Le proprietà di un programma comprendono altre impostazioni. Se un programma non funziona correttamente, controllare tutte le schede e assicurarsi che le impostazioni del programma siano configurate secondo quanto specificato dal produttore. Se il problema persiste, rivolgersi al fornitore del programma per assicurarsi che sia supportato dalle diverse versioni del sistema operativo Windows.

Per ulteriori informazioni, vedere i seguenti articoli della Microsoft Knowledge Base (il contenuto potrebbe essere in inglese):
ID articolo: 171940
Titolo: Accesso a unità floppy causato da operazioni di I/O in applicazioni MS-DOS

ID articolo: 102418
Titolo: Errore NTVDM "Nessun disco presente nell'unità"

ID articolo: 156687
Titolo: Le voci in Config.nt or Autoexec.nt potrebbero causare errori NTVDM

ID articolo: 142026
Titolo: Err: Errore relativo a console WOW VDM nascosta quando si eseguono applicazioni DOS o a 16 bit
Per ulteriori informazioni sulla stampa in un programma MS-DOS, vedere il seguente articolo della Microsoft Knowledge Base:
ID articolo: 163551
Titolo: Risoluzione dei problemi di stampa in Windows NT 4.0
apps msdos application
Proprietà

ID articolo: 165214 - Ultima revisione: 12/04/2015 16:34:06 - Revisione: 3.1

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

  • kbnosurvey kbarchive kbtshoot KB165214
Feedback