Πέμπτη 17 Μαρτίου 2016

Πολύγλωσσο Μέσο εγκατάστασης των Windows

Στο σημερινό κείμενο θα προσπαθήσω να παρουσιάσω επαρκώς, τον τρόπο δημιουργίας ενός πολύγλωσσου μέσου εγκατάσταστης των Windows. Συγκεκριμένα, θα αναφερθούμε σε δημιουργία μέσου εγκατάστασης για τα Windows 7,8.x,10. Γιατί όμως δεν βάζω στο παιχνίδι και τα παλαιότερα Windows; Ο λόγος δεν είναι άλλος από το γεγονός ότι η εγκατάσταση των Windows Vista βασίζονται στο Windows PE έκδοση 2, το οποίο δεν είναι συμβατό με τις νεότερες εκδόσεις. Όσον αφορά για τις υπόλοιπες εκδόσεις (Windows XP, 2000, NT4, Me/9x), οι εγκαταστάσεις τους είναι τελείως ασύμβατες το Windows Preinstallation Environment.
Ας ξεκινήσουμε λοιπόν, με τη δημιουργία του μέσου μας. Θα χησιμοποιήθει το πρόγραμμα εγκατάστασης των Windows 10 ως βάση, καθώς αυτό είναι συμβατό με όλες τις προαναφερθείσες εκδόσεις! Υπάρχουν δύο τρόποι δημιουργίας του. Ο πρώτος είναι η δημιουργία ενός αρχείου .wim, το οποίο θα περιέχει Windows τόσο x86 όσο x64. Στην περίπτωση αυτή θα πρέπει να χρησιμοποιηθούν τα αρχεία εγκατάστασης x86, καθώς σε αυτή την περίπτωση υπάρχει συμβατότητα και για τις x64 εγκατάστασεις. Σε αντίθετη περίπτωση, αυτή της χρήσης των αρχείων εγκατάστασης x64, η εγκατάσταση των x86 Windows δεν θα ήταν επιτυχής. Βέβαια, στην περίπτωση δημιουργίας μέσου εγκατάστασης μόνο με τα αρχεία εγκατάστασης x86, ναι μεν το τελικό μέγεθος του μέσου εγκατάστασης θα είναι μικρότερο, αλλά σε περίπτωση προσπάθειας αναβάθμισης κι όχι καθαρής εγκατάστασης σε x64 σύστημα, αυτή δεν θα είναι εφικτή και θα εμφανίζεται μήνυμα λάθους.
Σε αντίθεση με το μειονέκτημα των λαθών κατά την αναβάθμιση των x64 συστημάτων, ο δεύτερος τρόπος δημιουργίας μεσου εγκατάστασης επιτρέπει χωρίς πρόβλημα, τόσο την καθαρή εγκατάσταση, όσο και την αναβάθμιση. Σε αυτό το δεύτερο τρόπο, δημιουργούνται δύο ξεχωριστά αρχεία wim, ένα με όλες τις x86 εκδόσεις κι όλα με τις x64. Σε αυτή την περίπτωση όμως, θα βοηθούσε το κατέβασμα του ISO των Windows 10 από τη Microsoft, το οποίο έχει και τις δύο πλατφόρμες (x86 και x64), ώστε να χρησιμοποιηθεί ως βάση. Σε διαφορετική περίπτωση, θα πρέπει να γίνει επεξεργασία του αρχείου bcd, ώστε να εμφανίζεται κατά την έναρξη της εγκατάστασης ένα μενού, το οποίο θα μας επιτρέπει την επιλογή για Windows x86 ή για x64. Βεβαίως σε αυτή την περίπτωση, το μέγεθος του μέσου εγκατάστσης θα βγει μεγαλύτερο.
Πρέπει να τονιστεί ότι για τη δημιουργία του σύνθετου wim, είτε με τον πρώτο είτε με το δεύτερο τρόπο, επιθυμητή είναι η εγκατάσταση του Windows ADK (κατά προτίμηση των Windows 10 Build 10586). Μετά από την εγκατάσταση αυτή, θα χρησιμοποιήσουμε το πρόγραμμα imagex μέσω της γραμμής εντολών του Windows ADK. Συγκεκριμένα, η εντολή θα γραφτεί ως εξής:

imagex /export "<Αρχείο πηγή>" <Αριθμός Εικόνας> "<Αρχείο προορισμού>" "<Όνομα Έκδοσης windows>"

Για παράδειγμα, έχοντας ανοίξει τη γραμμή εντολών του Windows ADK, πληκτρολόγησα τις παρακάτω εντολές:
Imagex /export "F:\Aio\Windows.NT.6.1.aka.7.SP1.All.In.One.Greek.English\sources\install.wim" 1 "F:\Aio\winaio.wim" "Windows 7 Starter"
Imagex /export "F:\Aio\Windows.NT.6.1.aka.7.SP1.All.In.One.Greek.English\sources\install.wim" 2 "F:\Aio\winaio.wim" "Windows 7 Home Basic x86"
Imagex /export "F:\Aio\Windows.NT.6.1.aka.7.SP1.All.In.One.Greek.English\sources\install.wim" 3 "F:\Aio\winaio.wim" "Windows 7 Home Premium x86"
Imagex /export "F:\Aio\Windows.NT.6.1.aka.7.SP1.All.In.One.Greek.English\sources\install.wim" 4 "F:\Aio\winaio.wim" "Windows 7 Professional x86"
Imagex /export "F:\Aio\Windows.NT.6.1.aka.7.SP1.All.In.One.Greek.English\sources\install.wim" 5 "F:\Aio\winaio.wim" "Windows 7 Enterprise x86"
Imagex /export "F:\Aio\Windows.NT.6.1.aka.7.SP1.All.In.One.Greek.English\sources\install.wim" 6 "F:\Aio\winaio.wim" "Windows 7 Ultimate x86"
imagex /export "F:\Aio\Win10_Dual_lang\x86\w10hSx86.wim" 1 "F:\Aio\winaio.wim" "Windows 10 Home Single Language x86"
imagex /export "F:\Aio\Win10_Dual_lang\x86\w10hnx86.wim" 1 "F:\Aio\winaio.wim" "Windows 10 Home N x86"
imagex /export "F:\Aio\Win10_Dual_lang\x86\w10hox86.wim" 1 "F:\Aio\winaio.wim" "Windows 10 Home x86"
imagex /export "F:\Aio\Win10_Dual_lang\x86\w10pnx86.wim" 1 "F:\Aio\winaio.wim" "Windows 10 Pro N x86"
imagex /export "F:\Aio\Win10_Dual_lang\x86\w10prx86.wim" 1 "F:\Aio\winaio.wim" "Windows 10 Pro x86"
imagex /export "F:\Aio\Win10_Dual_lang\x86\w10edn86.wim" 1 "F:\Aio\winaio.wim" "Windows 10 Education N x86"
imagex /export "F:\Aio\Win10_Dual_lang\x86\w10edx86.wim" 1 "F:\Aio\winaio.wim" "Windows 10 Education x86"
imagex /export "F:\Aio\Win10_Dual_lang\x86\w10enx86.wim" 1 "F:\Aio\winaio.wim" "Windows 10 Enterprise N x86"
imagex /export "F:\Aio\Win10_Dual_lang\x86\w10etx86.wim" 1 "F:\Aio\winaio.wim" "Windows 10 Enterprise x86"
Με το τρόπο αυτό, δημιούργησα ένα αρχείο Wim, το winaio.wim, το οποίο περιέχει όλες τις εκδόσεις Windows 7 και 10 x86.

Το στάδιο αυτό, είναι το εύκολο και το τελικό. Του συγκεκριμένου σταδίου όμως, προηγείται το δύσκολο, αυτό της ενσωμάτωσης των απαιτούμενων γλωσσών. Όπως είναι γνωστό, οι εκδόσεις των Windows που παρέχονται από τη Microsoft σε ISO μέσω internet ή σε DVD, είναι μονογλωσσικά (στη χώρα μας στα Ελληνικά ή στα Αγγλικά). Ωστόσο, με τη χρήση κατάλληλων εντολών, είναι δυνατή η δημιουργία ενός πολυγλωσσικού μέσου. Για να δημιουργηθεί τρο πολυγλωσσικό μέσο, απαιτείται η προσθήκη της επιθυμητής γλώσσας, τόσο στο αρχείο boot.wim όσο και στα επιμέρους install.wim, τα οποία στη συνέχεια θα συνενωθούν σε 1 wim αρχείο, με τον τρόπο που περιγράφηκε παραπάνω. Επιπλέον, θα περιγραφεί ο τρόπος αφαίρεσης γλωσσικού πακέτου. Επιπλέον, άξιον αναφοράς αποτελεί το γεγονός ότι απαιτείται η δημιουργία 4 κενών φακέλων για την καλύτερη εργασία. Εγω δημιούργησα στον δίσκο F έναν φάκελο wim, μέσα στον οποίο έφτιαξα τους 4 υποφακέλους μου Mount (για να κάνω mount τα install.wim αρχεία μου) Bootwim (για να κάνω mount τα Boot.wim αρχεία μου) Scratch (βοηθητικός φάκελος) και Langpacks (φάκελος όπου τοποθέτησα τα γλωσσικά πακέτα που με ενδιέφεραν. Εξαίρεση αποτελεί η διεύθυνση "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\", όπου ουσιαστικά είναι εγκατεστημένο το Windows ADK. Φυσικα, ο κάθε χρήστης μπορεί να ονομάσει τους φακέλους του όπως αυτός επιθυμεί!
Όσον αφορά λοιπόν το Boot.wim, η διαδικασία είναι λίγο πολύπλοκη και απαραίτητη (όχι επιθυμητή) είναι η παρουσία του Windows ADK στο σύστημα. Επιβάλλεται η έκδοση των Windows ADK και Boot.wim να είναι η ίδια. Το παρακάτω set εντολών θα ενσωματώση την Αγγλική Γλώσσα στο Ελληνικό Boot.wim των Windows 10.

Mount του αρχείου Wim: Dism /mount-wim /WimFile:<Αρχείο> /index:2 /MountDir:<κατάλογος Mount>
Προσθήκη του γλωσσικού πακέτου: Dism /image:<κατάλογος Mount> /add-package /packagepath:"<κατάλογος γλωσσών>\lp.cab"
Προσθήκη λοιπών γλωσσικών παραμέτρων της εγκατάστασης: Dism /image:<κατάλογος Mount> /add-package /packagepath:"<κατάλογος γλωσσών>\WinPE-Setup_en-us.cab"
Προσθήκη λοιπών γλωσσικών παραμέτρων της εγκατάστασης: Dism /image:<κατάλογος Mount> /add-package /packagepath:"<κατάλογος γλωσσών>\WinPE-Setup-Client_en-us.cab"

Παράδειγμα x86
Dism /mount-wim /WimFile:F:\Aio\x86\boot.wim /index:2 /MountDir:f:\Win\bootwim
Dism /image:f:\Win\bootwim /add-package /packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs\en-us\lp.cab"
Dism /image:f:\Win\bootwim /add-package /packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs\en-us\WinPE-Setup_en-us.cab"
Dism /image:f:\Win\bootwim /add-package /packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs\en-us\WinPE-Setup-Client_en-us.cab"

Παράδειγμα x64
Dism /mount-wim /WimFile:F:\Aio\x64\boot.wim /index:2 /MountDir:f:\Win\bootwim
Dism /image:f:\Win\bootwim /add-package /packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\lp.cab"
Dism /image:f:\Win\bootwim /add-package /packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-Setup_en-us.cab"
Dism /image:f:\Win\bootwim /add-package /packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-Setup-Client_en-us.cab"

Μετά βρίσκουμε το αρχείο lang.ini στον φάκελο sources του κατεβασμένου ISO των Windows 10. Το αρχείο θα έχει την κάτωθι μορφή:

[Available UI Languages]
el-GR = 3

[Fallback Languages]
el-GR = en-us

Το τροποποιούμε, ώστε να προστεθεί η νέα γλώσσα (Αγγλική στην προκειμένη περίπτωση και το αποθηκεύουμε. Η νέα του μορφή θα είναι:

[Available UI Languages]
el-GR = 3
en-US = 3

[Fallback Languages]
el-GR = en-us
en-US = en-us

Το νέο αρχείο, το αντιγράφουμε και στον φάκελο, όπου έχουμε κάνει Mount το Boot.wim και συγκεκριμένα στον υποφάκελο Sources (στο παράδειγμά μας, η αντιγραφή θα γίνει στη διαδρομή f:\Win\bootwim\sources. Η διαδικασία με το αρχείο lang.ini, γίνεται και για τις 2 πλατφόρμες των Windows, x86 και x64. Τέλος, πρέπει να κάνουμε Unmount το Boot.Wim, το οποίο κι επιτυγχάνουμε με την κάτωθι εντολή:

Dism /unmount-wim /mountdir:<κατάλογος Mount> /commit

ή για το παράδειγμά μας:

Dism /unmount-wim /mountdir:f:\Win\bootwim /commit

Με το τρόπο αυτό, δημιουργήθηκε το δίγλωσσο περιβάλλον εγκατάστασης. Φυσικά, με τον ίδιο τρόπο, μπορούν να προστεθούν, όλες οι διαθέσιμες γλώσσες.
Σε αντίθεση με τη διαδικασία του Boot.wim, αυτή του install.wim είναι πολύ πιο εύκολη. Οι παρακάτω εντολές, δείχνουν αρχικα πως γίνεται Mount ένα wim αρχείο, πως προστίθεται μια γλώσσα, πως γίνεται αλλαγή της προκαθορισμένης γλώσσας στο αρχείο wim, αλλά και πως αφαιρείται μια γλώσσα. Σαν παράδειγμα, θα χρησιμοποιήσω ένα αρχείο wim, το οποίο είχε 2 γλώσσες, την Αγγλική και τη Ρώσικη. Εγώ θέλω να αφαιρέσω τη Ρώσικη, να προσθέσω την Ελληνική και να αλλάξω και την προκαθορισμένη γλώσσα, από τη Ρώσικη (έτσι ήταν το αρχείο) στην Ελληνική. Να σημειωθεί ότι οι κατάλογοι για Τα παρακάτω θα γίνουν ως εξής:
Mount του αρχείου Wim: dism /Mount-WIM /WimFile:"<Αρχείο Wim" /Name:"Όνομα Εικόνας" /MountDir:"<κατάλογος Mount>"
Προσθήκη γλωσσικού πακέτου: dism /Image:"<κατάλογος Mount>" /ScratchDir:"<Βοηθητικός κατάλογος>" /Add-Package /PackagePath:"<κατάλογος γλωσσών\όνομα γλωσσικού πακέτου>"
Αλλαγή προκαθορισμένων ρυθμίσεων: dism /Image:"<κατάλογος Mount>" /Set-SKUIntlDefaults:<κωδικός επιθυμητής γλώσσας>
Αλλαγή προκαθορισμένων ρυθμίσεων: dism /image:"<κατάλογος Mount>" /Set-AllIntl:<κωδικός επιθυμητής γλώσσας>
(Σημείωση: Για τους κωδικούς επιθυμητής γλώσσας, ανατρέχουμε στο site της Microsoft)
Διαγραφή γλωσσικού πακέτου: dism /Image:"<κατάλογος Mount>" /Remove-Package /PackagePath:"<κατάλογος γλωσσών\όνομα γλωσσικού πακέτου>"
Τέλος, Unmount της Εικόνας ώστε να αποθηκεύσουμε τις αλλαγές: dism /Unmount-WIM /MountDir:"<κατάλογος Mount>" /Commit
(Σημείωση: Αν θέλουμε να κάνουμε Unmount, χωρίς να αποθηκεύσουμε τις αλλαγές, η εντολή είναι ίδια, αλλά αντί του διακόπτη /Commit, βάζουμε τον /Discard: dism /Unmount-WIM /MountDir:"<κατάλογος Mount>" /Discard

Παράδειγμα (ισχύει και για x86 αρχείου)
dism /Mount-WIM /WimFile:"F:\Aio\r8core64.wim" /Name:"Windows 8.1" /MountDir:"f:\Win\Mount"
dism /Image:"f:\Win\Mount" /ScratchDir:"f:\Win\Scratch" /Add-Package /PackagePath:"F:\Win\langpacks\el_gr_64.cab"
dism /Image:"f:\Win\Mount" /Set-SKUIntlDefaults:el-gr
dism /image:"f:\Win\Mount" /Set-AllIntl:el-gr
Dism /Image:"f:\Win\Mount" /Remove-Package /PackagePath:"F:\Win\langpacks\ru_ru_64.cab"
dism /Image:"f:\Win\Mount" /get-Intl
dism /Unmount-WIM /MountDir:"f:\Win\Mount" /Commit

Ελπίζω να ήταν χρήσιμη η σύνοψη για τη δημιουργία πολυγλωσσικού μέσου εγκατάστασης των Windows.

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου