jump to navigation

Uninstall unwanted drivers from Windows XP 1 Οκτωβρίου 2007

Posted by Nikolas in Hardware, Windows.
Tags: , , ,
1 comment so far

Πρόσφατα, έκανα ένα major hardware lifting στον υπολογιστή μου. Άλλαξα κάποιες κάρτες, κάποια περιφερειακά (ποντίκια, πληκτρολόγια, κάρτα ήχου, γραφικών, μνήμες και εκτυπωτές), με αποτέλεσμα να βρεθώ με μερικούς άχρηστους πλέον drivers στο σύστημά μου.

Σε γενικές γραμμές η λογική είναι ότι εφόσον μία συσκευή δεν βρίσκεται στο μηχάνημα, ο driver της δεν σε ενοχλεί, γιατί απλά δεν φορτώνεται.

Αμ δε!!! Για τα Windows της Microsoft μιλάμε …

Τί κάνει λοιπόν όταν πρέπει να απεγκαταστήσεις κάποιους παραπεταμένους drivers από συσκευές όπως το Microsoft Mouse (Intellipoint drivers) ή η Creative Audigy ή κάποια NVIDIA κάρτα γραφικών ή κάποια REALTEK συσκευή (π.χ. κάρτα δικτύου ή ήχου);

Πόσο περισσότερο όταν όσο και να ψάχνεις για αυτό το πολυπόθητο uninstall στο Add/Remove Programs να μην βρίσκεις τίποτα!

Το στραβό με τα Windows (XP) είναι ότι δεν σου λέει κάπου ότι ο πιο εύκολος τρόπος να απεγκαταστήσεις ένα driver είναι ΠΡΙΝ βγάλεις τη συσκευή από τον υπολογιστή και μέσα από το Device Manager επιλέγοντας τη συσκευή και Uninstall. Για το λόγο αυτό και αρκετές συσκευές δεν έχουν uninstall πρόγραμμα.

Έλα όμως που αν κάνεις το λάθος να βγάλεις πρώτα τη συσκευή ΠΡΙΝ τη κάνεις uninstall από τον Device Manager. Στο επόμενο reboot, ψάχνεις να βρείς που πήγε η συσκευή.

Η λύση λοιπόν είναι η εξής (ευτυχώς υπάρχουν δύο λύσεις):

  1. Start -> Run -> cmd
  2. set devmgr_show_nonpresent_devices=1 (μην περιμένετε κάτι να συμβεί)
  3. devmgmt.msc
  4. View -> Show Hidden Devices
  5. Ανανεώνετε η λίστα των συσκευών και πλέον μπορείτε να δείτε και τις συσκευές που δεν είναι παρούσες πλέον στον υπολογιστή. Έτσι επιλέγοντας τη συσκευή, με δεξί κλίκ επιλέγετε uninstall και απεγκαθιστάτε τον ανεπιθύμητο driver.

Η δεύτερη λύση είναι λίγο πιό απλή και απαιτεί τη χρήση ενός απλού και δωρεάν εργαλείου, το Guru3D Driver Sweeper

Με το συγκεκριμένο εργαλείο απλά επιλέγετε τον driver που θέλετε να απεγκαταστήσετε και αυτό είναι. Δημιουργεί και ένα πλήρες backup και log file για τη περίπτωση που κάτι δεν πάει καλά. Το μόνο αρνητικό του είναι πως είναι φτιαγμένο για συγκεκριμένους drivers, συγκεκριμένων εταιριών μεταξύ των οποίων ATI, NVIDIA, Creative και REALTEK.

Download link (1) (2)

Links

PS/2 keyboard not available on device manager – PS/2 keyboard not working 8 Αυγούστου 2007

Posted by Nikolas in Hardware, Windows.
Tags: , , , ,
9 Σχόλια

Εχθές το πρωί, η πρώτη κλήση της ημέρας ήταν η εξής:

«Καλημέρα, δεν δουλεύει το πληκτρολόγιό μου!»

Η απάντησή μου όπως λογικό η αναμενόμενη, «Αλλάξτε πληκτρολόγιο», έλαβε άμεσα την ανταπάντηση, «Έχω αλλάξει τέσσερα πληκτρολόγια και κανένα δεν δουλεύει στο δικό μου μηχάνημα, ενώ σε όλα τα άλλα, δουλεύει μια χαρά».

«Βρε, γαμώτο», λέω, «Τί στο καλό; Κάηκε η PS/2 θύρα;! Όλα τα κουλά σε μένα ρε γαμώτο;!»

Πράγματι, λοιπόν, το(α) πληκτρολόγια (PS/2 πάντα) δεν δούλευε μόλις ξεκινούσαν τα Windows (XP πάντα). Αντιθέτως σε BIOS όλα δούλευαν κανονικότατα!

«Αν είναι ποτέ δυνατόν», σκέφτηκα, «Τα άτιμα Windows βγάζουν σε τέτοιο γελοίο πράγμα όπως είναι ένα πληκτρολόγιο, πρόβλημα;!»

Και όμως βγάζουν! Μία αναζήτηση στο google μου έφερε δυστυχώς χιλιάδες αποτελέσματα, τα οποία μαρτυρούσαν ότι πράγματι συμβαίνει οι drivers του πληκτρολογίου να γίνουν corrupted.

Τα περισσότερα που βρήκα στο google αναφερόντουσαν σε εμφάνιση του προβλήματος, μετά από αναβάθμιση των Intelipoint drivers.

Το θέμα όμως στη δική μου περίπτωση ήταν ότι το συγκεκριμένο πληκτρολόγιο δεν χρησιμοποιούσε Intellipoint drivers, αλλά τους default drivers των Windows.

Τί Last Known Good Configuration, δοκίμασα (αποτέλεσμα 0), τί Recovery Console (δεν λειτουργούσε το πληκτρολόγιο, ΟΥΤΕ στο Recovery Console), τίποτα, τίποτα, τίποτα.

Τελικά, η λύση είναι πάρα πολύ απλή.

  1. (*) Σύνδέεστε κανονικά στα Windows (το ποντίκι δουλεύει)
  2. Πάτε στο C:\Windows\System32\drivers
  3. Διαγράφετε τα αρχεία i8042prt.sys και kbdclass.sys καθώς και οποιοδήποτε άλλο kbd*.sys αρχείο στο συγκεκριμένο φάκελο
  4. Κάνετε επανεκκίνηση. Αν σας ζητηθούν drivers, εισάγετε το CD των Windows
  5. Γράφετε κανονικά με το πληκτρολόγιό σας!

(*) σε περίπτωση που δεν μπορείτε να συνδεθείτε, γιατί απαιτείται η εισαγωγή κωδικού, τότε ένα οποιοδήποτε LiveCD (Ubuntu, Knoppel, UBCD, UBCD4Win) θα σας επιτρέψει να διαγράψετε τα αρχεία αυτά.

Change logical file name of SQL database 27 Ιουνίου 2007

Posted by Nikolas in SQL.
Tags: ,
add a comment

Σήμερα, έφαγα το εξής «κόλλημα»…

Δημιούργησα ένα αντίγραφο μίας βάσης – ας πούμε το όνομα της οποίας είναι mySQLDB – με την απλή διαδικασία του backup και restore as new.

To logical file name της db ήταν mySQLDB_Data και mySQLDB_Log. Αναπάντεχα όταν έκανα restore δίνοντας νέο όνομα βάσης (για να δημιουργήσει νέα βάση) διατηρήθηκαν τα logical file names της αρχικής βάσης.

Έτσι είχα τη βάση mySQLDB με logical file names mySQLDB_Data/Log και τη νέα βάση myNewSQLDB με logical file names τα ίδια!!!

Κόλλησα, ήθελα να έχω αντιστοιχία ονόματος βάσης, ονόματος mdf/ldf αρχείων και logical file names.

Όχι ότι παίζει κάποιο ουσιαστικό ρόλο στη λειτουργικότητα, απλά γιατί με έπιασε η τελειομανία μου.

Πώς μετονομάζεις λοιπόν τα logical file names μίας βάσης;

Απλό !

(Ισχύει για SQL 2000 και πάνω)

ALTER DATABASE myNewSQLDB

MODIFY FILE (NAME = mySQLDB_Data, NEWNAME = myNewSQLDB_Data)

ALTER DATABASE myNewSQLDB

MODIFY FILE (NAME = mySQLDB_Log, NEWNAME = myNewSQLDB_Log)

Με βοήθησαν τα παρακάτω

LDF file is lost or deleted or corrupted 30 Σεπτεμβρίου 2006

Posted by Nikolas in SQL.
Tags: ,
1 comment so far

Είχα γράψει κάποτε σχετικά με το τί μπορείς να κάνεις αν για κάποιο λόγο, π.χ. πολύ μεγάλο transaction log ή corrupted transaction log, η βάση εμφανίζεται ως «ύποπτη».

Πρόσφατα αντιμετώπισα το εξής πρόβλημα. Κάποιος έξυπνος είχε τη φαεινή ιδέα, να μεταφέρει την SQL σε άλλο SQL server. Τί έκανε, απλά copy paste. Ότι χειρότερο μπορείται να κάνετε. Η SQL δεν είναι DOS, θέλει προσοχή, αγάπη, φροντίδα και proderm. Για το λόγο αυτό υπάρχουν οι λειτουργίες backup/restore και detach/attach. Όποτε θέλετε να μεταφέρετε μία βάση ΠΟΤΕ μα ΠΟΤΕ ΜΗΝ κάνετε απλά ένα copy. O σωστός τρόπος είναι να την κάνετε ένα backup και στη συνέχεια ένα restore στο νέο server. Και αν αντιμετωπίσετε πρόβλημα εγώ θα κάτσω να με … μουτζώσετε!

Το πρόβλημα λοιπόν που προέκυψε ήταν ότι NO LDF file around! Πού είναι το LDF ΟΕΟΟΟ;!

Στην αρχή σκέφτηκα να κάνω ότι στη περίπτωση που το LDF είναι corrupted, αλλά είπα να «δοκιμάσω τη τύχη μου» και να δοκιμάσω να κάνω κατευθείαν attach τη db, για την ακρίβεια επιχείρησα να κάνω attach single file.

Και Ω! ΝΑΙ! H SQL με ενημέρωσε ευγενικά ότι δεν υπάρχει το αρχείο LDF και ότι θα ήταν μεγάλη της τιμή να δημιουργήσει ένα νέο.

Η αλήθεια είναι ότι δεν έχω καταλάβει γιατί στη μία περίπτωση είναι απαραίτητη όλη αυτή η διαδικασία ενώ σε αυτή τη περίπτωση, αρκεί ένα attach single file.

Όποιος μάστορ(ας) κατέχει περισσότερα για το θέμα, ας δώσει τα φώτα του.

Το θέμα είναι ότι σε περίπτωση που για οποιοδήποτε λόγο βρεθείτε ΜΟΝΟ με ένα ΚΑΛΟ (uncorrupted) MDF αρχείο, τότε απλά εκτελέστε την εντολή: EXEC sp_attach_single_file_db @dbname = ‘<όνομα βάσης>’, @physname = ‘<SQL path\mdf_αρχείο_βασης.mdf>’, π.χ. EXEC sp_attach_single_file_db @dbname = ‘mydb’, @physname = ‘C:\Program Files\Microsoft SQL Server\Data\mydb.mdf’

ή απλά επιλέξτε attach μέσα από τον Enterprise Manager και επιλέξτε Single File.

Transcation log is full 6 Ιουνίου 2006

Posted by Nikolas in SQL.
Tags: ,
2 Σχόλια

Πρωί πρωί, μόλις έφτασα στο γραφείο, χτυπά το τηλέφωνο:

Πελάτης – Σβήνω, χάνομαι, πήγα να μπώ στο πρόγραμμα και μου έβγαλε ένα μύνημα «Transaction log is full»! Δεν μπορώ να μπω, δεν δουλεύει τίποτα, χάνομαι, σβήνω, τρέχα!

Εγώ – …

Τρέχω λοιπόν στο πελάτη και βρίσκω ένα Transcation Log το οποίο έχε απλώσει σε όλο το δίσκο… 74GB ήταν το αθεόφοβο σε 80άρη δίσκο.

– Βρε καλό μου, βρέ χρυσό μου, κάνε shrink

– Τσού (εκεί, κολλημένο στα 74GB)

– Βρε δεν πάς στην ευχή του Θεού και της Παναγίας, λέω εγώ;

Stop τον SQL Server, Delete το LDF, αντιγραφή του MDF σε άλλο σημείο στο σκληρό και με λίγα λόγια ότι κάνουμε στη περίπτωση που έχουμε SQL database marked as SUSPECT.

Μέγα Λάθος!!! Δεν μου έκατσε με τίποτα (αν και πρέπει να το ψάξω … αύριο τώρα, γιατί πήγε 1.00)

Τέλως πάντων με τα πολλά η λύση βρέθηκε και είναι η εξής:

1. Από Enterprise Manager -> Properties -> Options -> Recovery Model: Simple

2. Εκτελώ το παρακάτω script

USE dbName

GO

DBCC SHRINKFILE(dbName_log, 1)

BACKUP LOG dbName WITH TRUNCATE_ONLY

DBCC SHRINKFILE(dbName_log, 1)

GO

3. Από Enterprise Manager -> Properties -> Options -> Recovery Model: Full (ΜΕΓΑ λάθος! απορώ γιατί το έγραψα. Με Full Recovery Model, μετά από λίγο καιρό έχεις ένα LDF, μεγαλύτερο από όλη τη βάση του ΚΕΠΥΟ!!!)

4. ΕΤΟΙΜΟΣ!

Links που βρήκα χρήσιμα: