Modyfikacja plików wim

Modyfikacja obrazów systemów operacyjnych

Jedną z istotnych kwestii przy Operating System Deployment w ConfigMgr jest możliwość ingerencji w pliki boot image. Modyfikacje te mogą polegać m.in na dodaniu do płytki startowej swoich własnych plików, które potem wykorzystujemy do usprawnienia procesu instalacji systemu. Najlepiej będzie to przedstawić na przykładzie dodania do boot image programu Trace32.

Boot image w ConfigMgr znajdują się w katalogu \Program Files\Microsoft Configuration Manager\OSD\Boot. Znajdują się tam dwa katalogi:

  • i386 z boot image dla systemów 32 bitowych.
  • x64 z boot image dla systemów 64 bitowych.

Rysunek 1. Katalog w którym znajdują się pliki boot image.

Rysunek 1. Katalog w którym znajdują się pliki boot image.

W każdym z tych katalogów znajdują się dwa pliki. Boot.wim zawiera boot image eksportowany podczas instalacji ConfigMgr z pakietu Windows Automated Installation Kit. Plik boot.A010001.wim zawiera boot image, który wykorzystuje ConfigMgr podczas Operating System Deployment. Jesto to kopia pliku boot.wim.

Rysunek 2. Pliki boot image dla systemów 32-bitowych.

Rysunek 2. Pliki boot image dla systemów 32-bitowych.

Do modyfikacji wykorzystujemy Windows Automated Installation Kit, a konkretnie narzędzie imagex. Jest ono dostępne poprzez Deployment Tools Command Prompt.

Rysunek 3. Uruchamiamy Deployment Tools Command Prompt.

Rysunek 3. Uruchamiamy Deployment Tools Command Prompt.

Otworzy nam się okienko wiersza linii poleceń dedykowane do WAIK.

Rysunek 4. Okienko Deployment Tools Command Prompt, w którym będziemy modyfikować boot image.

Rysunek 4. Okienko Deployment Tools Command Prompt, w którym będziemy modyfikować boot image.

Zanim przystąpimy do dalszych czynności, musimy się dowiedzieć ile obrazów jest w pliku, który będziemy edytować. Aby się tego dowiedzieć korzystamy z komendy imagex /info “D:\Program Files\Microsoft Configuration Manager\OSD\Boot\i386\boot.wim”

Rysunek 5. Dostępne informacje o obrazie.

Rysunek 5. Dostępne informacje o obrazie.

Najbardziej nas w tej chwili interesują dwie informacje: Image Count oraz Image Number. Image Count mówi nam ile jest obrazów w tym piku, natomiast Image Number służy do wskazywania przy wdrażaniu, który obraz z tego pliku zostanie użyty, jak również przy modyfikacji obrazów. W plikach typu boot image jest tylko jeden obraz, natomiast w przypadku plików z obrazami systemów operacyjnych juz obrazów może być więcej niż jeden.

Modyfikacja boot image polega na montowaniu wybranego obrazu z pliku wim do wskazanego przez nas katalogu na dysku twardym. Wskazany katalog może być wykorzystywany tylko dla tego celu. Tworzymy katalog i wykonujemy następującą komendę:imagex /mountrw “D:\Program Files\Microsoft Configuration Manager\OSD\Boot\i386\boot.wim” 1 d:\WinPE. Przełącznik /mountrw powoduje, że montowany obraz jest w trybie umożliwiającym jego modyfikacje. Warto zwrócić uwagę na cyfrę poprzedzającą nazwę katalogu, do którego montowany jest boot image. W plikach zapisanych w formacie .wim mogą być umieszczone jednocześnie wiele obrazów. Musimy wiedzieć ile takich obrazów w tym pliku jest, aby przy montowaniu wiedzieć, który obraz konkretnie chcemy wykorzystać. Nawet jeśli jest tylko jeden to i tak musimy go wskazać.

Rysunek 6. Proces montowania boot image do wskazanego katalogu.

Rysunek 6. Proces montowania boot image do wskazanego katalogu.

Po zakończeniu procesu widzimy w katalogu, to co zawiera montowany obraz.

Rysunek 7. Katalog z podmontowanym w nim boot image.

Rysunek 7. Katalog z podmontowanym w nim boot image.

Teraz trzeba do tego obrazu dołożyć to co chcemy. Zawsze gdy korzystam z obrazów rozruchowych dokłądam do nich program Trace32.exe. Trace32 jest cześcią bezpłatnego zestawu narzędzi do ConfigMgr - Configuration Manager 2007 Toolkit V2. Wgrywamy Trace32 do katalogu d:\WinPE\Windows\System32, aby łatwiej było nam poźniej go uruchamiać.

Rysunek 8. Wgrywamy Trace32 do katalogu d:\WinPE\Windows\System32.

Rysunek 8. Wgrywamy Trace32 do katalogu d:\WinPE\Windows\System32.

Zmiany jakie dokonaliśmy trzeba zapisać. Znów wykorzystamy imagex. Wykonujemy komendę: imagex /unmount /commit d:\WinPE. Przełącznik /unmount odmontowuje obraz, natomiast /commit zapisuje w obrazie dokonane przez nas zmiany.

Rysunek 9. Wyniki komendy zapisaującej zmiany oraz odmontowującej obraz.

Rysunek 9. Wyniki komendy zapisaującej zmiany oraz odmontowującej obraz.

Po zapisaniu zmian musimy jeszcze uaktualnić ten obraz w ConfigMgr. proces ten nie jest skomplikowany i wykona się prawie automatycznie. My musimy zainicjować ten proces, a potem ConfigMgr zrobi za nas resztę. Wybieramy Properties boot image, którego zakończyliśmy modyfikować, następnie wchodzimy na Images i wybieramy opcję Reload.

Rysunek 10. Zakładka Image umozliwia nam aktualizację obrazu w ConfigMgr.

Rysunek 10. Zakładka Images umożliwia nam aktualizację obrazu w ConfigMgr.

Następnie musimy zadbać o wysłanie nowej wersji boot image na punkty dystrybucyjne. Wystaczy zaznaczyć odpowiedni boot image i wybrać opcję Udpate Distribution Point, w przypadku, gdy ten boot image był poprzednio wysłany na punkt dystrybucyjny.

Rysunek 11. Opcja Update Distributions Points służy do aktualizacji na punktach dystrybucyjnych.

Rysunek 11. Opcja Update Distributions Points służy do aktualizacji na punktach dystrybucyjnych.

Uruchomi się kreator Manage Distribution Points.

Rysunek 12. Kreator Manage Distribution Points który aktualizauje boot image na punktach dystribucyjnych.

Rysunek 12. Kreator Manage Distribution Points który aktualizauje boot image na punktach dystribucyjnych.

Gdy zajrzymy do katalogu w którym znajdują się obrazy zobaczymy rozpoczęty proces tworzenia kopii boot image.

Rysunek 13. ConfigMgr tworzy lokalną kopie boot image.

Rysunek 13. ConfigMgr tworzy lokalną kopie boot image.

Na końcu kreator pokaże nam podsumowanie procesu.

Rysunek 14. Podsumowanie aktualizacji pliki boot image.

Rysunek 14. Podsumowanie aktualizacji pliki boot image.

Zwróćmy uwagę na Action to perform. ConfigMgr podczas aktualizacji dodaje do boot image cześć odpowiedzialną za uruchomienie Task Sequences, może dodać sterowniki lub włączyć/wyłaczyć Windows PE command line support.

Rysunek 15. Pliki wim wykorzystywane przez ConfigMgr.

Rysunek 15. Pliki wim wykorzystywane przez ConfigMgr.

Oba pliki powinny mieć zawsze zblizoną date i godzinę modyfikacji. Plik boot.A0100001.wim jest nieco większy od pliku źródłowego wykesportowanego przy instalacji ConfigMgr z pakietu Windows Automated Installation Kit.

W Packages Status sprawdzamy czy na punkcie dystrybucyjnym zostały zainstalowane wysłane przed chwilą nowe wersje boot image.

Rysunek 16. Package Status służy do sprawdzenia czy na punktach dystrybucyjnych są najnowsze wersję obrazów.

Rysunek 16. Package Status służy do sprawdzenia czy na punktach dystrybucyjnych są najnowsze wersję obrazów.

Dodane Trace32 do obrazu Windows PE umożliwia nam podglądania w czasie trwania TS logu smsts.log. W logu tym są zapisywane wszystkie informacje dotyczące tego co wykonuje ConfigMgr na obsługiwanym w komputerze. Dzięki temu znacznie przyspieszymy odnajdywanie opisów błędów przy wdrożeniu. Warto go również dodać do obrazu wzorcowego systemu operacyjnego, aby móc podglądać log smsts.log, ale już w fazie aplikowania systemu operacyjnego.

Rysunek 17. Wykorzystanie Trace32 do oglądania logów trakcie trwana Task Sequences.

Rysunek 17. Wykorzystanie Trace32 do oglądania logów trakcie trwana Task Sequences.

Niektóre z opisanych procedur konfiguracyjnych zawartych na tej stronie znacząco ingerują w konfigurację sytemów czy serwera ConfigMgr.

Proszę o rozważne korzystanie z informacji zawartych w moich artykułach.

Administratorzy stosują opisane procedury na własną odpowiedzialność.