Αντιμετώπιση προβλημάτων σε προγράμματα που βασίζονται στο MS-DOS και εκτελούνται στα Windows

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 314106 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Αυτό το άρθρο, στο παρελθόν ήταν δημοσιευμένο με αριθμό GR314106
Για μια έκδοση αυτού του άρθρου για τα Microsoft Windows 2000, ανατρέξτε στο άρθρο 165214.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Περίληψη

Αυτό το άρθρο περιγράφει τον τρόπο αντιμετώπισης προβλημάτων σε προγράμματα που βασίζονται στο MS-DOS και εκτελούνται στα Windows.

Περισσότερες πληροφορίες

Έλεγχος του υποσυστήματος Ntvdm



Το πρώτο πράγμα που πρέπει να ελεγχθεί, όταν αντιμετωπίζετε δυσκολίες με προγράμματα που βασίζονται στο MS-DOS είναι το υποσύστημα Windows Virtual Dos Machine (NTVDM). Μπορείτε να χρησιμοποιήσετε το βοηθητικό πρόγραμμα Command.com, για να ελέγξετε εάν το υποσύστημα NTVDM λειτουργεί σωστά. Για να ξεκινήστε το Command.com, ακολουθήστε τα εξής βήματα:
  1. Κάντε κλικ στο κουμπί Έναρξη (Start) και κατόπιν κάντε κλικ στην επιλογή Εκτέλεση (Run).
  2. Στο πλαίσιο Άνοιγμα (Open), πληκτρολογήστε τις λέξεις command.com και κατόπιν κάντε κλικ στο κουμπί ΟΚ.
Με αυτήν την ενέργεια θα πρέπει να ξεκινήσει ένα παράθυρο γραμμής εντολών. Εάν αυτό δεν λειτουργήσει σωστά, τότε υπάρχει θέμα με το υποσύστημα NTVDM και θα πρέπει να ελέγξετε τα ακόλουθα στοιχεία:
  • Ελέγξτε τα αρχεία Config.nt and 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 (μόνο αν είναι εγκατεστημένη η υπηρεσία CSNW)
       lh %SystemRoot%\System32\Vwipxspx (μόνο αν είναι εγκατεστημένη η υπηρεσία CSNW)
    Ένας άλλος τρόπος επίτευξης του παραπάνω αποτελέσματος είναι η αποσυμπίεση των αρχείων Autoexec.nt_ και Config.nt_ από το CD-ROM των Windows στο φάκελο %SystemRoot%\SYSTEM32.
  • Πιέστε το συνδυασμό των πλήκτρων CTRL+SHIFT+ESC, για να ξεκινήσει η Διαχείριση Εργασιών (Task Manager), κλείστε όλα τα προγράμματα που εκτελούνται και βεβαιωθείτε ότι δεν εκτελείται καμία άλλη διαδικασία NTVDM.
  • Εμποδίστε την εκτέλεση όλων των προγραμμάτων κατά την εκκίνηση. Τα προγράμματα είναι δυνατό να εκτελεστούν από τρεις θέσεις κατά την εκκίνηση: από τις ομάδες εκκίνησης (Startup groups), από τις γραμμές Run και RunΟnce στο μητρώο και από τις γραμμές "run=" και "load=" στο αρχείο Win.ini. Μπορείτε να ελέγξετε αυτές τις θέσεις ως εξής:
    1. Οι ομάδες εκκίνησης (Startup groups) είναι φάκελοι του τοπικού σκληρού δίσκου. Βρίσκονται στις εξής θέσεις:
      • %SystemRoot%\Profiles\ όνομα_χρήστη \Start menu\Programs
      • %SystemRoot%\Profiles\Default user\Start menu\Programs
    2. Οι γραμμές Run και RunΟnce βρίσκονται στο μητρώο, κάτω από το ακόλουθο κλειδί μητρώου:
      HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\
    3. Μπορείτε να επεξεργαστείτε το αρχείο Win.ini, χρησιμοποιώντας το Σημειωματάριο (Notepad). Το αρχείο Win.ini βρίσκεται στο φάκελο %SystemRoot%.
  • Εξετάστε εάν τα αρχεία συστήματος NTVDM βρίσκονται στο φάκελο %SystemRoot%\System32. Ελέγξτε τα ακόλουθα αρχεία και βεβαιωθείτε ότι είναι της σωστής έκδοσης, ελέγχοντας το μέγεθος και την ημερομηνία:
       Ntio.sys
       Ntdos.sys
       Ntvdm.exe
       Ntvdm.dll (μόνο για τα Windows NT 3.1)
       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 Setup) δημιουργεί αυτές τις καταχωρήσεις όταν πραγματοποιηθεί εγκατάσταση ενός προγράμματος οδήγησης συσκευής.

Έλεγχος θεμάτων που αφορούν συγκεκριμένα προγράμματα



Οι ακόλουθες λειτουργίες δεν έχουν αποτέλεσμα στα Windows ΧΡ:
  • Υποστηρίζονται όλες οι λειτουργίες MS-DOS, εκτός των λειτουργιών εναλλαγής εργασιών API (διασύνδεσης προγραμματισμού εφαρμογών).
  • Δεν υποστηρίζονται τα προγράμματα οδήγησης συσκευής λειτουργίας μπλοκ. Οι συσκευές μπλοκ δεν υποστηρίζονται. Για αυτόν το λόγο, τα API ελέγχου Εισόδου/Εξόδου MS-DOS (IOCTL) που χειρίζονται συσκευές μπλοκ και λειτουργίες SETDPB δεν υποστηρίζονται.
  • Η διακοπή 10 λειτουργία 1A επιστρέφει τιμή 0. Όλες οι άλλες λειτουργίες μεταβιβάζονται σε μνήμη μόνο για ανάγνωση (ROM).
  • Οι κλήσεις για τη διακοπή 13 που χειρίζονται την απαγόρευση πρόσβασης στον σκληρό δίσκο δεν υποστηρίζονται.
  • Η διακοπή 18 (ROM BASIC) προκαλεί την εμφάνιση μηνύματος που αναφέρει ότι η μνήμη ROM BASIC δεν υποστηρίζεται.
  • Η διακοπή 19 δεν θα προκαλέσει την επανεκκίνηση του υπολογιστή, αλλά τον καθαρό τερματισμό λειτουργίας της τρέχουσας εικονικής μηχανής DOS (VDM).
  • Η διακοπή 2F που χειρίζεται τις εξερχόμενες κλήσεις του προγράμματος DOSKEY (AX = 4800) δεν υποστηρίζεται.
  • Οι λειτουργίες 2, 3, 4, 5, 8, E και F του προγράμματος Microsoft CD-ROM Extensions (MSCDEX) δεν υποστηρίζονται.
  • Το υποσύστημα των Windows στα 16-bit σε υπολογιστή x86 υποστηρίζει προγράμματα εμπλουτισμένης λειτουργίας. Ωστόσο, δεν υποστηρίζει προγράμματα οδήγησης εικονικής συσκευής (VxD) των 16-bit. Το υποσύστημα σε υπολογιστή, που δεν είναι x86, εξομοιώνει το σύνολο εντολών Intel 40486, το οποίο επιτρέπει στον υπολογιστή να εκτελέσει προγράμματα εμπλουτισμένης λειτουργίας, όπως Microsoft Visual Basic σε υπολογιστές RISC (reduced instruction set computers).
Αυτό σημαίνει ότι τα Windows δεν υποστηρίζουν προγράμματα στα 16-bit, τα οποία απαιτούν την χωρίς περιορισμό πρόσβαση στο υλικό. Εάν το πρόγραμμά σας την απαιτεί, δεν θα λειτουργήσει με τα Windows NT, Windows 2000 ή Windows XP.

Στη συνέχεια πρέπει να ελέγξετε εάν οι ρυθμίσεις των αρχείων Autoexec.nt και Config.nt είναι σωστές. Δοκιμάζετε πάντα τις προεπιλεγμένες ρυθμίσεις που αναφέρονται παραπάνω σε αυτό το άρθρο. Ορισμένα προγράμματα απαιτούν ειδικές ρυθμίσεις ή προγράμματα οδήγησης, για να εκτελεστούν μέσω των αρχείων Config.sys ή Autoexec.bat. Σε αυτήν την περίπτωση, υπάρχουν δύο επιλογές για την προετοιμασία αυτών των αρχείων, όταν ξεκινάτε το πρόγραμμα:
  • Πληκτρολογήστε αυτές τις εντολές στα αρχεία Config.nt και Autoexec.nt στο φάκελο %SystemRoot%\System32.
  • Δημιουργήστε νέα αρχεία Config και Autoexec που θα εκτελούνται κατά την εκκίνηση αυτού του προγράμματος. Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:
    1. Δημιουργήστε τα αρχεία και αποθηκεύστε τα με την επέκταση .nt σε ένα φάκελο διαφορετικό από τον %SystemRoot%\System32 (αυτά τα αρχεία συνήθως αποθηκεύονται στον ίδιο φάκελο με το πρόγραμμα).
    2. Κάντε κλικ με το δεξιό κουμπί του ποντικιού στην επιφάνεια εργασίας, τοποθετήστε το δείκτη του ποντικιού στην εντολή Δημιουργία (New) και στη συνέχεια κάντε κλικ στην εντολή Συντόμευση (Shortcut).
    3. Στο πλαίσιο Πληκτρολογήστε τη θέση του στοιχείου (Type the location of the item), πληκτρολογήστε την πλήρη διαδρομή για το αρχείο που θέλετε να εκτελέσετε και στη συνέχεια κάντε κλικ στο κουμπί Επόμενο (Next).
    4. Στο πλαίσιο Πληκτρολογήστε ένα όνομα για αυτήν τη συντόμευση (Type a name for this shortcut), πληκτρολογήστε το όνομα για τη συντόμευση και κατόπιν κάντε κλικ στο κουμπί Τέλος (Finish). Με αυτήν την ενέργεια δημιουργείται νέα συντόμευση στην επιφάνεια εργασίας.
    5. Κάντε κλικ με το δεξιό κουμπί του ποντικιού στη νέα συντόμευση και στη συνέχεια κάντε κλικ στην εντολή Ιδιότητες (Properties).
    6. Στην καρτέλα Πρόγραμμα (Program), κάντε κλικ στην επιλογή Windows, για να ανοίξει ένα παράθυρο διαλόγου για τη διαδρομή προς τα αρχεία Autoexec και Config.
    7. Πληκτρολογήστε την πλήρη διαδρομή προς τα αρχεία που δημιουργήσατε και στη συνέχεια κάντε κλικ στο κουμπί OK και στα δύο παράθυρα διαλόγου.
    Κάνοντας κλικ στο εικονίδιο αυτό εκτελούνται τα αρχεία Autoexec και Config που ορίζονται για το πρόγραμμα. Αυτές οι ρυθμίσεις υπόκεινται στους ίδιους περιορισμούς που αναφέρονται και για προγράμματα που βασίζονται στο MS-DOS.
Υπάρχουν άλλες ρυθμίσεις στις ιδιότητες ενός προγράμματος. Εάν το πρόγραμμα δεν λειτουργεί σωστά, ελέγξτε όλες τις καρτέλες και βεβαιωθείτε ότι οι ρυθμίσεις του προγράμματος έχουν οριστεί σύμφωνα με τις προδιαγραφές του κατασκευαστή. Εάν το πρόγραμμα εξακολουθεί να μην λειτουργεί, επικοινωνήστε με τον προμηθευτή του προγράμματος, για να ελέγξετε εάν το πρόγραμμα υποστηρίζεται από τα Windows.

Για περισσότερες πληροφορίες, κάντε κλικ στους αριθμούς των άρθρων παρακάτω, για να προβάλετε τα άρθρα στη Γνωσιακή Βάση της Microsoft (Knowledge Base):
171940 Οι λειτουργίες εισόδου/εξόδου μιας εφαρμογής MS-DOS επιχειρούν πρόσβαση στην μονάδα δισκέτας
102418 Μήνυμα λάθους NTVDM: "There Is No Disk in the Drive"
156687 Καταχωρήσεις στο αρχείο CONFIG.NT ή AUTOEXEC.NT ενδέχεται να προκαλέσουν την εμφάνιση μηνυμάτων λάθους NTVDM
142026 Μήνυμα λάθους: "Hidden Console of WOW VDM" κατά την εκτέλεση εφαρμογών 16-bit ή DOS
Τα προϊόντα άλλων κατασκευαστών που αναφέρονται σε αυτό το άρθρο έχουν κατασκευαστεί από προμηθευτές οι οποίοι είναι ανεξάρτητοι από τη Microsoft. Για αυτόν το λόγο, η Microsoft δεν παρέχει καμία εγγύηση, σιωπηρή ή άλλη, όσον αφορά τις επιδόσεις ή την αξιοπιστία αυτών των προϊόντων.

Ιδιότητες

Αναγν. άρθρου: 314106 - Τελευταία αναθεώρηση: Πέμπτη, 19 Φεβρουαρίου 2004 - Αναθεώρηση: 1.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional Edition
Λέξεις-κλειδιά: 
kbinfo kbtshoot kbenv KB314106

Αποστολή σχολίων

 

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