Porównanie systemów plików ze względu na możliwość odzyskania utraconych danych. Ewa Przybyłowicz WMI UAM Poznań, 27.03.2015r.
Agenda 1. Pojęcie pliku. 2. Systemy plików: FAT EXT NTFS 3. Narzędzia do odzyskiwania danych.
Pojęcie pliku przypomnienie Jednostka zapisu i przechowywania danych w komputerze. Ma postać ciągu bitów. Posiada nazwę i atrybuty. Dane zapisywane są w odpowiednim formacie.
Podstawowe typy plików oraz ich struktura Pliki dźwiękowe MP3 Opis Format audio do kodowania dźwięku cyfrowego wykorzystujący formę stratnej kompresji danych. Jednak straty jakości przy zapisie w tym formacie są praktycznie nie wyczuwalne dla przeciętnego słuchacza. Jest to obecne najpopularniejszy format zapisu dźwięku, a także standard dla większości cyfrowych odtwarzaczy audio. WMA Format pliku audio oparty na ASF (ang. Advanced System Format) - kontenerze multimedialnym stworzonym przez Microsoft. Rozszerzenie używane z programem Windows Media Player, WMA jest zarówno rozszerzeniem pliku, jak i kodekiem.
Struktura pliku MP3
Pliki wideo AVI Opis Format kontenera multimedialnego wprowadzony przez Microsoft, pochodny RIFF. Pliki AVI mogą zawierać zarówno dane audio, jak i wideo, obsługuje wielokrotne strumieniowanie audio i wideo. MKV Otwarty standard kontenera. Jest to format pliku, który może przechowywać nieograniczone ilości danych wideo, audio, obrazów, napisów, ścieżek w jednym plik ma to służyć, jako uniwersalny format przechowywania wspólnych treści multimedialnych. W koncepcji Matroska jest podobny do AVI, MP4, czy ASF. MPEG Format wideo standaryzowany przez Moving Picture Experts Group. Często używany do tworzenia filmów umieszczanych w Internecie.
Struktura pliku AVI
Struktura pliku MKV 1. Nagłówek zawiera informacje o wersji EMBL użytej do utworzenia pliku. 3. Zawiera podstawowe informacje odnoszące się do całego pliku (tytuł, id). 5. Lista rozdziałów, dzięki temu można ustalić listę punktów, aby przejść do wideo lub audio. 7 Sekcja zapętlenia danych zawiera indeksy sygnałów każdej ze ścieżek. 8. Sekcja przeznaczona do załączenia pliku o dowolnym typie do pliku mkv. 2. Sekcja zawierająca informacje o rozmieszeniu innych grup danych w pliku. 4. Informacje, czy jest to plik wideo, audio czy plik z napisami oraz jakich wymaga kodeków. 6. Lista klastrów zawierających wszystkie ramki audio i wideo dla każdej ścieżki. 9. Sekcja zawiera wszystkie tagi odnoszące się do pliku i każdego z utworów.
Pliki graficzne JPEG GIF BMP Opis Skompresowany format obrazu ustandaryzowany przez Joint Photographic Experts Group. Powszechnie stosowany do przechowywania cyfrowych zdjęć, obsługuje max 24-bitową głębię koloru. Większość aparatów cyfrowych domyślnie zapisuje zdjęcia w formacie JPG. JPG jest również popularnym formatem grafiki internetowej. Algorytm kompresji JPEG znacznie zmniejsza rozmiar pliku obrazów, jednak używana przez niego kompresja stratna może znacznie obniżyć jakość obrazu przy jej nadmiernym stosowaniu. Plik obrazu, który może zawierać do 256 indeksowanych kolorów. Jest to typowy format grafiki internetowej, w tym również prostych animacji. Nieskompresowany format grafiki rastrowej. Obraz zapisany w tym formacie składa się z prostokątnej siatki pikseli. Plik zbudowany jest z nagłówka (zawierającego informacje o identyfikatorze bitmapy, rozmiarze pliku, szerokości, wysokości, opcji kolorów, danych punktu początkowego bitmapy) oraz bitmapy. BMP może zawierać różne poziomy głębi kolorów na piksel w zależności od liczby bitów na piksel określonej w nagłówku pliku (taka informacja może również być zapisana za pomocą skali szarości).
Struktura pliku JPG
Struktura pliku GIF
Struktura pliku BMP
Archiwa ZIP RAR Opis Plik spakowany przy użyciu kompresji ZIP każdy plik w archiwum jest skompresowany oddzielnie. Format obsługiwany przez większość programów do kompresji/dekompresji plików. Archiwum zawierające jeden lub więcej plików skompresowanych za pomocą własnego algorytmu kompresji RAR (obecnie wykorzystywanego również przez inne kompresory). Wykorzystuje wyższy współczynnik kompresji niż ZIP. Kompresor RAR może także tworzyć łączone lub wieloczęściowe archiwa, które są podzielone na kilka skompresowanych plików.
Struktura pliku ZIP
Programy BAT EXE Opis Plik wsadowy DOS używany do wykonywania poleceń z cmd. Zawiera szereg linii poleceń. Najczęściej używany do uruchomienia programów lub narzędzi systemowych w Windows. Pliki BAT mogą być ręcznie tworzone i edytowane w zwykłym edytorze tekstu. Pliki wykonywalne stworzone dla systemów Windows, DOS lub ReactOS. Ich zawartość nie może być zmieniana, ponieważ zawierają programy po kompilacji. Taki plik może być również samorozpakowującym się archiwum, które wyodrębnia pliki do określonej lokalizacji. Zawartość pliku EXE można ręcznie zbadać za pomocą 7-Zip.
Struktura pliku EXE
System plików Plik jest przechowywany na fizycznym nośniku jako zestaw powiązanych ze sobą bloków. Sposób, w jaki pliki są przechowywane oraz możliwe struktury, na jakie jest dzielony nośnik zależą od systemu operacyjnego i noszą nazwę systemu plików. Podstawowa funkcje systemu plików: otwieranie i zamykanie pliku tworzenie i usuwanie pliku tworzenie i usuwanie folderu odczyt i zapis do pliku
Organizacja danych Dane na nośnikach przechowywane są w postaci bloków blok powinien być zarówno zapisywany, jak i odczytywany w całości. Bloki tworzą strukturę liniową. Blok 0 Blok 1 Blok 2... Blok n Bloki danych łączą się w klastry.
Porównanie wybranych systemów plików: FAT NTFS EXT2 EXT3 EXT4
FAT FAT (ang. File Allocation Table) powstał pod koniec lat 70. i został zastosowany w systemach DOS i Windows. Najważniejszym elementem tego systemu plików jest jednokierunkowa lista alokacji plików, od której pochodzi nazwa systemu.
Rodzaje FAT FAT12 FAT16 FAT32 Maksymalna wielkość pliku 16 MB 2 GB 4 GB Maksymalna liczba klastrów 4077 (212-19) 65517 (216-19) 4294967277 (232-19) Długość najdłuższej nazwy pliku 8+3 Maksymalna pojemność woluminu 16 MB 4 GB 2 TB
Struktura partycji FAT Boot sector FAT Kopia FAT Root directory Data
Bootsector Pierwszy sektor napędu logicznego. Przechowuje informacje o partycji: rozmiar w sektorach, liczbę i wielkość tablic FAT, rozmiar klastra. Jeśli z danego napędu można uruchamiać system, to znajduje się tu również bootstraploader inicjalizujący wczytanie systemu operacyjnego.
Tablica FAT Przechowuje informacje o klastrach. Zapisy w FAT służą do określenia wykorzystania poszczególnych klastrów, mówią do których plików należą klastry i jak je łączyć. Każdy dysk posiada co najmniej jedną kopię tablicy FAT na wypadek uszkodzenia oryginału (kopia jest zapisywana zaraz za oryginałem - istnieje duże prawdopodobieństwo jej uszkodzenia).
Katalog główny Katalog zakładany automatycznie podczas formatowania dysku. Widoczny w postaci znaku \. W tym miejscu zaczyna się obszar plików. W systemie FAT32 katalog jest wpisany do tablicy jako łańcuch klastrów, a jego rozmiar jest z góry definiowany. Początek katalogu jest określony w sektorze startowym.
Obszar danych Pozostały obszar liczby jednostek alokacji dysku po odjęciu części zajętych przez system i katalog główny.
Długie nazwy plików VFAT (ang. Virtual File Allocation Table) jest to rozszerzenie systemu FAT wprowadzone od Windows 95, które pozwala na używanie długich nazw plików do 255 znaków (w tym spacji).
Fragmentacja Dane mogą być porozmieszczane na całym dysku, podobnie jak klastry mogą posiadać różne ścieżki. Zjawisko to nosi nazwę fragmentacji i ze względu na mechaniczne właściwości sprzętu powoduje spadek szybkości dostępu do danych.
Defragmentacja Idealnym rozwiązaniem jest przechowywanie plików w kolejno występujących po sobie klastrach przyspiesza to proces dostępu do danych. Takie działanie nazywamy defragmentacją.
Idea odzyskiwania plików Ścieżki klastrów do odpowiednich plików przechowywane są w tablicy alokacji plików. Na podstawie zawartości tablicy, a także wpisów w katalogu, system jest w stanie zlokalizować dane określonego pliku. Znając adres początku klastra i jego rozmiar możemy próbować odtworzyć pofragmentowany plik. Dużym ułatwieniem jest tu znajomość typu pliku oszczędza to czas przeszukiwania.
EXT2 EXT2 (ang. Second Extended File System) jest linuxowym systemem plików. Został opublikowany w 1993r. jako ulepszona wersja EXT. Główne cechy EXT2: Mechanizm zapobiegający znacznej fragmentacji danych. Obsługuje dowiązania symboliczne, pliki specjalne i prawa dostępu. Stabilny - posiada program naprawiający e2fsck. Wszystkie pola wielobajtowe są zapisane w standardzie little- endian. Maksymalny rozmiar partycji 4TB, pojedynczego pliku 2GB. Maksymalna długość nazwy pliku 255 znaków. Obsługa niekompletnych plików.
Wady Mała efektywność obsługi katalogów, podnoszona przez używanie pamięci podręcznej. Dla bardzo małych plikow osiąga niską wydajność, jest to spowodowane dużymi stratami na alokację i stosunkowo wolny dostęp. Długi czas sprawdzania systemu plików po niepoprawnym zamknięciu systemu.
Struktura fizyczna Partycja systemu plików EXT2 jest podzielona na bloki dyskowe o rozmiarach: 1024, 2048 lub 4096 bajtów. Rozmiary bloków określane są podczas formatowania.
Struktura logiczna Bloki są łączone w grupy. Taki podział przyspiesza dostęp do pliku dzięki zwiększeniu lokalności danych. Grupy są ustalane statycznie w trakcie tworzenia systemu plików.
Superblok Zawiera informacje o systemie plików: Rozmiar bloku. Liczba wszystkich w tym wolnych bloków i i-węzłów. Stan systemu plików czy był zamknięty poprawnie. Licznik zamontowań oraz data ostatniego sprawdzenia dzięki temu można wymusić regularne sprawdzanie integralności danych. Wersja systemu plików trzy różne kategorie rozszerzeń, w zależności od stopnia zgodności. Kopia superbloku jest przechowywana w każdej grupie bloków.
Deskryptory grup Tablica rekordów po jednym dla każdej grupy opisujących dane sumaryczne m.in. liczbę wolnych i-węzłów oraz bloków. W każdej grupie bloków przechowywana jest kopia tablicy deskryptorów.
W skład grupy bloków wchodzą również: Mapa bitowa bloków: zajmuje pojedynczy blok, każdy bit odpowiada jednemu blokowi grupy. Wartość 1 bitu znaczy, że dany blok jest zajęty. Mapa bitowa i-węzłów: opisuje, które i-węzły są zajęte. Tablica i-węzłów: bloki, w ramach których przydzielane są i-węzły. Ich liczba jest ustalana statycznie w trakcie tworzenia systemu plików.
I-węzły I-węzeł opisuje wszystkie atrybuty obiektu zapisanego w systemie plików (oprócz jego nazwy): Dowiązania do bloków danych. Prawa dostępu. Informacje o właścicielu użytkownik, grupa. Typ obiektu, flagi. Rozmiar obiektu i liczba bloków używanych przez obiekt. Data dostępu, modyfikacji, zmiany metadanych oraz usunięcia obiektu. Liczba dowiązań (wpisów katalogu odwołujących się do danego i-węzła). Informacje dodatkowe.
Dowiązania symboliczne Dowiązania symboliczne są specjalnie obsługiwane: jeśli nazwa pliku nie jest dłuższa niż 60 znaków, to zostaje zapisana w samym i-węźle na pozycjach normalnie używanych jako wskaźniki do bloków (zamiast w oddzielnym bloku). Używanie tej techniki daje duży zysk pod względem czasu, dostępu i zużywanego miejsca.
Struktura katalogów Katalogi są plikami które nadają systemowi plików strukturę hierarchiczną. Katalog jest plikiem, którego dane mają postać ciągu pozycji: każda z nich składa się z numeru i węzła i nazwy pliku zawartego w katalogu. Nazwa ścieżki jest ciągiem znaków zakończonym zerem, podzielonym na odrębne części za pomocą /. Jądro zapisuje katalog w taki sam sposób, w jaki zapisuje zwykły plik.
Dodatkowe funkcje EXT2 Konfigurowlany rozmiar bloku. Pewna część bloków i i-węzłów zarezerwowana dla administratora pozwala to zmniejszyć fragmentację. Możliwość wymuszenia synchronicznego zapisu metadanych (kosztem znacznego spadku wydajności). Bezpieczne usuwanie pliku. Pliki niezmienialne (ang. immutable) nie mogą zostać nadpisane ani usunięte. Pliki tylko do dopisywania (ang. append-only) można zapisywać jedynie na ich koniec.
EXT3 System plików EXT3 jest oparty na EXT2 - największą różnicą między nimi jest dodanie tzw. journalingu. EXT3 przeznacza część miejsca na dysku na plik dziennika.
Cechy EXT3 Journalling dziennik skraca czas wstawania systemu po awarii i zmniejsza niebezpieczenstwo utraty danych. Poprawnie odmontowana partycja EXT3 może zostać zamontowana jako partycja EXT2 i odwrotnie. Indeksowanie katalogów. Lista kontroli dostępu.
EXT4 EXT4 jest rozszerzeniem EXT3. Jego własności to: większe limity rozmiaru obsługa extents prealokacja opóźniona alokacja kompatybilność wsteczna
NTFS W systemie NTFS (ang. New Technology File System) wszystko jest traktowane jako plik. Dane dotyczące partycji przechowywane są w zbiorach metaplików. Struktura partycji NTFS: MTF Strefa MTF Wolny obszar Wolny obszar Sektor ładujący Kopia pierwszych rekordów MTF
Sektor ładujący Sektor ładujący (ang. Volume Boot Sector) tworzony jest w pierwszym sektorze partycji NTFS w momencie jej powstawania. Jako jedyna struktura NTFS nie jest plikiem, a jego rola polega na ładowaniu systemu operacyjnego podczas uruchamiania komputera. Składa się z: BIOS Parameter Block przechowującego dane o etykiecie i rozmiarze partycji; Volume Boot Code odpowiadającego za dalsze ładowanie systemu.
Główna tablica plików MFT Jest centralnym elementem całego systemu plików - metaplikiem, który zawiera rekordy bazowe dla wszystkich plików i katalogów znajdujących się na partycji.
Pliki w NTFS W plikach przechowywane są dane, każdy plik jest zbiorem atrybutów. Małe pliki - cały plik przechowywany jest w bazowym rekordzie w MFT (sposób rezydentny). Duże pliki - nagłówek atrybutu danych zawiera wskaźnik do spójnych obszarów dysku przechowujących dane (extents) poza MFT (sposób nierezydentny).
Atrybuty i informacje rekordu MFT Header (H) zawiera numery porządkowe, wskaźniki do atrybutów i wolnych miejsc w rekordzie (nie jest atrybutem). Standard Information Attribute (SI) zawiera standardowe informacje o plikach File Name Attribute (FN) zawiera nazwę pliku. Data Attribute przechowuje dane. Security Descriptor Attribute (SD) zawiera informacje określające prawa dostępu do pliku.
Katalogi w NTFS Katalogi również są traktowane jako pliki. Mają swoje rekordy w MFT. Rekord katalogu przechowuje atrybuty i informacje: Header (H) przechowuje numery porządkowe, wskaźniki do atrybutów katalogu i wolnych miejsc w rekordzie. Standard Information Attribute (SI) zawiera informacje o plikach i katalogach. File Name Attribute (FN) zawiera nazwę katalogu.
Index Root Attribute zawiera aktualny indeks plików danego katalogu. Index Allocation Attribute jeśli indeks jest zbyt duży zawiera wskaźnik do swoich pozostałych części znajdujących się w buforach indeksowych. Security Descriptor Attribute (SD) zawiera informacje określające prawa dostępu do katalogu.
Dziennik zmian Journall udostępnia rejestr zmian dokonywanych w plikach partycji. System NTFS używa go do śledzenia informacji o dodawanych, usuwanych lub modyfikowanych plikach. Każdy wpis ma długość 80 bajtów. Dziennik zmian ma określony limit rozmiaru po jego osiągnięciu usuwana zostaje odpowiednia część najstarszych wpisów.
Prawa dostępu i bezpieczeństwo Prawo Skrót Dla pliku: Dla katalogu: Read R Umożliwia odczyt zawartości pliku. Write W Umożliwia edycję zawartości pliku. Umożliwia odczyt zawartości katalogu. Umożliwia tworzenie podkatalogów, plików. Execute X Zezwala na uruchomienie. Delete D Umożliwia usuniecie pliku. Change Permissions P Umożliwia zmianę ustawień praw do pliku. Take Ownership O Zezwala na stanie się współwłaścicielem pliku. Umożliwia poruszanie po podkatalogach. Umożliwia usunięcie katalogu. Umożliwia zmianę ustawień praw do katalogu. Zezwala na stanie się współwłaścicielem katalogu.
Narzędzia do odzyskiwania danych W przypadku utraconych danych można sięgnąć po skuteczne narzędzia, które pomogą odzyskać utracone zasoby: TestDisk PhotoRec
TestDisk Jest to darmowe narzędzie służące do odzyskiwania danych, głównie utraconych partycji na skutek użycia wadliwego oprogramowania, działania wirusów lub błędów popełnionych przez użytkownika (np. poprzez przypadkowe usunięcie tablicy partycji).
TestDisk - podstawowe funkcje odzyskiwanie utraconych partycji odzyskiwanie sektora rozruchowego FAT32 z jego kopii zapasowej odzyskiwanie sektora rozruchowego NTFS z jego kopii zapasowej odbudowanie sektora rozruchowego FAT12, FAT16 i FAT32 odbudowanie sektora rozruchowego NTFS
PhotoRec Jest to darmowe, wieloplatformowe i funkcjonalne oprogramowanie umożliwiające odzyskiwanie danych głównie z twardych dysków, płyt CD/DVD i kart pamięci, ale również dokumentów, archiwów i plików multimedialnych.
PhotoRec wspiera systemy plików: FAT NTFS EXT2, EXT3, EXT4 HFS+ I jest obsługiwany przez takie systemy operacyjne jak: DOS/Win9x Windows NT 4/2000/XP/2003/Vista/7 Linux
Źródła http://janek.ae.krakow.pl/~wiluszt/zajecia/so/sys temy_plikow.htm http://fileinfo.com/ http://www.dobreprogramy.pl/
Dziękuję za uwagę :)