Struktura logiczna dysku
Z punku widzenia systemu operacyjnego dyski to urządzenia blokowe składające się z adresowalnych sektorów. Sektory są ponumerowane, zaczynając od zera i system operacyjny otrzymuje dostęp do zawartości po podaniu numeru sektora. Tak rozumie dysk komputer i dyski, bez względu na to co mają pod maską muszą się do tego dostosować i przedstawiać swoje zasoby w taki właśnie sposób.
Oczywiście dane na dysku muszą być w jakiś sposób zorganizowane. Zapisywanie plików bezpośrednio do sektorów byłoby dosyć niepraktyczne. Z tego względy dyski twarde dzielone są na partycje zawierające systemy plików.
Jeżeli zdarzyło nam się kiedyś kupić nowy wewnętrzny dysk twardy, zauważyliśmy że zaraz po zakupie jest on zupełnie pusty i niesfromatowany. Gdybyśmy zajrzeli na niego używając programu digital forensics, okazało by się, że jest on wypełniony zerami (przynajmniej w większości przypadków).
Aby móc z niego skorzystać, będziemy musieli:
- Utworzyć tabelę partycji.
- Utworzyć partycje.
- Utworzyć system plików na partycji.
Oprogramowanie umożliwiające wykonanie powyższych operacji, często łączy powyższe czynności razem, co jest udogodnieniem dla użytkownika, ale może zmylić informatyka śledczego.
Dla przykładu w Windowsie po podłączeniu nowego dysku, najpierw należy go zainicjalizować. Inicjalizacja polega na utworzeniu tablicy partycji. W drugim etapie tworzymy partycje, decydujący się ile miejsca powinny zająć i jaki system plików powinien być użyty. Tworzenie partycji jest w tym wypadku połączone z formatowaniem (chociaż można to rozdzielić) i po wykonaniu tej operacji możemy zacząć na nowej partycji zapisywanie plików.
Istotną rzeczą jest zrozumienie, że partycja i system plików to dwie różne struktury, mogące istnieć zarówno razem jak i oddzielnie. Partycja to sposób dzielenia dysku na mniejsze kawałki, a system plików to system umożliwiający zarządzanie plikami i folderami.
Wróćmy jednak do inicjalizacji i tabeli partycji. Obecnie istnieją dwie metody – starsza MBR oraz nowa GPT. Obydwa systemy mają dwa podstawowe zadania:
- Zawierają kod pozwalający na uruchomienie komputera, tak zwany bootloader.
- Zawierają tabelę partycji, czyli definicję podziału partycji na danym dysku.
MBR
MBR czyli Master Boot Record jest metodą używaną praktycznie od zawsze. W dniu dzisiejszym nadal większość dysków używa MBR. Problem pojawił się, kiedy dyski zaczęły przekraczać 2 TB. Tablica partycji w systemie MBR nie jest w stanie ich zaadresować. Twórca nie przewidział, że dyski tak urosną? Być może, jednak był on także limitowany wielkością MBR, gdzie cały kod i tablica partycji musiały zmieścić się w pierwszym sektorze dysku, czyli w 512 bajtach.
MBR nie zmienił się od tego czasu – nadal ma 512 bajtów i znajduje się w pierwszym sektorze dysku.
512 bajtów podzielone jest w następujący sposób:
- 218 bajtów – część pierwsza kodu startowego,
- 6 bajtów – opcjonalny timestamp,
- 216 lub 222 bajtów – część druga kodu startowego,
- 6 bajtów – opcjonalna sygnatura dysku,
- 4 x 16 bajtów – tablica partycji, pozwalająca na cztery wpisy po 16 bajtów. Dlatego właśnie możemy utworzyć jedynie 4 partycje typy primary.
- 2 bajty – sygnatura boot sektora- 0x55 0xAA
Gdy uruchamiamy komputer, BIOS przeprowadza self-test, sprawdza z którego urządzenia (dysku) uruchomić system operacyjny i ładuje do pamięci MBR z tego urządzenia. Kod w MBR zostaje uruchomiony i w przypadku typowej instalacji Windows, przekieruje nas automatycznie do VBR (Volume Boot Record), gdzie kolejna porcja kodu uruchomi Windowsa. Właściwy VBR znaleziony zostanie dzięki tablicy partycji. Zamiast domyślnego bootloadera, w MBR możemy zainstalować inne, na przykład grub lub lilo – w takim wypadku kod MBR wyświetli nam boot menu.
Pamiętać należy, ze podział dysku na partycje nie wymaga żadnych zapisów na przestrzeni dzielonego obszaru. Jedyną i ostateczną instancją jest tabela partycji.
GPT
System GPT (GUID Partition Table) jest następcą MBR i powstał głownie w związku z 2 terabajtowym limitem partycji w tym ostatnim. GPT jest także ściśle powiązany z następcą BIOS-u – UEFI (Extensible Firmware Interface). W nowszych komputerach, zamiast biało- niebieskiego, tekstowego interfejsu BIOS-u, setkniemy się z interfejsem graficznym, w którym możemy używać myszki – to właśnie UEFI.
GPT skonstruowany jest w następujący sposób:
1) W pierwszym sektorze dysku ciągle znajduje się MBR, jednak nie zawiera on prawdziwych danych, Ma on charakter marionetkowy mający na celu zapobiec by stare narzędzia próbowały nadpisać struktury GPT. W marionetkowym MBR znajduje się zawsze jedna ślepa partycja: