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

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

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

Περίληψη

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

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

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



Το πρώτο πράγμα που πρέπει να ελεγχθεί, όταν αντιμετωπίζετε δυσκολίες με προγράμματα που βασίζονται στο MS-DOS είναι το υποσύστημα Windows NT Virtual Dos Machine (NTVDM). Μπορείτε να χρησιμοποιήσετε το αρχείο Command.com, για να ελέγξετε εάν το υποσύστημα NTVDM λειτουργεί σωστά. Μπορείτε να ξεκινήσετε το Command.com, εκτελώντας τα ακόλουθα βήματα:
  1. Κάντε κλικ στο κουμπί Έναρξη (Start) και κατόπιν κάντε κλικ στην επιλογή Εκτέλεση (Run).
  2. Στο πλαίσιο Άνοιγμα (Open), πληκτρολογήστε τις λέξεις 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 (μόνο εάν είναι εγκατεστημένη η υπηρεσία CSNW)
          lh %SystemRoot%\system32\vwipxspx (μόνο εάν είναι εγκατεστημένη η υπηρεσία CSNW)

    ΣΗΜΕΙΩΣΗ: Ένας άλλος τρόπος επίτευξης του παραπάνω αποτελέσματος είναι η αποσυμπίεση των αρχείων Autoexec.nt_ και Config.nt_ από το CD-ROM των Windows στο φάκελο %SystemRoot%\SYSTEM32.
  • Κλείστε όλα τα άλλα προγράμματα που εκτελούνται. Αυτό είναι δυνατό να πραγματοποιηθεί, εκτελώντας τη Διαχείριση Εργασιών (Task Manager), κλείνοντας όλα τα προγράμματα που εκτελούνται και εξασφαλίζοντας ότι δεν εκτελούνται άλλες διεργασίες NTVDM. Για να ξεκινήσετε τη Διαχείριση Εργασιών (Task Manager), πιέστε το συνδυασμό πλήκτρων CTRL+SHIFT+ESC.
  • Εμποδίστε την εκτέλεση όλων των προγραμμάτων κατά την εκκίνηση. Τα προγράμματα είναι δυνατό να εκτελεστούν από τρεις θέσεις κατά την εκκίνηση: από τις ομάδες εκκίνησης (Startup groups), από τις γραμμές Run και Runonce στο μητρώο και από τις γραμμές "run=" και "load=" στο αρχείο Win.ini. Μπορείτε να ελέγξετε αυτές τις θέσεις ως εξής:
    • Οι ομάδες εκκίνησης (Startup groups) είναι φάκελοι στον τοπικό σκληρό δίσκο που βρίσκονται στις ακόλουθες θέσεις:
      • %SystemRoot%\Profiles\ όνομα_χρήστη \Start menu\Programs
      • %SystemRoot%\Profiles\Default user\Start menu\Programs


    • Οι γραμμές Run και Runonce είναι δυνατό να βρεθούν στο μητρώο, κάτω από το ακόλουθο κλειδί μητρώου:
      HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\
    • Μπορείτε να επεξεργαστείτε το αρχείο Win.ini, χρησιμοποιώντας το Σημειωματάριο (Notepad). Αυτό βρίσκεται στο φάκελο %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:
  • Υποστηρίζονται όλες οι λειτουργίες MS-DOS, εκτός των API εναλλαγής εργασιών (λειτουργίες program programming interface).
  • Δεν υποστηρίζονται τα προγράμματα οδήγησης συσκευής λειτουργίας μπλοκ. (Οι συσκευές μπλοκ δεν υποστηρίζονται. Για αυτόν το λόγο, τα 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.
Αυτό σημαίνει ότι τα Windows δεν υποστηρίζουν προγράμματα στα 16-bit, τα οποία απαιτούν την χωρίς περιορισμό πρόσβαση στο υλικό. Εάν το πρόγραμμα απαιτεί αυτήν τη δυνατότητα, τότε δεν θα λειτουργήσει στα Windows NT ή στα Windows 2000.

Στη συνέχεια, θα πρέπει να εξακριβώσετε εάν οι ρυθμίσεις στα αρχεία Autoexec.nt και Config.nt είναι σωστές. Θα πρέπει πάντοτε να δοκιμάζετε τις προεπιλεγμένες ρυθμίσεις που παρατίθενται παραπάνω. Ορισμένα προγράμματα απαιτούν ειδικές ρυθμίσεις ή προγράμματα οδήγησης, για να εκτελεστούν μέσω των αρχείων Config.sys ή Autoexec.bat. Σε αυτήν την περίπτωση, υπάρχουν δύο επιλογές για την προετοιμασία αυτών των αρχείων, όταν ξεκινάτε το πρόγραμμα:
  • Πληκτρολογήστε αυτές τις εντολές στα αρχεία Config.nt και Autoexec.nt στο φάκελο %SystemRoot%\System32.
  • Δημιουργήστε νέα αρχεία Config και Autoexec που θα εκτελούνται κατά την εκκίνηση αυτού του προγράμματος. Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:
    1. Δημιουργήστε τα αρχεία και αποθηκεύστε τα με την επέκταση .nt σε ένα φάκελο διαφορετικό από τον %SystemRoot%\System32 (αυτά τα αρχεία συνήθως αποθηκεύονται στον ίδιο φάκελο με το πρόγραμμα).
    2. Κάντε κλικ με το δεξιό κουμπί του ποντικιού στην επιφάνεια εργασίας, τοποθετήστε το δείκτη του ποντικιού στην εντολή Δημιουργία (New) και στη συνέχεια κάντε κλικ στην εντολή Συντόμευση (Shortcut).
    3. Στο πλαίσιο Πληκτρολογήστε τη θέση του στοιχείου (Command Line), πληκτρολογήστε την πλήρη διαδρομή για το αρχείο που θέλετε να εκτελέσετε και στη συνέχεια κάντε κλικ στο κουμπί Επόμενο (Next).
    4. Στο πλαίσιο "Πληκτρολογήστε ένα όνομα για αυτήν τη συντόμευση" (Select a name for the 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
Για πρόσθετες πληροφορίες σχετικά με την εκτύπωση σε πρόγραμμα που βασίζεται στο MS-DOS, ανατρέξτε στο ακόλουθο άρθρο της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
ΑΝΑΓΝΩΡΙΣΤΙΚΟ-ΑΡΘΡΟΥ: 163551
ΤΙΤΛΟΣ: Αντιμετώπιση προβλημάτων εκτύπωσης στα Windows NT 4.0

Ιδιότητες

Αναγν. άρθρου: 165214 - Τελευταία αναθεώρηση: Παρασκευή, 20 Φεβρουαρίου 2004 - Αναθεώρηση: 4.1
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
Λέξεις-κλειδιά: 
KB165214

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

 

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