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ć.

Windows 7 z nowymi partycjami na maszynie wirtualnej


Jedną z operację, którą chciałbym przeprowadzić jest przesunięcie w Windows'ie katalogów domowych użytkowników, danych aplikacji oraz samych aplikacji poza podstawową partycję "C". Chciałbym, aby na dysku systemowym znajdował się wyłącznie system operacyjny. Natomiast wszystkie pozostałe dane były na oddzielnych partycjach. 

Obecnie taka sytuacja może być bardzo sprzyjająca jeżeli posiadalibyśmy dysk SSD na którym znajdowałby się system operacyjny, oraz zwykły dysk HDD na którym umieszczone byłyby dodatkowe aplikacji/gry oraz dane użytkowników. Przy takiej konfiguracji to co jest najbardziej odczuwalne to przede wszystkim start systemu operacyjnego - "wstaje" on bardzo szybko. Osobiście nie sprawdzałem tego na systemie Windows 7, ale w pracy posiadamy komputery z systemem Ubuntu oraz pojedynczym dyskiem SSD. Wystarczy tylko maksymalnie kilka sekund po włączeniu przycisku "Power" i już pojawia się okienko logowania. Nie ukrywam, że jest to bardzo wygodne. 

Jest też drugi powód dla którego chciałbym mieć dane na oddzielnym dysku - kwestia bezpieczeństwa. Myślałem o tym, aby zamiast jednego dysku HDD wykorzystać dwa i spiąć je w systemie RAID 1 zapewniając w ten sposób względne bezpieczeństwo wrażliwych dla mnie danych (zdjęć/dokumentów/muzyki/filmów itp.).

Jednym z kroków na drodze do utworzenia takiej konfiguracji jest podłączenie w systemie dwóch dysków. W przypadku, gdy korzystamy z OSa na maszynie wirtualnej sprawa nie jest taka prosta. Sprawdźmy zatem jak wykonuje się tę operację.

Zanim uruchomiona zostanie maszyna trzeba podpiąć do niej dwa dodatkowe pliki reprezentujące pojedyncze dyski (jeżeli chcemy więcej to można podpiąć więcej, jeżeli wystarczy nam tylko jeden to również ograniczamy się do jednego dysku). Należy to zrobić wybierając ustawienia maszyny, którą chcemy rozszerzyć i w nowootwartym okienku przejść na zakładkę Nośniki.
Ustawienia nośników dla maszyny wirtualnej
Następnie drugim "plusikiem" obok opcji Kontroler SATA zlecamy dodanie nowego dysku. Jeżeli chcemy utworzyć nowy dysk to wybieramy opcję Create new disk, następnie określamy czy wielkość obrazu ma być dynamiczna czy statyczna na dysku hosta oraz wielkość przestrzeni. Po zatwierdzeniu budowany jest obraz i podłączany do maszyny. Taką samą operację wykonujemy raz jeszcze tworząc drugi dysk. W wyniku tych operacji powinniśmy mieć podłączone do maszyny wirtualnej 3 dyski. Jeden systemowy (początkowy) oraz dwa dodatkowe.
Podłączone do maszyny wirtualnej dyski
Tak skonfigurowaną maszynę można już bezpiecznie uruchomić. Kiedy jednak zajrzymy na listę dostępnych partycji możemy doznać rozczarowania (tak przynajmniej było w moim wypadku), ponieważ nie było tam spodziewanych dysków.
Gdzie podziały się dodatkowe dyski twarde?
Ponieważ to co zrobiliśmy to tak naprawdę "podłączyliśmy do komputera" dwa nowe dyski, aby Windows je poprawnie zobaczył należy je jeszcze podzielić na partycje. Operację tą można wykonać wybierając opcję Start->Panel sterowania->System i zabezpieczenia->Utwórz i sformatuj partycje dysku twardego.
Odnalezione dyski twarde
Jak widać na załączonym ekranie system Windows widzi dwa dodatkowe dyski pokazując przy nich informacje, że nie są jeszcze przydzielone. Trzeba zatem je odpowiednio przydzielić.
Klikamy prawym przyciskiem myszy na nieprzydzielonej części i wybieramy Nowy wolumin prosty. Otworzy się prosty formularz, który krok po kroku przeprowadzi nas przez operację przydzielenia dysku. Przechodząc do następnych kroków określamy wielkość przestrzeni partycji (najlepiej całą powierzchnię) i później przydzielamy partycji "literkę" reprezentującą Windowsowy "dysk". W kolejnym kroku określamy system plików jaki ma być prowadzony na nowo utworzonym dysku - najlepiej pozostawić w tym miejscu domyślne parametry. Dodatkowo można tutaj przypisać nową etykietę - w pole Etykieta woluminu trzeba wprowadzić jakąś nazwę (np. Programy). Na ostatnim ekranie potwierdzamy parametry i oto mamy utworzony nową partycję.
Taką samą operacje przeprowadzamy dla drugiego, nieprzydzielonego dysku.
Po przeprowadzeniu tej operacji powinniśmy już mieć dostęp do nowych partycji z poziomu Windows'a.
Nowe dyski są dostępne dla Windows'a

sobota, 19 marca 2011

Windows 7 na maszynie wirtualnej - rozdzielczość

Jednym z pierwszych mankamentów, które rzucają się w oczy zaraz po zainstalowaniu Windows'a na maszynie wirtualnej jest mały rozmiar okienka z instancją. W przypadku Ubuntu, którego instalowałem w celu przetestowania możliwości serwerowych za bardzo mi to nie przeszkadzało, ponieważ tam wystarczyła konsola. Niestety w przypadku Windowsa i jakiegokolwiek innego systemu "okienkowego" użytkowanie systemu staje się przez to bardzo utrudnione. Zastanówmy się zatem w jaki sposób można zwiększyć wymiary okienka?

Po pierwsze trzeba w systemie gościa (Windows 7 w moim wypadku) zainstalować Dodatki Gościa. Po uruchomieniu instancji można to zrobić wybierając z menu Urządzenia opcje "Zainstaluj Dodatki". Otworzy się zwykły instalator w systemie gościa programu z dodatkami dla Windows. Kiedy instalator zakończy pracę poprosi o zrestartowanie maszyny - należy potwierdzić i po chwili Windows uruchomi się ponownie. Jednak tym razem będzie miał wymagane rozszerzenia.

Następnie na Pulpicie klikamy prawym przyciskiem myszy rozwijając menu podręczne, w którym wybieramy opcję Rozdzielczość ekranu. Pojawi się okienko z kilkoma opcjami, a jedną z nich będzie Rozdzielczość. Zmieniamy tę opcje zgodnie z naszymi wymaganiami i już możemy cieszyć się większym okienkiem.

Przy okazji udało się poprawić kolejną irytującą rzecz - brak współdzielenia wskaźnika pomiędzy systemem hosta oraz gościa. Teraz przeskakiwanie pomiędzy oknami za pomocą kursora myszki jest bardziej naturalne.

P.S. Dopiero teraz zauważyłem ile taka "czysta" instalacja Windows'a może zajmować - okazuje się, że jest to aż 13GB.

Windows 7 na maszynie wirtualnej

Do tej pory byłem użytkownikiem wysłużonego Windows'a XP. O ile mi wiadomo Microsoft powoli będzie wycofywał się ze wsparcia tego systemu. Czas zatem przyjrzeć się jego następcy - Windows 7. W celu przetestowania i sprawdzenia jak sobie on radzi chciałbym na maszynie wirtualnej zainstalować wersję Home Premium. 

Od mojego ostatniego kontaktu z VirtualBox'em minęło trochę czasu - obecnie najnowsza wersja to 4.0.4. Na niej utworzyłem oddzielną maszynę na której zamierzam zainstalować Windows'a. Szczegóły konfiguracji widoczne są na poniższym zrzucie ekranu.
Konfiguracja VM dla Windows 7
Zatem do dzieła - uruchamiamy instancję w celu instalacji Windows'a.
Po przeprowadzeniu instalacji  można się cieszyć nowym systemem operacyjnym.
Trochę po nim poklikam, a później zastanowię się czy można w jakiś sposób skonfigurować domyślne położenie katalogów domowych i programowych.