MindShifter - nFire.eu   MindShifter - nFire.eu
  [ Zaloguj | Rejestracja ]     Dzisiaj jest : Środa, 12 Grudzień 2018 
Menu strony
 
Artykuły

Wszystkie artykuły » Windows » System » Przywracanie usuniętej partycji

Przywracanie usuniętej partycji

Autor: Dariusz Jaskuła (MindShifter) | Sobota, 06 Sierpień 2011 23:17


Przywracanie partycjiWyobraź sobie hipotetyczną sytuację: na dysku X masz potężny zbiór danych. Od dłuższego czasu zabierasz się do jego archiwizacji, którą z braku czasu i poniekąd lenistwa odkładasz na wieczne jutro. W końcu przychodzi odpowiednia pora, którą oczywiście "coś" przerywa. Pilnie musisz przeorganizować dysk. Przez zamieszanie usuwasz partycję zawierającą owe drogocenne dane...

Nigdzie nie posiadasz ich kopii, ich odtworzenie jest niemożliwe. To koniec...

Jeśli korzystasz z systemu plików NTFS lub FAT32 to przywrócenie partycji jest w 100% możliwe, łatwe i szybkie.



Taki scenariusz utraty woluminu lub wręcz całego dysku jest jak najbardziej realny. Częstym powodem podobnej utraty danych jest działanie szkodliwego oprogramowania.

Usunięcie woluminu nie usuwa zapisanych na nim danych. Usuwany jest "jedynie" jego sektor rozruchowy. Po odtworzeniu tego sektora mamy więc ponowny dostęp do woluminu.

Bardzo ważną rzeczą jest zminimalizowanie do zera wszelkich operacji na zwolnionym miejscu, tak aby nie nadpisać znajdujących się tam danych.

Znając dokładną organizację dysku możemy przywrócić go w parę minut. Cały kruczek polega właśnie na tym DOKŁADNYM rozkładzie.

Krótko o strukturze dysku z systemem plików NTFS


Pierwszym sektorem całego dysku (fizycznego) jest główny rekord startowy (MBR - master boot record). MBR zawiera główny kod rozruchowy (MBC - master boot code), sygnaturę dysku oraz tablicę partycji (partition table). Na końcu MBR znajduje się dwu bajtowy marker 0x55AA (przy okazji - taki sam marker kończy również rozszerzony rekord startowy (EBR) oraz boot sector każdego woluminu).

Dyski dzielimy na podstawowe (basic) oraz dynamiczne (dynamic).

Dysk podstawowy


Tablica partycji (umieszczona w MBR) w dyskach podstawowych jest strukturą 64 bajtową służącą do identyfikacji typu i lokalizacji partycji na dysku. Dysk może posiadać maksymalnie cztery partycje (po 16 bajtów w tablicy partycji).

Są dwa typy partycji: podstawowa (primary) i rozszerzona (extended).

Partycja podstawowa jest zarazem woluminem (dla ścisłości - woluminem podstawowym, ang. basic volume); potocznie mówiąc "dyskiem" posiadającym przypisaną literę.

Partycja rozszerzona służy do tworzenia na niej dysków logicznych (logical drive) (które są woluminami dynamicznymi). Na partycji rozszerzonej można utworzyć dowolną liczbę dysków logicznych, dzięki czemu na całym dysku mogą znajdować się więcej niż cztery woluminy.

Dysk podstawowy

Każda partycja podstawowa posiada sektor rozruchowy (boot sector) oraz dane.

Każdy dysk logiczny na partycji rozszerzonej posiada rozszerzony rekord startowy (Extended Boot Record), boot sector oraz dane.

W EBR znajduje się rozszerzona tablica partycji tego dysku logicznego (extended partition table), w której znajdują się wskaźniki do boot sectora aktualnego dysku logicznego oraz do następnego dysku logicznego.

Partycja rozszerzona

Dysk dynamiczny


W dyskach dynamicznych tablica partycji (w MBR) nie zawiera wpisów odnośnie każdego woluminu, gdyż informacje te przechowywane są w specjalnej bazie danych (w ostatnim megabajcie dysku). W bazie tej przechowywane są informacje o wszystkich dyskach dynamicznych obecnych w systemie. Dlatego uszkodzone informacji o woluminie mogą być odtworzone z bazy danych innego dysku.

dysk dynamiczny


Tablica partycji dysku dynamicznego zawiera wpisy dotyczące woluminu systemowego (zawiera pliki wymagane do załadowania systemu Windows, m.in. ntldr, boot.ini i ntdetect.com), woluminu rozruchowego (zawiera pliki systemu operacyjnego Windows umieszczone w folderach %Systemroot% oraz %Systemroot%\System32) i jednej lub więcej dodatkowych partycji pokrywającej całe nieprzydzielone miejsce na dysku (chroniona dynamiczna partycja). Ma ona zapobiec wykorzystaniu tego miejsca przez narzędzia partycjonujące nie rozpoznające dysków dynamicznych.

Wolumin systemowy i rozruchowy może być jednocześnie tym samym woluminem.

Na dysku dynamicznym mogą być utworzone woluminy dynamiczne:
  • wolumin prosty (simple) – utworzony na jednym dysku,
  • wolumin łączony (spanned) – rozciągający się na jednym lub wielu dyskach,
  • wolumin rozłożony (striped) – rozłożony na kilku (co najmniej dwóch) fizycznych dyskach (RAID-0),
  • wolumin dublowany (mirrored) – rozłożony na dwóch fizycznych dyskach (RAID-1),
  • wolumin RAID-5 – trzy lub więcej fizycznych dysków.

Dyski dynamiczne w komputerach z architekturą Itanium (IA64) zamiast stylu partycji MBR wykorzystują styl partycji GPT (GUID partition table).

Przytoczonych tu metod odzyskiwania danych nie stosuje się dla dysków GPT.

Przygotowanie podstawowego dysku testowego


Zasymuluję przypadkowe usunięcie woluminu NTFS z dysku podstawowego i pokażę jak można go odtworzyć.

W tym celu do systemu został dołożony testowy dysk o rozmiarze 1 GB.

Rozpoczynamy od podziału testowego dysku na partycje. Będą to dwie partycje podstawowe, oraz jedna rozszerzona. Na partycji rozszerzonej utworzę pięć dysków logicznych.

Do pracy potrzebne nam będzie narzędzie o nazwie Disk Probe wchodzące w skład pakietu Support Tools do systemu Windows XP.

Poleceniem diskmgmt.msc uruchamiamy przystawkę MMC Zarządzanie dyskami.

Dysk

Na dysku 1 tworzymy partycję podstawową o rozmiarze 250 MB, przypisujemy jej literę T i formatujemy na system plików NTFS.

partycja podstawowa

Tworzymy koleją partycję podstawową o rozmiarze 250 MB (litera U).

Za drugą partycją podstawową tworzymy partycję rozszerzoną wypełniającą resztę powierzchni dyskowej.

partycja rozszerzona

Na partycji rozszerzonej tworzymy nowy dysk logiczny o rozmiarze 200 MB, przypisujemy mu literę V i formatujemy na system plików NTFS.

nowy dysk logiczny


dysk logiczny

W ten sam sposób na partycji rozszerzonej tworzymy jeszcze dwa dyski logiczne, przypisując im kolejno litery W, X (200 MB i 120 MB).

Na koniec aktywujemy pierwszą partycję podstawową umożliwiając z niej rozruch systemu.

oznacz partycję jako aktywną

Utworzyliśmy w ten sposób testowy dysk spotykany w rzeczywistych systemach.

gotowy dysk

Przywracanie boot sectora dysku logicznego na partycji rozszerzonej


Na partycji W umieszczamy dowolne dane, które za chwilę w kontrolowany sposób utracimy.

Przechodzimy do Zarządzania dyskami i usuwamy wolumin W.

usuń dysk logiczny

Od tego momentu wkraczamy ze scenariuszem przywracania dysku logicznego, który wygląda tak:
  • Tworzymy identyczny dysk logiczny (nie formatujemy go),
  • Odczytujemy MBR,
  • Z danych MBR dowiadujemy się gdzie znajduje się partycja rozszerzona,
  • Przechodzimy na trzeci dysk logiczny partycji rozszerzonej,
  • Skaczemy na jego koniec i odczytujemy zapasowy boot sector,
  • Zapisujemy go w miejsce boot sectora.
Przejdźmy więc do szczegółów.

wolna przestrzeń

W uwolnionej przestrzeni dyskowej tworzymy IDENTYCZNY dysk logiczny (jego sektor początkowy i końcowych musi być taki sam jak usuniętego dysku) jednak, i to niesłychanie ważne, NIE FORMATUJEMY go.

nie formatuj

W jaki sposób mieć pewność, że utworzymy dysk logiczny o identycznych sektorach?

Jeśli do tworzenia woluminu korzystaliśmy z Zarządzania dyskami to po jego usunięciu i ponownym utworzeniu będzie się on na pewno rozpoczynał i kończył w identycznych sektorach. Przystawka Zarządzanie dyskami ma tendencje do zaokrąglania rozmiarów partycji przy ich tworzeniu, więc dyski utworzone innymi programami mogą różnić się położeniem sektorów.

Po utworzeniu dysku logicznego (przypomnę to jeszcze raz – nie formatujemy go) uzyskamy dysk W bez znanego formatu plików (jego boot sector został usunięty lecz dane pozostają nietknięte).

nieznany format plików

Uruchamiamy program Disk Probe (dskprobe.exe) i rozpoczynamy przywracanie boot sectora na partycji rozszerzonej.
Ustawiamy uchwyt (handle) do naszego dysku wybierając z menu Drives -> Physical Drive...

Na liście Available Physical Drives powinny znajdować się wszystkie dyski widoczne dla systemu, wśród nich nasz dysk 1 (PhysicalDrive1).

wybieramy dysk

Klikamy dwukrotnie na PhysicalDrive1, pozycja Handle 0 powinna zmienić wartość z NO_SELECTION na PhysicalDrive1.

wybrany dysk

Klikamy teraz na przycisk Set Active przy Handle 0 czyniąc nasz uchwyt aktywnym. Pole Read only pozostawiamy zaznaczone – na razie nie potrzebujemy możliwości zapisu. Zamykamy okienko przyciskiem OK.

uchwyt aktywny

Po wybraniu uchwytu musimy odczytać MBR dysku, który umieszczony jest w pierwszym dostępnym sektorze dysku. Z menu wybieramy Sectors -> Read. W pole Starting Sector wpisujemy 0 (sektory numerowane są od zera) a w Number of Sectors 1 i naciskamy przycisk Read.

odczytujemy zerowy sektor

W oknie Disk Probe powinna pojawić się zawartość MBR.

boot sector

Z menu wybieramy View -> Partition table

tabela partycji

Na liście Partition table index odszukujemy partycję zawierającą nasz dysk logiczny. W naszym przypadku jest to partycja 3 (Partition 3) wybieramy więc ją (klikamy na niej dwa razy).

partycja 3

Pole System ID powinno wskazywać wartość Extended. Jeśli jest inaczej, to prawdopodobnie wybraliśmy złą partycję (lub co gorsza inny fizyczny dysk). Musimy wówczas jeszcze raz odczytać sektor zerowy (MBR) i powrócić do widoku tabeli partycji.

Teraz musimy przejść do 2 dysku logicznego na tej partycji. Klikamy więc przycisk Next Partition dwa razy.

Widzimy, że system plików został rozpoznany jako BIGFAT (z powodu nieprawidłowych informacji o partycji).

odczytany dysk logiczny

Odnotowujemy aktualny sektor (current sector) z paska tytułowego lub dolnego paska statusu (1435392), sektor względny z pola relative sector (63) oraz całkowitą liczbę sektorów tego woluminu z pola total sectors (411201).

Klikamy na przycisk GO (obok pola relative sector) co przeniesie nas z początku interesującego nas dysku logicznego (EPT) do jego boot sectora.

Z paska tytułowego odczytujemy jego położenie (1435455) i podglądamy jego zawartość wybierając z menu View -> Bytes.

boot sector

Jak widzimy sektor ten jest wyczyszczony. Musimy w to miejsce skopiować zawartość zapasowego sektora rozruchowego do czego mamy już wszystkie potrzebne dane:

aktualny sektor (current sector): 1435392
sektor względny (relative sector): 63
całkowita liczba sektorów (total sectors): 411201
sektor rozruchowy (boot sector): 1435455

Teraz obliczamy położenie zapasowego sektora rozruchowego. W systemie NT 3.5x, zapasowy sektor rozruchowy znajduje się w środku woluminu (Volume Middle). Począwszy od NT 4.0 został on przesunięty na koniec woluminu (Volume end).

Zapasowy sektor rozruchowy znajdziemy ze wzoru

dla NT 3.5x:
obecny sektor + całkowita liczba sektorów / 2 + sektory względne

dla NT >= 4.0:
obecny sektor + całkowita liczba sektorów + sektory względne – 1

W naszym przypadku będzie to: 1435392 + 411201 + 63 - 1 = 1846655

Zapasowy sektor rozruchowy usuniętego woluminu znajduje się w sektorze 1846655.

Odczytujemy go. Z menu wybieramy Sectors -> Read. Wprowadzamy Sektor początkowy 1846655 i liczbę sektorów 1.

zapasowy boot sector

Utwierdzamy się, że trafiliśmy na zapasowy sektor rozruchowy (ciąg NTFS, charakterystyczny tekst o błędzie odczytu dysku i znacznik 0x55AA kończący zapasowy sektor rozruchowy).

Pozostało nam nadpisanie sektora rozruchowego naszego dysku logicznego. Wybieramy Sectors -> Write

Potwierdzamy, że chcemy zmienić tryb uchwytu z tylko do odczytu na odczyt/zapis.

zmiana trybu

Upewniamy się, że wybrany uchwyt wskazuje na prawidłowy dysk (PhysicalDrive1).

W pole Starting sector to write data wpisujemy boot sector naszego dysku logicznego (1435455) i naciskamy przycisk Write It.

zapis

Jeszcze tylko potwierdzamy chęć nadpisania sektora (1435455).

potwierdzenie

W tym momencie dane z odczytanego zapasowego sektora rozruchowego powinny zostać zapisane do sektora rozruchowego.

Upewniamy się, że do sektora rozruchowego trafiły dane z zapasowego sektora rozruchowego 1846655 (Sectors -> Read, odczytujemy sektor 1435455)

boot sector

Na koniec zwalniamy uchwyt (Drives -> Physical Drive... -> Close Handle) i zamykamy Disk Probe.

zwalniamy uchwyt

Przechodzimy do Zarządzania dyskami i z menu akcji wybieramy "Skanuj dyski ponownie".

skanuj dyski ponownie

Dysk powinien zostać prawidłowo rozpoznany (niekiedy dane nie odświeżają się bez ponownego otwarcia konsoli mmc).

rozpoznany dysk

Dane zawarte na usuniętym dysku logicznym powinny być bez najmniejszej utraty ponownie dostępne.

dane

Przywracanie boot sectora woluminu na partycji podstawowej


W przypadku partycji podstawowej postępowanie jest nieco prostsze:
  • Odczytujemy MBR,
  • Przechodzimy do interesującej partycji podstawowej,
  • Skaczemy na jej koniec i odczytujemy zapasowy boot record,
  • Wstawiamy go w miejsce boot secotra.


Usuwamy partycję U:

usunięta partycja

W jej miejsce tworzymy nową partycję podstawową o identycznych parametrach.

surowa partycja

Podobnie jak w przypadku partycji rozszerzonej uruchamiamy Disk Probe, ustawiamy odpowiedni uchwyt

uchwyt

i odczytujemy MBR (sektor 0)

MBR

Przechodzimy do widoku partycji i klikamy na partycję 2

partycja 2

Notujemy potrzebne dane:
aktualny sektor (current sector): 0 (z pola statusu lub paska tytułowego)
sektor względny (relative sector): 512064
całkowita liczba sektorów (total sectors): 512064

Nasz boot sector znajduje się w sektorze 512064. Odczytujemy go aby sprawdzić czy jest wyczyszczony.

boot sector

Obliczamy położenie zapasowego boot sectora:

obecny sektor + całkowita liczba sektorów + sektory względne – 1

W naszym przypadku będzie to: 0 + 512064 + 512064 – 1 = 1024127

Odczytujemy sektor 1024127 (zapasowy boot sector)

zapasowy boot sector

Upewniamy się, czy trafiliśmy w odpowiednią strukturę

zapasowy boot sector

Zapisujemy odczytany zapasowy boot sector do boot sectora

zapis do boot sectora

Powracamy do Zarządzania dyskami i skanujemy dyski

rozpoznany

dysk powinien zostać rozpoznany a dane na nim zawarte ponownie dostępne.

dane

Przywracanie woluminu dynamicznego


W przypadku dysków dynamicznych Disk Probe nie będzie nam w stanie pomóc w określeniu położenia boot sectora. Dla dysków tych korzystamy z programu dmdiag.exe dołączonego do tego samego pakietu.

Na początek bardzo istotna uwaga – jeśli posiadaliśmy dysk podstawowy podzielony na partycje i konwertowaliśmy go na dysk dynamiczny (zachowując dane i partycje) to niestety przekonwertowane woluminy (utworzone jeszcze na dysku podstawowym) znajdują się w innych miejscach, niż znajdowały by się podczas ich tworzenia na dysku dynamicznym.

Usuwając wolumin założony na dysku podstawowym i tworząc w jego miejsce nowy wolumin dynamiczny nie utworzy się on dokładnie w starym miejscu. Zarządzanie dyskami inaczej układa woluminy dla dysków podstawowych a inaczej dla dynamicznych.

W takim wypadku samo utworzenie wolumin w miejscu starego prawdopodobnie uszkodzi część danych – lepszym wyjściem jest wtedy skorzystanie z programów odzyskujących dane (patrz koniec artykułu).

Na początek przygotujemy dysk. Konwertujemy nasz czysty dysk podstawowy (bez partycji) na dynamiczny.

Konwertowanie dysku na dynamiczny

Tworzymy nowy wolumin prosty

Nowy wolumin


Wolumin prosty

o rozmiarze 250 MB

rozmiar

przypisując mu literę U

litera

i formatujemy do NTFS

formatuj

Resztę dysku wypełniamy tworząc jeszcze trzy woluminy proste o rozmiarach 200 MB, 300 MB, 272 MB.

dysk dynamiczny

Mając już przygotowany dysk, na woluminie W tworzymy testowe dane.

Teraz usuwamy wolumin W.

usuń wolumin

W jego miejsce tworzymy dokładnie taki sam wolumin, nie formatując go.

Nowy wolumin


nie formatuj

Uruchamiamy program dmdiag. Oto przykładowy wynik działania programu (część danych została usunięta w celu zwiększenia czytelności):

---------- Dynamic Disk Information -----------
 DiskGroup: W2k3_s1Dg0
  Group-ID: 4a22c55a-b1d0-4dc3-a3b7-b6aaa1742375

   Sub Disk  Rel Sec  Tot Sec  Tot Size  Plex        Vol Type  Col/Ord  DevName
   State
   ========  =======  =======  ========  ====        ========  =======  =========  ======
   Disk1-01  63       512000   2096640   Volume1-01  Simple    1/1      Harddisk1  ONLINE
   Disk1-02  512063   409600   2096640   Volume2-01  Simple    1/1      Harddisk1  ONLINE
   Disk1-04  1536063  557056   2096640   Volume4-01  Simple    1/1      Harddisk1  ONLINE
   Disk1-03  921663   614400   2096640   Volume3-01  Simple    1/1      Harddisk1  ONLINE
   LDM-DATA  2094592  2048


 ---------- LDM Volume Information -----------

   Volume   Volume  Mnt  Subdisk   Plex        Physical    Size     Total    Col  Plex    Rel
   Name     Type    Nme  Name      Name        Disk        Sectors  Size     Ord  Offset  Sectors
   ======   ======  ===  ========  ==========  ==========  =======  =======  ===  ======  =======
   Volume1  Simple  U    Disk1-01  Volume1-01  Harddisk1   512000   512000   1/1  0       63
   Volume2  Simple  V    Disk1-02  Volume2-01  Harddisk1   409600   409600  1/10          512063
   Volume4  Simple  X    Disk1-04  Volume4-01  Harddisk1   557056   557056  1/10          1536063
   Volume3  Simple  W    Disk1-03  Volume3-01  Harddisk1   614400   614400  1/10          921663
Wszystkiego jesteśmy się w stanie dowiedzieć z sekcji Dynamic Disk Information. Dla nas jednak bardziej czytelna będzie sekcja LDM Volume Information (Logical Disk Manager).

Z informacji tam zawartych wynika, że nasz wolumin W (Disk1-03) rozpoczyna się od sektora 921663 (pole Rel sectors) i ma rozmiar 614400 (total size).

Wykonujemy więc proste obliczenie odnajdujemy położenia zapasowego boot secotra:

Rel sectors + total size – 1 = 921663 + 614400 – 1 = 1536062

Mamy już wszystkie dane:
boot sector: 921663
zapasowy boot sector: 1536062

Przechodzimy do programu Disk Probe.

Ustawiamy uchwyt na nasz dysk, czyniąc go aktywnym. Możemy sprawdzić, czy boot sector jest rzeczywiście wyczyszczony (921663):

wyczyszczony boot sector

Odczytujemy zapasowy boot sector (1536062)

zapasowy boot sector

i kopiujemy go w miejsce boot sectora

zapisujemy boot sector

Zamykamy Disk Probe. Powracamy do Zarządzania dyskami. W tej chwili wolumin W pozostaje nierozpoznany.

nierozpoznany wolumin

Z menu akcja wybieramy Skanuj dyski ponownie

skanuj dyski ponownie

Wolumin powinien zostać prawidłowo rozpoznany

wolumin W

a dane na nim zawarte ponownie dostępne.

dane na W

Zakończenie


Choć przedstawiłem przywracanie dla systemu plików NTFS to system plików FAT32 również przechowuje zapasowy sektor rozruchowy. Znajduje się on w szóstym sektorze woluminu (licząc sektory od zera).

Sektor rozruchowy jest zerowym sektorem dysku logicznego. Należy więc odczytać 6 sektor i przekopiować go do sektora 0. Po tej operacji należy wywołać polecenie chkdsk d: (gdzie d: jest dyskiem który naprawiamy).

Pozostaje pytanie – co w wypadku braku informacji o początkowym i końcowym sektorze dysku (np. usunęliśmy dwa kolejne dyski logiczne)? W takim przypadku niestety nie pójdzie już tak szybko jednak dane naturalnie nadal są w pełni do odzyskania.

Jest wiele specjalistycznych programów do odzyskiwania danych. Ja polecam MiniTool Power Data Recovery.

Jest to darmowa aplikacja sprawdzona w działaniu. Po analizie dysku (która może sporo potrwać – odczytywana jest cała powierzchnia dysku) potrafi odnaleźć wszystkie tablice partycji znajdujące się na nim, a co za tym idzie bez problemu może odzyskać dane z usuniętej partycji. Aplikacja pokazuje także początkowy sektor partycji, można więc pokusić się o odnalezienie sektora końcowego i przywrócić partycję programem Disk Probe. Dodatkową zaletą aplikacji jest możliwość przywracania usuniętych plików z istniejących partycji.


   [ Drukuj ] [ Wyślij stronę ]

Komentarze

Dodaj komentarz!

wysłany przez: 1098 (gość) - Niedziela, 01 Kwiecień 2012 15:49

Witam
U mnie po odpaleniu disk probe jest tylko pierwsza opcja
PhysicalDrive0 nie wiem co zrobic prosze o pomoc
Wyjasnie ze mam jeden dysk toshibe i 2 partycje
Na C mam system XP
Na D mam dane i ta wlasnie zostala usunieta w zarzadaniu dyskami w systemie
Zrobilem tak jak tutaj postawilem ja od nowa nie formatujac i mam sytuacje jak opisalem wyzej. Pomocy




Wszystkie obrazy, grafika, tekst oraz wszelkie inne treści reprezentowana na tej stronie (oprócz niektórych z działu Download) są chronione prawami autorskimi i są wyłączną własnością autora tej strony. Wszelkie przypadki użycia i/lub publikacji są zastrzeżone na całym świecie. Wszystkie zdjęcia i inne treści są wyraźnie nie w Domenie Publicznej. Żadne zdjęcia ani inne materiały na tej stronie nie mogą być kopiowana, przechowywana, poddawane manipulacji, publikowane, sprzedawane lub cytowane w całości lub w części w jakiejkolwiek formie bez uprzedniej pisemnej zgody upoważnionego przedstawiciela tej strony.

Jako materiał chroniony prawami autorskimi, wszystkie zdjęcia umieszczone na tej stronie chronione są zgodnie z międzynarodowym prawem autorskim.

All images, graphics, text, and all other content represented on this website (except for some of the Download section) are copyrighted and are the sole property of author of this website. All use and/or publication rights are reserved worldwide. All images and all other content are expressly not in the Public Domain. No images or other content on this website may be copied, stored, manipulated, published, sold or reproduced in whole or in part in any form without the prior written authorization of an authorized representative.

As copyrighted material, all images displayed on this site are protected under international copyright laws.

....:::: © 2004-2009 MindShifter ]:::::[ kontakt: Gadu-Gadu 2644644 ::::....