Ο προσαρμογέας TAP του OpenVPN απέτυχε να εγκατασταθεί: ποιο στάδιο έσπασε;
Ένα μήνυμα αποτυχίας προσαρμογέα καλύπτει τρία στάδια: εγκαταστάτη, έτοιμο πακέτο, δημιουργημένη συσκευή. Διαβάστε την αντίστοιχη ενότητα του αρχείου καταγραφής πριν διαγράψετε οτιδήποτε.
Ο εγκαταστάτης λέει ότι ο προσαρμογέας TAP δεν μπόρεσε να δημιουργηθεί, και αυτή η πρόταση καλύπτει τουλάχιστον τρεις διαφορετικές αστοχίες. Το πακέτο μπορεί να μην προετοιμάστηκε ποτέ, να προετοιμάστηκε χωρίς να δημιουργηθεί καμία συσκευή, ή η συσκευή να υπάρχει με κατάσταση προβλήματος που ο εγκαταστάτης ανέφερε ως ένα γενικό σφάλμα. Ποια από αυτές τις περιπτώσεις έχετε καθορίζει ποιος θα το διορθώσει και ποια στοιχεία χρειάζεστε.
Συλλέξτε τον αριθμό έκδοσης και τη χρονική σφραγίδα εγκατάστασης πριν από οτιδήποτε άλλο. Και τα δύο μετατρέπουν έναν φάκελο με αρχεία καταγραφής σε αναζήτηση που μπορείτε πραγματικά να εκτελέσετε.
Τρία στάδια, τρία διαφορετικά αρχεία καταγραφής
Το πρώτο στάδιο είναι ο ίδιος ο εγκαταστάτης, ο οποίος αποσυμπιέζει αρχεία, κρατά το δικό του αρχείο καταγραφής και αναφέρει έναν συνοπτικό κωδικό όπως το 1603 που λέει ότι η συναλλαγή απέτυχε χωρίς να λέει πού. Το δεύτερο είναι το κατάστημα προγραμμάτων οδήγησης, όπου ένα υπογεγραμμένο πακέτο προετοιμάζεται για μεταγενέστερη χρήση, κάτι που είναι διαφορετικό επίτευγμα από τη σύνδεσή του με υλικό. Το τρίτο είναι η δημιουργία συσκευής, όπου τα Windows δημιουργούν ένα στιγμιότυπο συσκευής, εφαρμόζουν το INF και καταγράφουν το αποτέλεσμα στο αρχείο καταγραφής setupapi. Ένα αθόρυβο κενό ανάμεσα σε οποιαδήποτε δύο από αυτά τα στάδια παράγει την ίδια πρόταση για τον χρήστη.
Ο συνοπτικός κωδικός ανήκει στη συναλλαγή, ενώ η αποτυχημένη ενέργεια βρίσκεται κάπου νωρίτερα στο ίδιο αρχείο καταγραφής. Αναζητήστε προς τα πίσω από τον κωδικό αντί να προσπαθείτε να εξηγήσετε τον κωδικό.
Διαβάστε το setupapi.dev.log γύρω από την προσπάθεια
Κάθε εγκατάσταση συσκευής γράφει μια ενότητα στο C:\Windows\INF\setupapi.dev.log, και ο οδηγός του αρχείου καταγραφής SetupAPI εξηγεί πώς οργανώνονται αυτές οι ενότητες και η τελική τους κατάσταση. Βρείτε την ενότητα της οποίας η χρονική σφραγίδα περικλείει την προσπάθειά σας και μετά διαβάστε την ολόκληρη αντί για την πρώτη γραμμή σφάλματος που θα προσέξετε. Προειδοποιήσεις για άσχετες συσκευές εμφανίζονται σε όλο το μακρύ αρχείο καταγραφής και δεν εξηγούν τίποτα για αυτή την αστοχία. Η τελική κατάσταση της αντίστοιχης ενότητας είναι το γεγονός που αξίζει να αναφερθεί σε μια αναφορά.
Συσχετίστε αυτή την ενότητα με το όνομα του προσαρμογέα, το αναγνωριστικό της συσκευής και το πακέτο INF που αναφέρεται στο αρχείο καταγραφής του εγκαταστάτη. Τρία αναγνωριστικά που συμφωνούν σε μία χρονική σφραγίδα είναι αυτό που κάνει την απόδοση ασφαλή.
Ελέγξτε το πακέτο και τη συσκευή χωριστά
Ένα έτοιμο πακέτο αποδεικνύει μόνο ότι ένα υπογεγραμμένο INF έφτασε στο κατάστημα προγραμμάτων οδήγησης. Σε αυτή τη γενιά των Windows, το pnputil /enum-drivers απαριθμεί πακέτα τρίτων κατά πάροχο, κλάση, έκδοση και δημοσιευμένο όνομα, κάτι που σας επιτρέπει να βρείτε το πακέτο του προσαρμογέα OpenVPN αντί να μαντεύετε από έναν αριθμό oem. Τίποτα σε αυτή τη λίστα δεν λέει ότι μια συσκευή υπάρχει, εκκινήθηκε ή είναι δεσμευμένη με το πακέτο που βρήκατε. Αυτά είναι ξεχωριστά ερωτήματα με ξεχωριστές απαντήσεις.
Η πλευρά της συσκευής έχει τη δική της άποψη. Μια απογραφή προσαρμογέων μόνο για ανάγνωση δείχνει τι πιστεύουν αυτή τη στιγμή τα Windows για τη διεπαφή, και οι κρυφές καταχωρίσεις καλύπτουν συσκευές που υπάρχουν αλλά είναι ανενεργές. Η σύγκριση των δύο λιστών σας λέει ποιο στάδιο απέτυχε: το πακέτο λείπει, η συσκευή λείπει ή η συσκευή υπάρχει με κατάσταση προβλήματος.
Επαληθεύστε τον προσαρμογέα πριν αγγίξετε υπογραφές
Διαβάστε την κατάσταση από το μηχάνημα και όχι από τη σύνοψη του εγκαταστάτη. Οι παρακάτω εντολές απαριθμούν έτοιμα πακέτα προγραμμάτων οδήγησης, την απογραφή προσαρμογέων μαζί με τις κρυφές καταχωρίσεις, και τις συσκευές δικτύου που δεν αναφέρουν OK. Εκτελέστε τις μετά από επανεκκίνηση ώστε να έχουν τακτοποιηθεί οι εκκρεμείς λειτουργίες συσκευών.
pnputil /enum-drivers
Get-NetAdapter -IncludeHidden | Select-Object Name, InterfaceDescription, Status
Get-PnpDevice -Class Net | Where-Object Status -ne 'OK'
Ένα πακέτο που υπάρχει χωρίς αντίστοιχη συσκευή δείχνει στη δημιουργία συσκευής, και η ενότητα setupapi για αυτή τη χρονική σφραγίδα εξηγεί το γιατί. Μια συσκευή που υπάρχει με κατάσταση προβλήματος δείχνει στο πρόγραμμα οδήγησης ή την υπογραφή του, που είναι διαφορετική συζήτηση από μια απούσα συσκευή. Ένας προσαρμογέας που υπάρχει και αναφέρει ότι είναι αποσυνδεδεμένος είναι μια λειτουργική συσκευή χωρίς ενεργή σήραγγα και όχι μια αποτυχημένη εγκατάσταση. Διαβάστε τις τρεις εξόδους μαζί πριν επιλέξετε στάδιο προς διόρθωση.
Η απενεργοποίηση της επιβολής υπογραφών, η επαναφορά της στοίβας δικτύου ή η διαγραφή κάθε προσαρμογέα κάνει τα στοιχεία να εξαφανιστούν. Καμία από αυτές τις τρεις δεν επισκευάζει ένα στάδιο που δεν έχετε εντοπίσει ακόμη, και καθεμία αφαιρεί αυτό που θα σας έλεγε ποιο στάδιο ήταν.