Windows....???
Posted: Sat Sep 26, 2009 10:59 am
Δημιουργώ ένα αντίστοιχο topic, όπως το Linux....???, για θέματα που αφορούν τα Windows, απορίες, παρατηρήσεις, guides κτλ.
---
Έχοντας ξεκινήσει ένα backup στα x64 Vista SP2, είπα να δω τί καταλαμβάνει τί στο δίσκο. Τρέχοντας το WinDirStat, ανακάλυψα -στην πράξη- τη στροφή των λειτουργικών της Microsoft στο componentization, τον φάκελο winSxS. Έτσι κατέληξε ο δίσκος μετά από 2 SP σε x64 Vista:

Αυτό γίνεται γιατί κρατούνται όλες οι εκδόσεις των components από εγκατάστασης του λειτουργικού (SP1, SP2, ξεχωριστές εκδόσεις για updates). Αν έχετε SP1 τρέχτε το VSP1CLN.exe και αν είστε σε SP2 το COMPCLN.exe. Μάλλον θα το 'χατε συναντήσει, αλλά το έγραψα για την ιστορία. Η ίδια λογική του componentization έχει ακολουθηθεί και στα 7. Μετά το cleaning των παλιών εκδόσεων:

---
Κάτι άλλο που μπορεί να σας φανεί χρήσιμο αν έχετε να περάσετε σε πολλά pc windows και θέλετε να αποφύγετε τη διαδικασία να βάζετε κάθε φορά τα SPs, τα updates ή τους drivers, είναι το slipstreaming ή unattended install. Ο παρακάτω "οδηγός", που ίσως έχει κάποια ορθογραφικά, έχει γραφεί πριν λίγο καιρό, αλλά δε νομίζω να έχει ασάφειες. Είναι αποτέλεσμα συλλογικής δουλειάς των παιδιών των cslabs και ελπίζω να ακολουθήσουν μερικοί ακόμη σχετικά την εγκατάσταση/λειτουργία/customization του Windows Server 2008.
Τα αυτόματα εργαλεία για αυτή τη δουλειά (δλδ. τη δημιουργία customized λειτουργικού) είναι το vLite και το nLite, για Vista και ΧP αντίστοιχα. Βέβαια, τα παραπάνω δεν πετυχαίνουν πάντα (χωρίς να ξέρουμε -εμείς ή οι δημιουργοί τους- γιατί :P), όπως και στην περίπτωσή μας: το πέρασμα του RAID driver της SiS για την αναγνώριση του SATA δίσκου κατά τη εγκατάσταση winΧP SP3 στα cslabs. Αν και κάτι τέτοιο είναι αντιμετωπίσιμο με μια δισκέτα σε έναν υπολογιστή, το να χρησιμοποιείς δισκέτα σε κάθε εγκατάσταση δεν είναι ό,τι πιο εύχρηστο. Παρένθεση: ο εν λόγω driver δεν ήταν included στο SP καθώς η εταιρία (ή τα chipset της) μάλλον πήραν την κατηφόρα στο market share. Ας ξεκινήσουμε λοιπόν με τη διαδικασία.
Χρειαζόμαστε:

Βήμα 3. Ο driver μπορεί να έχει περισσότερα από ένα PCI identifier strings

Βήμα 4.

Βήμα 7.
Εγγραφή της νέας έκδοσης του CD
---
Έχοντας ξεκινήσει ένα backup στα x64 Vista SP2, είπα να δω τί καταλαμβάνει τί στο δίσκο. Τρέχοντας το WinDirStat, ανακάλυψα -στην πράξη- τη στροφή των λειτουργικών της Microsoft στο componentization, τον φάκελο winSxS. Έτσι κατέληξε ο δίσκος μετά από 2 SP σε x64 Vista:

Αυτό γίνεται γιατί κρατούνται όλες οι εκδόσεις των components από εγκατάστασης του λειτουργικού (SP1, SP2, ξεχωριστές εκδόσεις για updates). Αν έχετε SP1 τρέχτε το VSP1CLN.exe και αν είστε σε SP2 το COMPCLN.exe. Μάλλον θα το 'χατε συναντήσει, αλλά το έγραψα για την ιστορία. Η ίδια λογική του componentization έχει ακολουθηθεί και στα 7. Μετά το cleaning των παλιών εκδόσεων:

---
Κάτι άλλο που μπορεί να σας φανεί χρήσιμο αν έχετε να περάσετε σε πολλά pc windows και θέλετε να αποφύγετε τη διαδικασία να βάζετε κάθε φορά τα SPs, τα updates ή τους drivers, είναι το slipstreaming ή unattended install. Ο παρακάτω "οδηγός", που ίσως έχει κάποια ορθογραφικά, έχει γραφεί πριν λίγο καιρό, αλλά δε νομίζω να έχει ασάφειες. Είναι αποτέλεσμα συλλογικής δουλειάς των παιδιών των cslabs και ελπίζω να ακολουθήσουν μερικοί ακόμη σχετικά την εγκατάσταση/λειτουργία/customization του Windows Server 2008.
Τα αυτόματα εργαλεία για αυτή τη δουλειά (δλδ. τη δημιουργία customized λειτουργικού) είναι το vLite και το nLite, για Vista και ΧP αντίστοιχα. Βέβαια, τα παραπάνω δεν πετυχαίνουν πάντα (χωρίς να ξέρουμε -εμείς ή οι δημιουργοί τους- γιατί :P), όπως και στην περίπτωσή μας: το πέρασμα του RAID driver της SiS για την αναγνώριση του SATA δίσκου κατά τη εγκατάσταση winΧP SP3 στα cslabs. Αν και κάτι τέτοιο είναι αντιμετωπίσιμο με μια δισκέτα σε έναν υπολογιστή, το να χρησιμοποιείς δισκέτα σε κάθε εγκατάσταση δεν είναι ό,τι πιο εύχρηστο. Παρένθεση: ο εν λόγω driver δεν ήταν included στο SP καθώς η εταιρία (ή τα chipset της) μάλλον πήραν την κατηφόρα στο market share. Ας ξεκινήσουμε λοιπόν με τη διαδικασία.
Χρειαζόμαστε:
- Ένα PC με CD burner ώστε να φτιάξουμε το unattended disk
- Τον driver που θα περάσουμε (συνήθως είναι ένα αρχείο driver.inf kai driver.sys, ακολουθούμενο ίσως από .dll ή/και άλλα αρχεία)
- Λογισμικό σαν το IsoBuster (για να μπορέσουμε να κάνουμε extract κάποια αρχεία από το original cd) και το Nero (για να γράψουμε το νέο cd).
- Βάζουμε το original disk στο drive και αντιγράφουμε τα περιεχόμενά του σε κάποιο φάκελο στον σκληρό δίσκο. (Θα αντιγραφούν οι φάκελοι DOCS, DOTNETFX, I386, SUPPORT, VALUEADD μαζί με κάποια άλλα αρχεία)
- Στον φάκελο που αντιγράψαμε το CD δημιουργούμε την ακόλουθη ιεραρχία φακέλων: $ΟΕΜ$ > $1 > drivers. Μέσα στον φάκελο drivers βάζουμε τους φακέλους με τους drivers που θέλουμε να προσθέσουμε (στην περίπτωσή μας τον φάκελο sisraid που έχει τα αρχεία του driver για τον SATA/RAID controller της SiS).
- Μέσα στον φάκελο με τον driver ανοίγουμε το αρχείο .INF και σημειώνουμε τα PCI identifier strings, δηλαδή όσα διαφορετικά strings βρούμε της ακόλουθης μορφής: PCI\VEN_1039&DEV_0180
- Τώρα ανοίγουμε το αρχείο TXTSETUP.SIF το οποίο βρίσκεται στο φάκελο Ι386 και στο section [HardwareIdsDatabase] βάζουμε αντιγράφουμε τα παραπάνω PCI identifier strings, π.χ. : PCI\VEN_1039&DEV_0180 = "sisraid"
- Στο ίδιο αρχείο (I386/TXTSETUP.SIF) προσθέτουμε τα ακόλουθα στα διάφορα sections:
- Στο [SourceDisksFiles] βάζουμε το DRIVER_NAME.sys = 1,,,,,,_x,4,1 (π.χ. βάλαμε sisraid.sys = 1,,,,,,_x,4,1)
- Στο [SCSI.Load] βάζουμε το DRIVER_NAME = DRIVER_NAME.sys,4 (π.χ. βάλαμε sisraid = sisraid.sys,4)
- Στο [SCSI] βάζουμε το DRIVER_NAME ="DRIVER DESCRIPTION" (π.χ. βάλαμε sisraid = "SiS RAID/SATA Controller")
- Αποθηκεύουμε και κλείνουμε το TXTSETUP.SIF
- Αντιγράφουμε το αρχείο του driver (αυτό που τελειώνει σε .SYS) στον φάκελο που είναι το TXTSETUP.SIF (δηλ. Αντιγράψαμε το sisraid.sys από τον /$ΟΕΜ$/$1/drivers/sisraid στον /Ι386)
- Στον φάκελο /Ι386 δημιουργούμε το αρχείο WINNT.SIF το οποίο χρησιμεύει για τη δημιουργία μιας unattended installation, δηλαδή για την παραμετροποίηση της διαδικασίας εγκατάστασης των windows. Εμείς παραθέτουμε ό,τι είναι απαραίτητο για να «ειδοποιήσουμε» τη διαδικασία εγκατάστασης για τους επιπλέον drivers που βάλαμε.
Αντιγράφουμε το παρακάτω στο αρχείο WINNT.SIF κάνοντας τις απαραίτητες αλλαγές –χωρίς τις παρενθέσεις
Code: Select all
[Data] AutoPartition=0 MsDosInitiated="0" UnattendedInstall="Yes" [Unattended] UnattendMode=ProvideDefault OemPreinstall=Yes OemSkipEula=Yes NoWaitAfterTextMode=1 NoWaitAfterGUIMode=1 WaitForReboot="No" TargetPath=WINDOWS DriverSigningPolicy=Ignore OemPnPDriversPath=drivers\sisraid (*** o fakelos poy periexontai oi drivers ***) [GuiUnattended] OEMSkipWelcome = 1 [UserData] (*** sto userdata mporeis na vgoun windows components -p.x. paixnidia- h' na grafei to ProductKey wste na mn xreiazetai stn egkatastash ***) ProductKey= FullName="-" OrgName="-"
- Αποθηκεύουμε το αρχείο WINNT.SIF και είμαστε έτοιμοι. Τώρα θα δούμε πως γίνεται η διαδικασία εγγραφής του νέου CD ώστε να είναι bootable

Βήμα 3. Ο driver μπορεί να έχει περισσότερα από ένα PCI identifier strings

Βήμα 4.

Βήμα 7.
Εγγραφή της νέας έκδοσης του CD
- Xρησιμοποιούμε το IsoBuster (ή κάποιο παρόμοιο πρόγραμμα) για να εξάγουμε το αρχείο "Microsoft Corporation.img" από το original disk και το αντιγράφουμε στο φάκελο της νέας εγκατάστασης. (Το αρχείο αυτό είναι hidden και έτσι δεν αντιγράφτηκε στον φάκελο της νέας εγκατάστασης όταν στην αρχή κάναμε copy-paste τα περιεχόμενα του original disk. Το αρχείο αυτό είναι χρήσιμο για να γίνει bootable το νέο cd!)
- Τώρα πρέπει να γράψουμε τον φάκελο της νέας εγκατάστασης σε ένα bootable cd. Ακολουθούν οι ρυθμίσεις όπως περιγράφονται στο Nero, οι οποίο ωστόσο βρίσκονται και στα περισσότερα λογισμικά εγγραφής οπτικών δίσκων.
- (Στο tab boot του Nero) Βρίσκουμε το "Microsoft Corporation.img" και το ορίζουμε ως image file. Στα expert settings επιλέγουμε "no Emulation". Στο load segment of sectors (hex) βάζουμε "0000". Στο number of loaded sectors βάζουμε την τιμή 4.
- (Στο ISO tab) Σχετικά με το ISO προσέχουμε να γράψουμε με data mode "Mode 1", με filename length να είναι "level 2" (δηλ. Υποστήριξη filenames μέχρι 31 chars), με ISO 9660 + Joliet, να επιτρέπουμε folder depth > 8, Joliet filenames up to 64 chars, up to 255 chars στο filepath και να μην προστίθεται το ";1" του ISO file versioning.
- (Στο label tab) Βάζουμε το label του αυθεντικού CD (π.χ. GRTMPVOL_EN)
- (Στο tab boot του Nero) Βρίσκουμε το "Microsoft Corporation.img" και το ορίζουμε ως image file. Στα expert settings επιλέγουμε "no Emulation". Στο load segment of sectors (hex) βάζουμε "0000". Στο number of loaded sectors βάζουμε την τιμή 4.
- Τέλος, επιλέγουμε για εγγραφή τα περιεχόμενα του φακέλου της τροποποιημένης εγκατάστασης. Στον έλεγχο πριν το burn κοιτάζουμε όλα τα settings ξανά. (στο Nero που δοκιμάσαμε υπήρχε μάλλον ένα bug που έκανε disable τα expert settings μετά την εισαγωγή των αρχείων για εγγραφή)