Pokazywanie postów oznaczonych etykietą instalacja. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą instalacja. Pokaż wszystkie posty

sobota, 9 kwietnia 2011

Windows 7 przesunięci katalogów Users, ProgramData oraz Program Files (część 2)

Ostatnim razem opisałem sposób oddzielenie lokalizacji katalogów Users oraz ProgramData od partycji systemowej. Dzięki temu katalogi z danymi użytkowników i programów znajdują się na oddzielnej partycji (lub zupełnie oddzielnym dysku), a katalogi Windows'a pozostają w tym samym miejscu.

Dzisiaj przedstawię sposób przeniesienia katalogów z aplikacjami na oddzielną partycję. O ile zmianę lokalizacji katalogów użytkownika można przeprowadzić wyłącznie podczas instalacji systemu operacyjnego, o tyle przeniesienie katalogu (a właściwie katalogów) Program Files można przeprowadzić później. Jednak z mojego punktu widzenia najlepiej będzie całą operację wykonać zaraz po instalacji systemu. Należy tutaj zaznaczyć, że o ile pierwsza operacja (Users i ProgramData) jest wspierana przez Microsoft o tyle druga już nie. Mogą zdarzyć się pewne trudności i niektóre nowe aplikacje i tak będą instalować się na partycji systemowej. Dlatego lepiej po przeprowadzaniu całego procesu nie usuwać domyślnej lokalizacji Program Files. Nie powinna ona przeszkadzać, gdyż jej rozmiar nie będzie rozrastał się bardzo szybko.

Zatem do dzieła. Tym razem wszystkie operacje ograniczają się do dokonania modyfikacji odpowiednich wpisów w rejestrze systemowym oraz przeniesieniu obecnej zawartości katalogu Program Files na inną, docelową partycję. Edytor rejestru można uruchomić wpisując w pole tekstowe pokazujące się po rozwinięciu Start nazwy programu: regedit.
Uruchamianie edytora rejestru
Po uruchomieniu aplikacji wyszukujemy w lewym okienku folderu: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion. W okienku po prawej stronie pojawią się wpisy, które należy zmodyfikować. Konkretnie chodzi o następujące klucze, w których należy wprowadzić wskazanie na nową lokalizację:
  • ProgramFilesDir
  • ProgramFilesPath - uwaga tę pozycję należy również zmienić pomimo tego, że odwołuje się do tej powyżej.
Dodatkowo, jeżeli posiadacie 64-bitową wersję Windows'a zmiany należy wprowadzić w następujących wpisach:
  • ProgramW6432Dir
  • ProgramFilesDir (x86)
Zmienione wpisy w systemie 32-bitowym
Wyłączamy aplikację Edytora rejestru, tworzymy odpowiednie katalogi na nowych partycjach a obecną zawartość kopiujemy do nowej lokalizacji. UWAGA!!! Na wszelki wypadek nie kasujemy plików i katalogów ze starego miejsca. Niektóre aplikacje (o dziwo szczególnie te Microsoft'we, ale nie tylko) mogą się w sposób bezwzględny odwoływać do starej lokalizacji - dlatego lepiej ją zachować w nienaruszonym stanie. Na koniec restartujemy maszynę.
Po jej ponownym uruchomieniu proponuję dokonać instalacji jakiegoś oprogramowania i sprawdzić czy rzeczywiście wszystko działa tak jak powinno - programy zapisują się w odpowiednim miejscu. Ja zainstaluję darmowy pakiet aplikacji promowany przez Google'a.

Jako ciekawostkę chciałbym wskazać na lokalizację katalogu do którego automatycznie Internet Explorer rozpoczyna pobieranie danych.
Automatyczne podpowiadanie katalogu użytkownika podczas pobierania danych IE
Jak widać katalog się zmienił. Część z Was pewnie zauważyła różnicę w partycji katalogu w stosunku do poprzedniego posta. Poprzednim razem dane użytkowników miały być na partycji E, a teraz są na D. Wynika to z tego, że program antywirusowy niespodziewanie dla mnie usunął obraz z główną partycją Windows'a maszyny wirtualnej. Z tego powodu cały proces wykonałem jeszcze raz jednak teraz rozkład partycji uległ zmianie. Nie ma to jednak wpływu na efekt końcowy.
Nowe programy w nowym miejscu
Jak widać na załączonym powyżej zrzucie ekranu zainstalowane aplikacje trafiły na nową partycję, do katalogu wskazanego w Edytorze rejestru.

Jaki jest cel całego procesu oddzielania danych użytkowników oraz aplikacji od samego systemu? Na pewno słyszeliście już o dyskach SSD, które są o wiele szybszy od tradycyjnych HDD. Jako to nowości są one jeszcze drogie, ale stopniowo będą tanieć. Ze względu na swoją wydajność idealnie nadają się na partycję systemową, natomiast dyski HDD (np. działające w trybie RAID) nadają się do przechowywania dużych wolumenów danych, do których szybkość dostępu nie ma takiego znaczenia. Dzięki podziałowi, który zaproponowałem w bieżącym i poprzednim wpisie łatwiej osiągnąć cele, którymi są zwiększenie wydajności i ewentualne bezpieczeństwo danych.

sobota, 26 marca 2011

Windows 7 przesunięci katalogów Users, ProgramData oraz Program Files (część 1)

W Windows'ie zawsze irytowała mnie domyślna lokalizacja katalogów Users (tudzież Documents and Settings) oraz Program Files. Partycja C, na której wszystko zawsze musiało lądować z czasem rozrastała się do bardzo pokaźnych rozmiarów - coraz więcej instalowanych programów oraz coraz więcej danych zgromadzonych w katalogach z dokumentami i ustawieniami użytkowników. Teoretycznie istnieje sposób na poprawienie tej sytuacji.

Jak się jednak okazało, ku mojemu wielkiemu rozczarowaniu, aby przesunąć umiejscowienie katalogu Users oraz ProgramData należy wykonać pewne operacje podczas instalowania systemu. Cóż ja już mam zainstalowany Windows 7, dobrze jednak, że testowo znajduje się on na maszynie wirtualnej, dlatego nie będę płakał nad tym, aby wykonać proces instalacji raz jeszcze.

W przypadku zmiany lokalizacji katalogu Program Files najlepiej całą operację wykonać również bezpośrednio po zainstalowaniu OS. Jednak o tej operacji napiszę oddzielny wpis. Teraz zajmijmy się przenosinami danych użytkowników oraz programów.

Zanim rozpocznę cały proces instalacji raz jeszcze przygotuję nową maszynę wirtualną i podłącze do niej dwa dodatkowe dyski (jeden na programy i jeden na dane użytkownika i aplikacji) zgodnie z opisem, który umieściłem w poprzednim poście. W tym miejscu zaznaczam, że dodanie dysków ograniczy się tylko do dołączenia ich do maszyny wirtualnej. Przypominam, że nie należy zapomnieć o podłączeniu płyty instalacyjnej Windows 7 inaczej podczas uruchamiania maszyny nie włączy się instalator :-).
Konfiguracja nowej maszyny wirtualnej dla Windows 7
Jak widać na załączonym zrzucie konfiguracji, maszyna będzie miała podłączone aż 4 dysk:

  1. Dysk systemowy - na którym będzie zainstalowany Windows 7
  2. Dysk z danymi użytkowników oraz aplikacji - na ten dysk zamierzam przenieść katalogi Users oraz ProgramData
  3. Dysk z aplikacjami - na ten dysk zamierzam przenieść katalog Program Files (jeżeli korzystacie z Windows'a 64-bitowego to trzeba przenieść również katalog Program Files (x86)).
  4. Dysk testowy - za jego pomocą zamierzam sprawdzić jak szybko zostanie utworzona partycja na dysku z dynamicznie rozszerzanym obrazem (pierwsze dyski mają stałą wielkość obrazu).
Czas na instalację - odpalamy maszynę i czekamy, aż włączy się instalator. W drugim kroku instalacji zostaniemy poproszeni o wybranie partycji na której system Windows zostanie zainstalowany. W tym kroku wybieramy jako pierwszą partycję systemową (tą o rozmiarze 20GB) i wybieramy Nowy a następnie Zastosuj. Następnie operację powtarzamy dla kolejnych dysków - w ten sposób wszystkie powinny być widoczne po instalacji i nie będzie trzeba wykonywać dodatkowych operacji.
Konfigurowanie partycji
Po zatwierdzeniu konfiguracji (na dysk systemowy wybrałem ten o rozmiarze 20GB) instalator przechodzi do kopiowania plików i całego procesu instalacji. Gdy zakończy się pierwszy etap instalacji nastąpi restart maszyny wirtualnej, a następnie ponownie zostanie podjęty proces instalacji. Następnie po konfiguracji ponownie zostanie wykonany restart.

Z chwilą kiedy na ekranie pojawi się poniższy widok rozpoczynam wykonywanie niestandardowych operacji.
Punkt przejścia do trybu Audit Mode
W tej chwili, zamiast kontynuować instalację standardowo, należy przejść do trybu AuditMode za pomocą kombinacji Ctrl+Shift+F3. Wciśnięcie tej kombinacji spowoduje restart maszyny i uruchomienie Windows'a w specjalnym trybie, który pozwoli wykonać wszystkie czynności. Po załadowaniu systemu pojawią się prośby o dodatkowej konfiguracje (jak na poniższym zrzucie ekranu) - tą pierwszą anulowałem (Narzędzie przygotowanie systemu), natomiast w drugiej wybrałem opcję "Sieć domowa"
Anulowanie "Narzędzia przygotowania systemu" oraz wybranie opcji "Sieć domowa"
Na kolejnym ekranie ponownie wybrałem opcję anulowania.
Anulowanie połączenia do grupy domowej
Otwórzmy teraz Mój komputer i wykonajmy formatowanie pozostałych partycji (niestety nie zostało to wykonane podczas początkowej instalacji - można to jednak było tam wykonać). Zatem spróbujmy otworzyć każdy dysk po kolei i następnie potwierdzić prośbę o formatowanie.
Formatowanie dysków twardych
Sformatowane partycje dodatkowe z nadanymi etykietami
Kiedy wykonamy już te operacje należy teraz przygotować plik xml za pomocą którego wykonamy definicję konfiguracji. W moim wypadku plik wygląda w następujący sposób:


   1:  <?xml version="1.0" encoding="utf-8"?>
   2:  <unattend xmlns="urn:schemas-microsoft-com:unattend">
   3:        <settings pass="oobeSystem">
   4:        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   5:        <FolderLocations>
   6:                         <ProfilesDirectory>e:\Użytkownicy</ProfilesDirectory>
   7:                         <ProgramData>e:\ProgramData</ProgramData>
   8:        </FolderLocations>
   9:        </component>
  10:        </settings>
  11:        <cpi:offlineImage cpi:source="wim:G:/sources/install.wim#Windows 7 HOMEPREMIUM" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
  12:  </unattend>
Jeżeli wasza maszyna wirtualna oraz Windows są 64-bitowe to obowiązkowo w linii 4 należy zastąpić ciąg znaków x86 ciągiem amd64. Dodatkowo w linii 11 należy wskazać literę dysku na którym znajduje się instalka Windows'a (G - w moim wypadku) oraz nazwę instalacji, którą posiadacie. Ja mam HOMEPREMIUM, ale dostępne są również opcje: HOMEBASIC, PROFESSIONAL, ULTIMATE, ENTERPRISE.
Oczywiście wszystko to robimy dlatego, że chcemy zmienić ProfilesDirectory (linia: 6) oraz ProgramData (linia: 7). W tych elementach należy podać lokalizacje odpowiednich katalogów. Ja podjąłem decyzję, że oba będą znajdowały się na partycji E. Tak przygotowany plik należy zapisać pod dowolną nazwą z rozszerzeniem xml np. na głównej partycji.
Zapisany plik relocate.xml
Gdybym wcześniej pomyślał, to zdecydowałbym się na zainstalowanie Dodatków Gościa. Pomogłoby to w kopiowaniu tekstu pomiędzy systemem hosta a gościa za pomocą współdzielonego schowka. Niestety musiałem wklepać to ręcznie i weryfikować czy wszystko się zgadza z założeniami. Proszę uważnie wprowadzać tekst tego pliku. Nie wiem jakie mogą być skutki niepoprawnej konfiguracji. Chociaż w najgorszym razie wszystko trzeba będzie zacząć raz jeszcze.

Po utworzeniu tego pliku otwieramy terminal (Start->Wszystkie programy->Akcesoria->Wiersz poleceń), za pomocą komendy cd przechodzimy do katalogu z Narzędziem przygotowania systemu:

  • cd \Windows\System32\Sysprep
I następnie wydajemy polecenie konfigurujące system na podstawie utworzonego wcześniej pliku xml:

  • sysprep /audit /reboot /unattend:C:\relocate.xml

Po chwili System ponownie się resetuje i ponownie wchodzi w tryb Audit Mode (bardzo wygodne rozwiązanie). Po włączeniu dopiero jawne wskazanie, że kolejne ładowanie ma wyjść z tego trybu prowadzi do tego. Dlatego z chwilą kiedy ponownie powita nas Narzędzie przygotowania systemu wybieramy weryfikujemy czy wybrane opcje zgadzają się z tymi ze zrzutu i potwierdzamy wciskając OK.
Zakończenie pracy w trybie Audit Mode
System ponownie się zresetuje i tym razem dokończy instalacje zgodnie z naszymi ustawieniami. Sam proces instalacji należy przeprowadzić we własnym zakresie, zgodnie z własnymi wymaganiami.

Kiedy wszystko będzie już grało i zalogujemy się do systemu to należy sprawdzić czy rzeczywiście na nowej partycji pojawiły się zdefiniowane katalogi.
Jak widać powyżej wszystko się zgadza. Zweryfikujmy jeszcze co znajduje się na dysku głównym z systemem operacyjnym.

Ku mojemu zaskoczeniu pojawił się tutaj katalog ProgramData. Nie ma za co katalogu z danymi użytkowników - co mnie bardzo ucieszyło. Pobieżne przejrzenie obu katalogów z danymi aplikacji na dysku E i tego na dysku systemowym upewniło mnie, że wszystko i tak trafiło na E - czyli tam gdzie chciałem.

W następnym wpisie spróbuję opisać o tym w jaki sposób zmodyfikować lokalizację katalogów Program Files. Wprawdzie Microsoft nie zaleca przeprowadzania tej operacji jednak ja spróbuję to zrobić.